From c59b572e934ec501cf7db78d10e36a6cf984b97b Mon Sep 17 00:00:00 2001 From: Kris Katterjohn Date: Mon, 7 Jan 2019 17:28:21 -0600 Subject: [PATCH] Fix tor_ersatz_socketpair on IPv6-only systems In get_local_listener used by tor_ersatz_socketpair, the address family used when binding the IPv6 socket was AF_INET instead of AF_INET6. Fixes bug 28995; bugfix on 0.3.5.1-alpha. Signed-off-by: Kris Katterjohn --- changes/bug28995 | 5 +++++ src/lib/net/socketpair.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changes/bug28995 diff --git a/changes/bug28995 b/changes/bug28995 new file mode 100644 index 0000000000..f76b6a085a --- /dev/null +++ b/changes/bug28995 @@ -0,0 +1,5 @@ + o Minor bugfix (IPv6): + Fix tor_ersatz_socketpair on IPv6-only systems. Previously, + the IPv6 socket was bound using an address family of AF_INET + instead of AF_INET6. Fixes bug 28995; bugfix on 0.3.5.1-alpha. + Patch from Kris Katterjohn. diff --git a/src/lib/net/socketpair.c b/src/lib/net/socketpair.c index 380338f15c..6a21581d87 100644 --- a/src/lib/net/socketpair.c +++ b/src/lib/net/socketpair.c @@ -62,7 +62,7 @@ get_local_listener(int family, int type) len = sizeof(sin); } else { sa = (struct sockaddr *) &sin6; - sin6.sin6_family = AF_INET; + sin6.sin6_family = AF_INET6; sin6.sin6_addr.s6_addr[15] = 1; len = sizeof(sin6); }