[or-cvs] r11215: Add debugging warning to not abort in the case of bug 483. T (in tor/trunk: . src/or)

nickm at seul.org nickm at seul.org
Mon Aug 20 14:59:06 UTC 2007


Author: nickm
Date: 2007-08-20 10:59:05 -0400 (Mon, 20 Aug 2007)
New Revision: 11215

Modified:
   tor/trunk/
   tor/trunk/src/or/connection.c
Log:
 r14722 at catbus:  nickm | 2007-08-20 10:54:29 -0400
 Add debugging warning to not abort in the case of bug 483.  This is probably not an actual error case, so we should figure out what is really causing it and do something more sensible.



Property changes on: tor/trunk
___________________________________________________________________
 svk:merge ticket from /tor/trunk [r14722] on 8246c3cf-6607-4228-993b-4d95d33730f1

Modified: tor/trunk/src/or/connection.c
===================================================================
--- tor/trunk/src/or/connection.c	2007-08-20 11:09:04 UTC (rev 11214)
+++ tor/trunk/src/or/connection.c	2007-08-20 14:59:05 UTC (rev 11215)
@@ -931,7 +931,15 @@
   if (options->ConstrainedSockets)
     set_constrained_socket_buffers(news, (int)options->ConstrainedSockSize);
 
-  tor_assert(((struct sockaddr*)addrbuf)->sa_family == conn->socket_family);
+  if (((struct sockaddr*)addrbuf)->sa_family != conn->socket_family) {
+    log_warn(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),
+             (int)conn->socket_family,
+             (int)((struct sockaddr*)addrbuf)->sa_family);
+    tor_close_socket(news);
+    return 0;
+  }
 
   if (conn->socket_family == AF_INET) {
     if (check_sockaddr_in((struct sockaddr*)addrbuf, remotelen, LOG_INFO)<0) {



More information about the tor-commits mailing list