unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob aea496035d2b7b4a26e7ad35d3939c0de67c7137 1649 bytes (raw)
name: gnu/packages/patches/netcat-openbsd-0010-serialized-handling-multiple-clients.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
From: Aron Xu <aron@debian.org>
Date: Tue, 14 Feb 2012 23:02:00 +0800
Subject: serialized handling multiple clients

---
 netcat.c |   39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

diff --git a/netcat.c b/netcat.c
index 56cc15e..bf9940f 100644
--- a/netcat.c
+++ b/netcat.c
@@ -447,26 +447,24 @@ main(int argc, char *argv[])
 				s = unix_bind(host);
 			else
 				s = unix_listen(host);
-		}
+		} else
+			s = local_listen(host, uport, hints);
+		if (s < 0)
+			err(1, NULL);
+
+		char* local;
+		if (family == AF_INET6)
+			local = ":::";
+		else
+			local = "0.0.0.0";
+		fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
+			host ?: local,
+			family,
+			*uport);

 		/* Allow only one connection at a time, but stay alive. */
 		for (;;) {
-			if (family != AF_UNIX)
-				s = local_listen(host, uport, hints);
-			if (s < 0)
-				err(1, NULL);

-			char* local;
-			if (family == AF_INET6 )
-				local = "0.0.0.0";
-			else if (family == AF_INET)
-				local = ":::";
-			else
-				local = "unknown";
-			fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
-				host ?: local,
-				family,
-				*uport);
 			/*
 			 * For UDP, we will use recvfrom() initially
 			 * to wait for a caller, then use the regular
@@ -536,15 +534,16 @@ main(int argc, char *argv[])
 				close(connfd);
 			}

-			if (family != AF_UNIX)
+			if (kflag)
+				continue;
+			if (family != AF_UNIX) {
 				close(s);
+			}
 			else if (uflag) {
 				if (connect(s, NULL, 0) < 0)
 					err(1, "connect");
 			}
-
-			if (!kflag)
-				break;
+			break;
 		}
 	} else if (family == AF_UNIX) {
 		ret = 0;
--

debug log:

solving 0d3ea68 ...
found 0d3ea68 in https://yhetil.org/guix-devel/20160622000749.GA27984@shadowwalker/

applying [1/1] https://yhetil.org/guix-devel/20160622000749.GA27984@shadowwalker/
diff --git a/gnu/packages/patches/netcat-openbsd-0010-serialized-handling-multiple-clients.patch b/gnu/packages/patches/netcat-openbsd-0010-serialized-handling-multiple-clients.patch
new file mode 100644
index 0000000..0d3ea68

1:20: space before tab in indent.
 				s = unix_bind(host);
1:21: space before tab in indent.
 			else
1:22: space before tab in indent.
 				s = unix_listen(host);
1:39: space before tab in indent.
 		/* Allow only one connection at a time, but stay alive. */
1:40: space before tab in indent.
 		for (;;) {
Checking patch gnu/packages/patches/netcat-openbsd-0010-serialized-handling-multiple-clients.patch...
Applied patch gnu/packages/patches/netcat-openbsd-0010-serialized-handling-multiple-clients.patch cleanly.
warning: squelched 13 whitespace errors
warning: 18 lines add whitespace errors.

skipping https://yhetil.org/guix-devel/20160622000749.GA27984@shadowwalker/ for 0d3ea68
index at:
100644 aea496035d2b7b4a26e7ad35d3939c0de67c7137	gnu/packages/patches/netcat-openbsd-0010-serialized-handling-multiple-clients.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).