unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 78f8687fd8a19948e4d372dff4552d881ee0d3d6 1252 bytes (raw)
name: gnu/packages/patches/netcat-openbsd-udp-scan-timeout.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
From: Aron Xu <aron@debian.org>
Date: Mon, 13 Feb 2012 15:29:37 +0800
Subject: udp scan timeout

---
 netcat.c |   23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

--- a/netcat.c
+++ b/netcat.c
@@ -129,6 +129,8 @@
 #define CONNECTION_FAILED 1
 #define CONNECTION_TIMEOUT 2
 
+#define UDP_SCAN_TIMEOUT 3			/* Seconds */
+
 /* Command Line Options */
 int	dflag;					/* detached, no stdin */
 int	Fflag;					/* fdpass sock to stdout */
@@ -822,7 +824,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) {
@@ -1767,15 +1769,20 @@ build_ports(char *p)
 int
 udptest(int s)
 {
-	int i, ret;
+	int i, t;
 
-	for (i = 0; i <= 3; i++) {
-		if (write(s, "X", 1) == 1)
-			ret = 1;
-		else
-			ret = -1;
+	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

debug log:

solving 78f8687fd8 ...
found 78f8687fd8 in https://yhetil.org/guix-patches/3dfac477-b081-49f4-86b3-2c142bb39f6b@www.fastmail.com/

applying [1/1] https://yhetil.org/guix-patches/3dfac477-b081-49f4-86b3-2c142bb39f6b@www.fastmail.com/
diff --git a/gnu/packages/patches/netcat-openbsd-udp-scan-timeout.patch b/gnu/packages/patches/netcat-openbsd-udp-scan-timeout.patch
new file mode 100644
index 0000000000..78f8687fd8

1:20: trailing whitespace.
 
1:27: space before tab in indent.
 				continue;
1:28: trailing whitespace.
 
1:29: space before tab in indent.
 			ret = 0;
1:32: space before tab in indent.
 				/* For UDP, make sure we are connected. */
Checking patch gnu/packages/patches/netcat-openbsd-udp-scan-timeout.patch...
Applied patch gnu/packages/patches/netcat-openbsd-udp-scan-timeout.patch cleanly.
warning: squelched 5 whitespace errors
warning: 10 lines add whitespace errors.

index at:
100644 78f8687fd8a19948e4d372dff4552d881ee0d3d6	gnu/packages/patches/netcat-openbsd-udp-scan-timeout.patch

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).