Skip to content

Commit a48d064

Browse files
committed
more opt
1 parent 04b6313 commit a48d064

File tree

2 files changed

+28
-16
lines changed

2 files changed

+28
-16
lines changed

runner/runner.go

+10-7
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ func (r *Runner) prepareInput() {
442442
// check if input target host(s) have been provided
443443
if len(r.options.InputTargetHost) > 0 {
444444
for _, target := range r.options.InputTargetHost {
445-
expandedTarget := r.countTargetFromRawTarget(target)
445+
expandedTarget, _ := r.countTargetFromRawTarget(target)
446446
if expandedTarget > 0 {
447447
numHosts += expandedTarget
448448
r.hm.Set(target, nil) //nolint
@@ -603,7 +603,7 @@ func (r *Runner) loadAndCloseFile(finput *os.File) (numTargets int, err error) {
603603
for scanner.Scan() {
604604
target := strings.TrimSpace(scanner.Text())
605605
// Used just to get the exact number of targets
606-
expandedTarget := r.countTargetFromRawTarget(target)
606+
expandedTarget, _ := r.countTargetFromRawTarget(target)
607607
if expandedTarget > 0 {
608608
numTargets += expandedTarget
609609
r.hm.Set(target, nil) //nolint
@@ -613,12 +613,12 @@ func (r *Runner) loadAndCloseFile(finput *os.File) (numTargets int, err error) {
613613
return numTargets, err
614614
}
615615

616-
func (r *Runner) countTargetFromRawTarget(rawTarget string) (numTargets int) {
616+
func (r *Runner) countTargetFromRawTarget(rawTarget string) (numTargets int, err error) {
617617
if rawTarget == "" {
618-
return 0
618+
return 0, nil
619619
}
620620
if _, ok := r.hm.Get(rawTarget); ok {
621-
return 0
621+
return 0, nil
622622
}
623623

624624
expandedTarget := 0
@@ -628,14 +628,17 @@ func (r *Runner) countTargetFromRawTarget(rawTarget string) (numTargets int) {
628628
expandedTarget = int(ipsCount)
629629
}
630630
case asn.IsASN(rawTarget):
631-
cidrs, _ := asn.GetCIDRsForASNNum(rawTarget)
631+
cidrs, err := asn.GetCIDRsForASNNum(rawTarget)
632+
if err != nil {
633+
return 0, err
634+
}
632635
for _, cidr := range cidrs {
633636
expandedTarget += int(mapcidr.AddressCountIpnet(cidr))
634637
}
635638
default:
636639
expandedTarget = 1
637640
}
638-
return expandedTarget
641+
return expandedTarget, nil
639642
}
640643

641644
var (

runner/runner_test.go

+18-9
Original file line numberDiff line numberDiff line change
@@ -128,32 +128,41 @@ func TestRunner_countTargetFromRawTarget(t *testing.T) {
128128

129129
input := "example.com"
130130
expected := 1
131-
got := r.countTargetFromRawTarget(input)
131+
got, err := r.countTargetFromRawTarget(input)
132+
require.Nil(t, err, "could not count targets")
132133
require.Equal(t, expected, got, "got wrong output")
133134

134135
input = "example.com"
135136
expected = 0
136137
err = r.hm.Set(input, nil)
137138
require.Nil(t, err, "could not set value to hm")
138-
got = r.countTargetFromRawTarget(input)
139+
got, err = r.countTargetFromRawTarget(input)
140+
require.Nil(t, err, "could not count targets")
141+
require.Equal(t, expected, got, "got wrong output")
142+
143+
input = "173.0.84.0/24"
144+
expected = 256
145+
got, err = r.countTargetFromRawTarget(input)
146+
require.Nil(t, err, "could not count targets")
139147
require.Equal(t, expected, got, "got wrong output")
140148

141149
input = ""
142150
expected = 0
143-
got = r.countTargetFromRawTarget(input)
151+
got, err = r.countTargetFromRawTarget(input)
152+
require.Nil(t, err, "could not count targets")
144153
require.Equal(t, expected, got, "got wrong output")
145154

146155
if os.Getenv("PDCP_API_KEY") != "" {
147156
input = "AS14421"
148157
expected = 256
149-
got = r.countTargetFromRawTarget(input)
158+
got, err = r.countTargetFromRawTarget(input)
159+
if err != nil && stringsutil.ContainsAnyI(err.Error(), "unauthorized: 401") {
160+
t.Skip("skipping asn test due to missing/invalid api key")
161+
return
162+
}
163+
require.Nil(t, err, "could not count targets")
150164
require.Equal(t, expected, got, "got wrong output")
151165
}
152-
153-
input = "173.0.84.0/24"
154-
expected = 256
155-
got = r.countTargetFromRawTarget(input)
156-
require.Equal(t, expected, got, "got wrong output")
157166
}
158167

159168
func TestRunner_urlWithComma_targets(t *testing.T) {

0 commit comments

Comments
 (0)