diff options
Diffstat (limited to 'network/netcat-openbsd/patches/0007-udp-scan-timeout.patch')
-rw-r--r-- | network/netcat-openbsd/patches/0007-udp-scan-timeout.patch | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/network/netcat-openbsd/patches/0007-udp-scan-timeout.patch b/network/netcat-openbsd/patches/0007-udp-scan-timeout.patch deleted file mode 100644 index c63775a495..0000000000 --- a/network/netcat-openbsd/patches/0007-udp-scan-timeout.patch +++ /dev/null @@ -1,60 +0,0 @@ -From: Aron Xu <aron@debian.org> -Date: Mon, 13 Feb 2012 15:29:37 +0800 -Subject: udp scan timeout - ---- - netcat.c | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -diff --git a/netcat.c b/netcat.c -index 29ecf1a..baab909 100644 ---- a/netcat.c -+++ b/netcat.c -@@ -111,6 +111,8 @@ - #define CONNECTION_FAILED 1 - #define CONNECTION_TIMEOUT 2 - -+#define UDP_SCAN_TIMEOUT 3 /* Seconds */ -+ - /* Command Line Options */ - int Cflag = 0; /* CRLF line-ending */ - int dflag; /* detached, no stdin */ -@@ -497,7 +499,7 @@ main(int argc, char *argv[]) - continue; - - ret = 0; -- if (vflag || zflag) { -+ if (vflag) { - /* For UDP, make sure we are connected. */ - if (uflag) { - if (udptest(s) == -1) { -@@ -1057,15 +1059,20 @@ build_ports(char *p) - int - udptest(int s) - { -- int i, ret; -- -- for (i = 0; i <= 3; i++) { -- if (write(s, "X", 1) == 1) -- ret = 1; -- else -- ret = -1; -+ int i, t; -+ -+ if ((write(s, "X", 1) != 1) || -+ ((write(s, "X", 1) != 1) && (errno == ECONNREFUSED))) -+ return -1; -+ -+ /* Give the remote host some time to reply. */ -+ for (i = 0, t = (timeout == -1) ? UDP_SCAN_TIMEOUT : (timeout / 1000); -+ i < t; i++) { -+ sleep(1); -+ if ((write(s, "X", 1) != 1) && (errno == ECONNREFUSED)) -+ return -1; - } -- return (ret); -+ return 1; - } - - void --- |