[tor-bugs] #11648 [Tor]: Problem parsing .z-compressed descriptors fetched via DirPort

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue May 6 23:24:21 UTC 2014


#11648: Problem parsing .z-compressed descriptors fetched via DirPort
-------------------------+-----------------------
     Reporter:  karsten  |      Owner:
         Type:  defect   |     Status:  new
     Priority:  normal   |  Milestone:
    Component:  Tor      |    Version:
   Resolution:           |   Keywords:  tor-relay
Actual Points:           |  Parent ID:
       Points:           |
-------------------------+-----------------------

Comment (by nickm):

 My guess would be that the stream is ending before it writes out data from
 Z_FINISH.  But when I tried to reproduce this behavior with chutney, I
 couldn't make it happen.

 One possible thing to blame from dirserv.c:
 {{{
       /* XXXX024 This 'last' business should actually happen on the last
        * routerinfo, not on the last fingerprint. */
 }}}

 If that's the case, this will happen some times but not always. It looks
 like it would only happen when the identity of the last router added to
 the big key list turns out not be present... but I'd expect that would be
 pretty rare.  Strange that this would be happening so consistently.

 To actually debug this, one good first step would be to see if you can get
 it to repeat reliably on a test network.

 With respect to the other issues:

 My guess is that the difference between all and the decompressed all.z is
 an artifact of changed information between the first and second requests.
 Probably a different issue, if it's an issue at all.

 My guess is that the low-bandwidth router is refusing to answer because
 of:
 {{{
       if (global_write_bucket_low(TO_CONN(conn), dlen, 2)) {
         log_info(LD_DIRSERV,
                  "Client asked for server descriptors, but we've been "
                  "writing too many bytes lately. Sending 503 Dir busy.");
         write_http_status_line(conn, 503, "Directory busy, try again
 later");
         conn->dir_spool_src = DIR_SPOOL_NONE;
         goto done;
       }
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/11648#comment:15>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list