summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros
diff options
context:
space:
mode:
authorGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-09-06 17:57:27 +0200
committerGravatar Matthias Jaros <jarlucmat@mailbox.org>2026-09-06 17:57:27 +0200
commita3b33e04f362b93615e007dc873de0f394225310 (patch)
treefaa5d96655a5dc45d885868a7d8b610375e5608c /src/main/java/com/it_jaros
parent494ab0c0f23e7084482084e05ced7e29b8f1bc55 (diff)
Cleaned up code
Diffstat (limited to 'src/main/java/com/it_jaros')
-rw-r--r--src/main/java/com/it_jaros/jns/scan/engine/ScanUdpPortTask.java27
-rw-r--r--src/main/java/com/it_jaros/jns/scan/engine/platform/linux/LinuxUdpSocketAPI.java1
2 files changed, 11 insertions, 17 deletions
diff --git a/src/main/java/com/it_jaros/jns/scan/engine/ScanUdpPortTask.java b/src/main/java/com/it_jaros/jns/scan/engine/ScanUdpPortTask.java
index 441fd08..828b61e 100644
--- a/src/main/java/com/it_jaros/jns/scan/engine/ScanUdpPortTask.java
+++ b/src/main/java/com/it_jaros/jns/scan/engine/ScanUdpPortTask.java
@@ -83,7 +83,6 @@ public class ScanUdpPortTask implements Callable<PortResult> {
linuxUdpSocketAPI.setNonBlocking(fd);
linuxUdpSocketAPI.connect(fd, destination);
linuxUdpSocketAPI.sendEmptyDatagram(fd);
-
MemorySegment recvBuffer = arena.allocate(RECV_BUFFER_SIZE);
return recvUntilDeadline(linuxUdpSocketAPI, fd, recvBuffer);
} finally {
@@ -106,26 +105,22 @@ public class ScanUdpPortTask implements Callable<PortResult> {
break;
}
- long bytesRead;
try {
- bytesRead = socketAPI.recv(fd, buffer);
- } catch (RawLinuxSocketException e) {
- final int errno = e.errno;
- if (errno == LinuxUdpSocketAPI.ECONNREFUSED) {
- return PortState.CLOSED;
+ long bytesRead = socketAPI.recv(fd, buffer);
+ if (bytesRead >= 0) {
+ return PortState.OPEN;
}
- if (errno == LinuxUdpSocketAPI.EAGAIN || errno == LinuxUdpSocketAPI.EWOULDBLOCK) {
- // no datagram has arrived yet; keep polling
- bytesRead = -1;
- } else {
- throw new IOException("recv() failed: errno=" + errno);
+ } catch (RawLinuxSocketException e) {
+ switch(e.errno) {
+ case LinuxUdpSocketAPI.ECONNREFUSED:
+ return PortState.CLOSED;
+ case LinuxUdpSocketAPI.EAGAIN:
+ break;
+ default:
+ throw new IOException("recv() failed: errno=" + e.errno);
}
}
- if (bytesRead >= 0) {
- return PortState.OPEN;
- }
-
LockSupport.parkNanos(Math.min(waitInNanos, remainingNanos));
}
diff --git a/src/main/java/com/it_jaros/jns/scan/engine/platform/linux/LinuxUdpSocketAPI.java b/src/main/java/com/it_jaros/jns/scan/engine/platform/linux/LinuxUdpSocketAPI.java
index bfe70d4..9996b85 100644
--- a/src/main/java/com/it_jaros/jns/scan/engine/platform/linux/LinuxUdpSocketAPI.java
+++ b/src/main/java/com/it_jaros/jns/scan/engine/platform/linux/LinuxUdpSocketAPI.java
@@ -14,7 +14,6 @@ public class LinuxUdpSocketAPI {
public static final int AF_INET = 2;
public static final int AF_INET6 = 10;
public static final int EAGAIN = 11;
- public static final int EWOULDBLOCK = 11;
public static final int ECONNREFUSED = 111;
public static final int SOCK_DGRAM = 2;
public static final int F_GETFL = 3;