Fix duplicated nodes in matcher

This commit is contained in:
Christopher Talib 2020-08-28 15:55:43 +02:00
parent 1528c28d7e
commit e8f114edef

View file

@ -204,19 +204,19 @@ Node(func: allofterms(full, $a)) {
time.Sleep(time.Duration(2) * time.Second)
logrus.Info("Found paste match for ", target)
// TODO: review time and id to be updated on new resulsts
for _, res := range n.Result {
if len(matcher.Nodes) == 0 {
matcher.Nodes = append(matcher.Nodes, res)
continue
}
for _, node := range matcher.Nodes {
if res.UID != node.UID {
matcher.Nodes = append(matcher.Nodes, res)
} else {
for _, node := range matcher.Nodes {
if res.UID != node.UID {
matcher.Nodes = append(matcher.Nodes, res)
}
}
}
}
query := fmt.Sprintf(`query { match as var(func: eq(target, "%s")) }`, target)
@ -289,11 +289,11 @@ Node(func: allofterms(cn, $a)){
if len(matcher.Nodes) == 0 {
matcher.Nodes = append(matcher.Nodes, res)
continue
}
for _, nodes := range matcher.Nodes {
if res.UID != nodes.UID {
matcher.Nodes = append(matcher.Nodes, res)
} else {
for _, nodes := range matcher.Nodes {
if res.UID != nodes.UID {
matcher.Nodes = append(matcher.Nodes, res)
}
}
}
}
@ -380,14 +380,15 @@ func runShodanMatcher(target string, graphClient *dgo.Dgraph) {
if len(matcher.Nodes) == 0 {
matcher.Nodes = append(matcher.Nodes, res)
continue
}
for _, node := range matcher.Nodes {
if res.UID != node.UID {
matcher.Nodes = append(matcher.Nodes, res)
} else {
for _, node := range matcher.Nodes {
if res.UID != node.UID {
matcher.Nodes = append(matcher.Nodes, res)
}
}
}
}
query := fmt.Sprintf(`query { match as var(func: eq(target, "%s")) }`, target)