diff options
Diffstat (limited to 'src/main/java/com')
| -rw-r--r-- | src/main/java/com/it_jaros/jns/scan/engine/PortScanResultAccumulator.java | 15 | ||||
| -rw-r--r-- | src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java | 2 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/main/java/com/it_jaros/jns/scan/engine/PortScanResultAccumulator.java b/src/main/java/com/it_jaros/jns/scan/engine/PortScanResultAccumulator.java index 89238ed..e4dfcd7 100644 --- a/src/main/java/com/it_jaros/jns/scan/engine/PortScanResultAccumulator.java +++ b/src/main/java/com/it_jaros/jns/scan/engine/PortScanResultAccumulator.java @@ -33,14 +33,7 @@ final class PortScanResultAccumulator { } final Exception e = portResult.getException(); if (e != null) { - ScanFailure scanFailure = failureCounts.computeIfAbsent( - e.getClass(), - k -> new ScanFailure( - new ArrayList<>(), - ExceptionInfo.from(e) - ) - ); - scanFailure.ports().add(portResult.getPort()); + recordFailure(e, portResult.getPort()); } } @@ -57,4 +50,10 @@ final class PortScanResultAccumulator { getFailureSummary() ); } + + public void recordFailure(Throwable e, int port) { + failureCounts.computeIfAbsent(e.getClass(), + k -> new ScanFailure(new ArrayList<>(), ExceptionInfo.from(e))) + .ports().add(port); + } } diff --git a/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java b/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java index d27cae2..045ba62 100644 --- a/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java +++ b/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java @@ -76,7 +76,7 @@ public class ScanHostTask implements Callable<ScanResult> { if (poll instanceof PollState.Success<PortResult>(PortResult value)) { accumulator.add(value); } else if (poll instanceof PollState.Failure(Throwable error)) { - System.err.printf("scanHostPorts(%s): ScanPortTask() failed with error %s -> %s%n", host, error.getClass().getSimpleName(), error.getMessage()); + accumulator.recordFailure(error, -1); } } catch (InterruptedException ignored) { Thread.currentThread().interrupt(); |
