From: Kris Katterjohn Date: Mon, 7 Jan 2019 23:28:21 +0000 (-0600) Subject: Fix tor_ersatz_socketpair on IPv6-only systems X-Git-Tag: tor-0.3.5.8~23^2^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c59b572e934ec501cf7db78d10e36a6cf984b97b;p=thirdparty%2Ftor.git 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 --- 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); }