[tor-bugs] #1776 [Tor Client]: Allow regular relays to be used as bridges

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Wed Nov 24 16:27:51 UTC 2010


#1776: Allow regular relays to be used as bridges
-------------------------+--------------------------------------------------
  Reporter:  Sebastian   |       Owner:  arma              
      Type:  defect      |      Status:  closed            
  Priority:  major       |   Milestone:  Tor: 0.2.2.x-final
 Component:  Tor Client  |     Version:                    
Resolution:  fixed       |    Keywords:                    
    Parent:              |  
-------------------------+--------------------------------------------------

Comment(by cypherpunks):

 routerlist_assert_ok() is problems :)
 --- routerlist.c        Mon Nov 22 06:06:38 2010
 +++ routerlist.c.punks  Wed Nov 24 16:24:48 2010
 @@ -56,7 +56,8 @@
                                                int with_annotations);
  static void list_pending_downloads(digestmap_t *result,
                                     int purpose, const char *prefix);
 -
 +static void routerlist_remove_old(routerlist_t *rl, signed_descriptor_t
 *sd,
 +                                  int idx);
  DECLARE_TYPED_DIGESTMAP_FNS(sdmap_, digest_sd_map_t, signed_descriptor_t)
  DECLARE_TYPED_DIGESTMAP_FNS(rimap_, digest_ri_map_t, routerinfo_t)
  DECLARE_TYPED_DIGESTMAP_FNS(eimap_, digest_ei_map_t, extrainfo_t)
 @@ -2796,11 +2797,6 @@
    sd_old = sdmap_set(rl->desc_digest_map,
                       ri->cache_info.signed_descriptor_digest,
                       &(ri->cache_info));
 -  if (sd_old) {
 -    rl->desc_store.bytes_dropped += sd_old->signed_descriptor_len;
 -    sdmap_remove(rl->desc_by_eid_map, sd_old->extra_info_digest);
 -    signed_descriptor_free(sd_old);
 -  }

    if (!tor_digest_is_zero(ri->cache_info.extra_info_digest))
      sdmap_set(rl->desc_by_eid_map, ri->cache_info.extra_info_digest,
 @@ -2808,6 +2804,9 @@
    smartlist_add(rl->routers, ri);
    ri->cache_info.routerlist_index = smartlist_len(rl->routers) - 1;
    nodelist_add_routerinfo(ri);
 +  if (sd_old) {
 +    routerlist_remove_old(rl, sd_old, -1);
 +  }
    router_dir_info_changed();
  #ifdef DEBUG_ROUTERLIST
    routerlist_assert_ok(rl);

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


More information about the tor-bugs mailing list