mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
r15619@catbus: nickm | 2007-10-10 00:23:45 -0400
Fix bug 483: downgrade a harmless "Hey your accept() implementation sucks" warning to an info. svn:r11828
This commit is contained in:
@@ -51,6 +51,10 @@ Changes in version 0.2.0.8-alpha - 2007-??-??
|
||||
advantage of 64-bit platforms and to remove some possibly-costly
|
||||
voodoo.
|
||||
|
||||
o Minor bugfixes (portability):
|
||||
- On some platforms, accept() can return a broken address. Detect
|
||||
this more quietly, and deal accordingly. (Fixes bug 483.)
|
||||
|
||||
o Code simplifications and refactoring:
|
||||
- Make a bunch of functions static. Remove some dead code.
|
||||
- Pull out about a third of the really big routerlist.c; put it in a
|
||||
|
||||
+5
-3
@@ -899,7 +899,7 @@ connection_handle_listener_read(connection_t *conn, int new_type)
|
||||
struct sockaddr_in remote;
|
||||
char addrbuf[256];
|
||||
/* length of the remote address. Must be whatever accept() needs. */
|
||||
socklen_t remotelen = 256;
|
||||
socklen_t remotelen = sizeof(addrbuf);
|
||||
char tmpbuf[INET_NTOA_BUF_LEN];
|
||||
or_options_t *options = get_options();
|
||||
|
||||
@@ -932,9 +932,11 @@ connection_handle_listener_read(connection_t *conn, int new_type)
|
||||
set_constrained_socket_buffers(news, (int)options->ConstrainedSockSize);
|
||||
|
||||
if (((struct sockaddr*)addrbuf)->sa_family != conn->socket_family) {
|
||||
log_warn(LD_BUG, "A listener connection returned a socket with a "
|
||||
/* This is annoying, but can apparently happen on some Darwins. */
|
||||
log_info(LD_BUG, "A listener connection returned a socket with a "
|
||||
"mismatched family. %s for addr_family %d gave us a socket "
|
||||
"with address family %d.", conn_type_to_string(conn->type),
|
||||
"with address family %d. Dropping.",
|
||||
conn_type_to_string(conn->type),
|
||||
(int)conn->socket_family,
|
||||
(int)((struct sockaddr*)addrbuf)->sa_family);
|
||||
tor_close_socket(news);
|
||||
|
||||
Reference in New Issue
Block a user