summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-08-21 18:46:11 +0200
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-08-21 20:36:14 +0200
commit04af03d2a849fa8d51606202240ffa8fde266d1d (patch)
treef9da6c5f37ddc368df17f88c6c03f47f1a04a541 /src/main/java/com/it_jaros
parentaeb4b5ff81d997c432a421eeb36b019884745104 (diff)
Moved exception HelpRequested from cliparser into App to make it more
obvious what happens.
Diffstat (limited to 'src/main/java/com/it_jaros')
-rw-r--r--src/main/java/com/it_jaros/jns/App.java8
-rw-r--r--src/main/java/com/it_jaros/jns/CliParser.java10
-rw-r--r--src/main/java/com/it_jaros/jns/scan/ScanOptions.java3
3 files changed, 14 insertions, 7 deletions
diff --git a/src/main/java/com/it_jaros/jns/App.java b/src/main/java/com/it_jaros/jns/App.java
index 794d149..7573053 100644
--- a/src/main/java/com/it_jaros/jns/App.java
+++ b/src/main/java/com/it_jaros/jns/App.java
@@ -51,8 +51,12 @@ public class App {
private static ScanOptions parseOptions(String[] args) {
CliParser cliParser = new CliParser();
try {
- return cliParser.parseArgs(args);
- } catch (IllegalArgumentException e) {
+ ScanOptions scanOptions = cliParser.parseArgs(args);
+ if (scanOptions.help()) {
+ throw new HelpRequested();
+ }
+ return scanOptions;
+ } catch (IllegalArgumentException | HelpRequested e) {
cliParser.printUsageHelp();
throw e;
}
diff --git a/src/main/java/com/it_jaros/jns/CliParser.java b/src/main/java/com/it_jaros/jns/CliParser.java
index 191dd29..ea16a1e 100644
--- a/src/main/java/com/it_jaros/jns/CliParser.java
+++ b/src/main/java/com/it_jaros/jns/CliParser.java
@@ -19,13 +19,14 @@ public class CliParser {
String ports = CliDefaults.PORTS;
boolean bannerRecognition = CliDefaults.BANNER_RECOGNITION;
boolean disableOnlineCheck = CliDefaults.DISABLE_HOST_CHECK;
+ boolean help = false;
boolean quiet = CliDefaults.QUIET;
boolean showFilteredPorts = CliDefaults.SHOW_FILTERED_PORTS;
int delayInMillis = CliDefaults.DELAY_IN_MILLIS;
int hostsLimit = CliDefaults.MAX_HOSTS_LIMIT;
- int workersPerHostLimit = CliDefaults.MAX_WORKERS_PER_HOST;
int socketLimit = CliDefaults.SOCKET_LIMIT;
int timeoutInMillis = CliDefaults.TIMEOUT_IN_MILLIS;
+ int workersPerHostLimit = CliDefaults.MAX_WORKERS_PER_HOST;
for (int i = 0; i < args.length; i++) {
final String currentArg = args[i];
@@ -45,8 +46,8 @@ public class CliParser {
disableOnlineCheck = true;
break;
case "--help", "-h":
- printUsageHelp();
- throw new HelpRequested();
+ help = true;
+ break;
case "--input", "-i":
hostsFile = getArgument(args, ++i, currentArg);
break;
@@ -92,7 +93,8 @@ public class CliParser {
hostsLimit,
workersPerHostLimit,
socketLimit,
- timeoutInMillis
+ timeoutInMillis,
+ help
);
}
diff --git a/src/main/java/com/it_jaros/jns/scan/ScanOptions.java b/src/main/java/com/it_jaros/jns/scan/ScanOptions.java
index b6aeae2..d6035c7 100644
--- a/src/main/java/com/it_jaros/jns/scan/ScanOptions.java
+++ b/src/main/java/com/it_jaros/jns/scan/ScanOptions.java
@@ -14,5 +14,6 @@ public record ScanOptions(
int maxHostsLimit,
int maxWorkersPerHost,
int socketLimit,
- int timeoutInMillis
+ int timeoutInMillis,
+ boolean help
) {}