Browse Source

Send a bootstrap problem "warn" event on the first problem if the
reason is NO_ROUTE (that is, our network is down).


svn:r15443

Roger Dingledine 16 years ago
parent
commit
aec928e0b6
3 changed files with 10 additions and 3 deletions
  1. 4 0
      ChangeLog
  2. 5 2
      src/or/control.c
  3. 1 1
      src/or/directory.c

+ 4 - 0
ChangeLog

@@ -1,4 +1,8 @@
 Changes in version 0.2.1.3-alpha - 2008-06-xx
+  o Bootstrapping bugfixes (on 0.2.1.x-alpha):
+    - Send a bootstrap problem "warn" event on the first problem if the
+      reason is NO_ROUTE (that is, our network is down).
+
   o Minor bugfixes:
     - Change the contrib/tor.logrotate script so it makes the new
       logs as "_tor:_tor" rather than the default, which is generally

+ 5 - 2
src/or/control.c

@@ -3828,8 +3828,8 @@ control_event_bootstrap(bootstrap_status_t status, int progress)
   if (status > bootstrap_percent ||
       (progress && progress > bootstrap_percent)) {
     bootstrap_status_to_string(status, &tag, &summary);
-    log_notice(LD_CONTROL, "Bootstrapped %d%%: %s.",
-               progress ? progress : status, summary);
+    log(status ? LOG_NOTICE : LOG_INFO, LD_CONTROL,
+        "Bootstrapped %d%%: %s.", progress ? progress : status, summary);
     tor_snprintf(buf, sizeof(buf),
         "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"",
         progress ? progress : status, tag, summary);
@@ -3868,6 +3868,9 @@ control_event_bootstrap_problem(const char *warn, int reason)
   if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD)
     recommendation = "warn";
 
+  if (reason == END_OR_CONN_REASON_NO_ROUTE)
+    recommendation = "warn";
+
   if (get_options()->UseBridges &&
       !any_bridge_descriptors_known() &&
       !any_pending_bridge_descriptor_fetches())

+ 1 - 1
src/or/directory.c

@@ -588,7 +588,7 @@ connection_dir_download_routerdesc_failed(dir_connection_t *conn)
    * it's not their fault. */
 
   /* No need to relaunch descriptor downloads here: we already do it
-   * every 10 seconds (DESCRIPTOR_RETRY_INTERVAL) in main.c. */
+   * every 10 or 60 seconds (FOO_DESCRIPTOR_RETRY_INTERVAL) in main.c. */
   tor_assert(conn->_base.purpose == DIR_PURPOSE_FETCH_SERVERDESC ||
              conn->_base.purpose == DIR_PURPOSE_FETCH_EXTRAINFO);