time you use a given introduction point for your service, but
on subsequent requests we'd be using garbage memory. Fixed by
Karsten Loesing. Bugfix on 0.2.0.12-alpha.
+ - Fix a crash when we load a bridge descriptor from disk but we don't
+ currently have a Bridge line for it in our torrc. Bugfix on
+ 0.2.0.12-alpha.
o Minor bugfixes:
- Make the unit tests build again.
static void
bridge_fetch_status_arrived(bridge_info_t *bridge, time_t now)
{
+ tor_assert(bridge);
bridge->fetch_status.next_attempt_at = now+60*60;
bridge->fetch_status.n_download_failures = 0;
}
time_t now = time(NULL);
ri->is_running = 1;
- /* it's here; schedule its re-fetch for a long time from now. */
- bridge_fetch_status_arrived(bridge, now);
+ if (bridge) { /* if we actually want to use this one */
+ /* it's here; schedule its re-fetch for a long time from now. */
+ bridge_fetch_status_arrived(bridge, now);
- add_an_entry_guard(ri, 1);
- log_notice(LD_DIR, "new bridge descriptor '%s'", ri->nickname);
- if (first)
- routerlist_retry_directory_downloads(now);
+ add_an_entry_guard(ri, 1);
+ log_notice(LD_DIR, "new bridge descriptor '%s'", ri->nickname);
+ if (first)
+ routerlist_retry_directory_downloads(now);
+ }
}
}
digestmap_free(retain, NULL);
}
-/** We just added a new descriptor that isn't of purpose
- * ROUTER_PURPOSE_GENERAL. Take whatever extra steps we need. */
+/** We just added a new set of descriptors. Take whatever extra steps
+ * we need. */
static void
routerlist_descriptors_added(smartlist_t *sl)
{