[tor-commits] [tor/master] Fix tor_ersatz_socketpair on IPv6-only systems

nickm at torproject.org nickm at torproject.org
Wed Jan 9 14:38:31 UTC 2019


commit c59b572e934ec501cf7db78d10e36a6cf984b97b
Author: Kris Katterjohn <katterjohn at gmail.com>
Date:   Mon Jan 7 17:28:21 2019 -0600

    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 <katterjohn at gmail.com>
---
 changes/bug28995         | 5 +++++
 src/lib/net/socketpair.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/changes/bug28995 b/changes/bug28995
new file mode 100644
index 000000000..f76b6a085
--- /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 380338f15..6a21581d8 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);
   }





More information about the tor-commits mailing list