Browse Source

don't lie about bootstrap progress when clients use bridges

we were listing 50% as soon as we got a bridge's relay descriptor,
even if we didn't have any consensus, certificates, etc yet.
Roger Dingledine 10 years ago
parent
commit
5f13ae4b03
3 changed files with 9 additions and 4 deletions
  1. 3 0
      changes/bug9922
  2. 3 2
      src/or/directory.c
  3. 3 2
      src/or/relay.c

+ 3 - 0
changes/bug9922

@@ -0,0 +1,3 @@
+  o Minor bugfixes:
+    - When clients use bridges, [...] Fixes bug 9922; bugfix on [...]
+

+ 3 - 2
src/or/directory.c

@@ -1639,8 +1639,9 @@ load_downloaded_routers(const char *body, smartlist_t *which,
 
   added = router_load_routers_from_string(body, NULL, SAVED_NOWHERE, which,
                                   descriptor_digests, buf);
-  control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS,
-                          count_loading_descriptors_progress());
+  if (general)
+    control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS,
+                            count_loading_descriptors_progress());
   return added;
 }
 

+ 3 - 2
src/or/relay.c

@@ -1106,8 +1106,9 @@ connection_edge_process_relay_cell_not_open(
           control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_STATUS, 0);
           break;
         case DIR_PURPOSE_FETCH_SERVERDESC:
-          control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS,
-                                  count_loading_descriptors_progress());
+          if (TO_DIR_CONN(dirconn)->router_purpose == ROUTER_PURPOSE_GENERAL)
+            control_event_bootstrap(BOOTSTRAP_STATUS_LOADING_DESCRIPTORS,
+                                    count_loading_descriptors_progress());
           break;
       }
     }