Browse Source

support IP/24

Ewan Chou 11 years ago
parent
commit
2223ff8877
2 changed files with 5 additions and 2 deletions
  1. 4 1
      targeting.go
  2. 1 1
      targeting_test.go

+ 4 - 1
targeting.go

@@ -37,7 +37,10 @@ func (t TargetOptions) GetTargets(ip net.IP) ([]string, int) {
 	}
 
 	if t&TargetIP > 0 {
-		targets = append(targets, ip.String())
+		ipStr := ip.String()
+		targets = append(targets, ipStr)
+		dotIndex := strings.LastIndex(ipStr, ".")
+		targets = append(targets, ipStr[:dotIndex] + ".0")
 	}
 
 	if t&TargetASN > 0 && len(asn) > 0 {

+ 1 - 1
targeting_test.go

@@ -61,5 +61,5 @@ func (s *TargetingSuite) TestGetTargets(c *C) {
 
 	tgt, _ = parseTargets("@ continent regiongroup country region asn ip")
 	targets, _ = tgt.GetTargets(ip)
-	c.Check(targets, DeepEquals, []string{"207.171.7.51", "as53582", "us-ca", "us-west", "us", "north-america", "@"})
+	c.Check(targets, DeepEquals, []string{"207.171.7.51", "207.171.7.0", "as53582", "us-ca", "us-west", "us", "north-america", "@"})
 }