Sfoglia il codice sorgente

Merge remote-tracking branch 'teor/bug29015'

Nick Mathewson 5 anni fa
parent
commit
99947c3ce0
2 ha cambiato i file con 9 aggiunte e 2 eliminazioni
  1. 3 1
      src/lib/net/socket.c
  2. 6 1
      src/lib/net/socketpair.c

+ 3 - 1
src/lib/net/socket.c

@@ -458,7 +458,9 @@ get_n_open_sockets(void)
  * localhost is inaccessible (for example, if the networking
  * stack is down). And even if it succeeds, the socket pair will not
  * be able to read while localhost is down later (the socket pair may
- * even close, depending on OS-specific timeouts).
+ * even close, depending on OS-specific timeouts). The socket pair
+ * should work on IPv4-only, IPv6-only, and dual-stack systems, as long
+ * as they have the standard localhost addresses.
  *
  * Returns 0 on success and -errno on failure; do not rely on the value
  * of errno or WSAGetLastError().

+ 6 - 1
src/lib/net/socketpair.c

@@ -105,7 +105,12 @@ sockaddr_eq(struct sockaddr *sa1, struct sockaddr *sa2)
 /**
  * Helper used to implement socketpair on systems that lack it, by
  * making a direct connection to localhost.
- */
+ *
+ * See tor_socketpair() for details.
+ *
+ * The direct connection defaults to IPv4, but falls back to IPv6 if
+ * IPv4 is not supported.
+ **/
 int
 tor_ersatz_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
 {