[or-cvs] When we get an EOF or a timeout on a directory connection, ...

Nick Mathewson nickm at seul.org
Tue Oct 4 22:34:11 UTC 2005


Update of /home/or/cvsroot/tor/src/or
In directory moria:/tmp/cvs-serv14541/src/or

Modified Files:
	directory.c main.c 
Log Message:
When we get an EOF or a timeout on a directory connection, note how many bytes of serverdesc we are dropping. This will help us determine whether it is smart to parse incomplete serverdesc responses.

Index: directory.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/directory.c,v
retrieving revision 1.298
retrieving revision 1.299
diff -u -d -r1.298 -r1.299
--- directory.c	30 Sep 2005 20:04:55 -0000	1.298
+++ directory.c	4 Oct 2005 22:34:09 -0000	1.299
@@ -1111,6 +1111,12 @@
   int retval;
   if (conn->state != DIR_CONN_STATE_CLIENT_READING) {
     log_fn(LOG_INFO,"conn reached eof, not reading. Closing.");
+    /* This check is temporary; it's to let us know whether we should consider
+     * parsing partial serverdesc responses. */
+    if (conn->purpose == DIR_PURPOSE_FETCH_SERVERDESC) {
+      log_fn(LOG_NOTICE, "Reached EOF while downloading server descriptors; dropping %d bytes.",
+             buf_datalen(conn->inbuf));
+    }
     connection_close_immediate(conn); /* it was an error; give up on flushing */
     connection_mark_for_close(conn);
     return -1;

Index: main.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/main.c,v
retrieving revision 1.565
retrieving revision 1.566
diff -u -d -r1.565 -r1.566
--- main.c	3 Oct 2005 20:20:38 -0000	1.565
+++ main.c	4 Oct 2005 22:34:09 -0000	1.566
@@ -575,6 +575,12 @@
       conn->timestamp_lastwritten + 5*60 < now) {
     log_fn(LOG_INFO,"Expiring wedged directory conn (fd %d, purpose %d)",
            conn->s, conn->purpose);
+    /* This check is temporary; it's to let us know whether we should consider
+     * parsing partial serverdesc responses. */
+    if (conn->purpose == DIR_PURPOSE_FETCH_SERVERDESC) {
+      log_fn(LOG_NOTICE, "Expired wedged directory conn was downloading server descriptors; dropping %d bytes.",
+             buf_datalen(conn->inbuf));
+    }
     connection_mark_for_close(conn);
     return;
   }



More information about the tor-commits mailing list