diff --git a/ChangeLog b/ChangeLog index 6d12976fd5..44fa7ff0d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,8 @@ Changes in version 0.1.2.8-alpha - 2007-??-?? - Warn the user when an application uses the obsolete binary v0 control protocol. We're planning to remove support for it during the next development series, so it's good to give people some advance warning. + - Remove some never-implemented options. Mark PathlenCoinWeight as + obsolete. Changes in version 0.1.2.7-alpha - 2007-02-06 diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 521302a376..6f3736b9aa 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -998,14 +998,12 @@ onionskin_answer(or_circuit_t *circ, uint8_t cell_type, const char *payload, * is feasible, except if it's less than 2, in which case return -1. */ static int -new_route_len(double cw, uint8_t purpose, extend_info_t *exit, +new_route_len(uint8_t purpose, extend_info_t *exit, smartlist_t *routers) { int num_acceptable_routers; int routelen; - tor_assert(cw >= 0.); - tor_assert(cw < 1.); tor_assert(routers); #ifdef TOR_PERF @@ -1354,8 +1352,7 @@ onion_pick_cpath_exit(origin_circuit_t *circ, extend_info_t *exit) log_debug(LD_CIRC, "Launching a one-hop circuit for dir tunnel."); state->desired_path_len = 1; } else { - int r = new_route_len(get_options()->PathlenCoinWeight, - circ->_base.purpose, exit, rl->routers); + int r = new_route_len(circ->_base.purpose, exit, rl->routers); if (r < 1) /* must be at least 1 */ return -1; state->desired_path_len = r; diff --git a/src/or/config.c b/src/or/config.c index 962752cf0b..0d4832540e 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -207,8 +207,7 @@ static config_var_t _option_vars[] = { VAR("ORListenAddress", LINELIST, ORListenAddress, NULL), VAR("ORPort", UINT, ORPort, "0"), VAR("OutboundBindAddress", STRING, OutboundBindAddress, NULL), - /* XXXX012 mark this obsolete? Warn if it's set? */ - VAR("PathlenCoinWeight", DOUBLE, PathlenCoinWeight, "0.3"), + OBSOLETE("PathlenCoinWeight"), VAR("PidFile", STRING, PidFile, NULL), VAR("PreferTunneledDirConns", BOOL, PreferTunneledDirConns, "0"), VAR("ProtocolWarnings", BOOL, ProtocolWarnings, "0"), @@ -221,9 +220,6 @@ static config_var_t _option_vars[] = { VAR("RecommendedClientVersions", LINELIST, RecommendedClientVersions, NULL), VAR("RecommendedServerVersions", LINELIST, RecommendedServerVersions, NULL), VAR("RedirectExit", LINELIST, RedirectExit, NULL), - /* XXXX012 These aren't implemented. Take them out for now? */ - VAR("RelayBandwidthBurst", MEMUNIT, RelayBandwidthBurst, "0"), - VAR("RelayBandwidthRate", MEMUNIT, RelayBandwidthRate, "0"), VAR("RendExcludeNodes", STRING, RendExcludeNodes, NULL), VAR("RendNodes", STRING, RendNodes, NULL), VAR("RendPostPeriod", INTERVAL, RendPostPeriod, "1 hour"), @@ -2611,9 +2607,11 @@ options_validate(or_options_t *old_options, or_options_t *options, }); } +#if 0 if (options->SocksPort >= 1 && (options->PathlenCoinWeight < 0.0 || options->PathlenCoinWeight >= 1.0)) REJECT("PathlenCoinWeight option must be >=0.0 and <1.0."); +#endif if (options->RendPostPeriod < MIN_REND_POST_PERIOD) { log(LOG_WARN,LD_CONFIG,"RendPostPeriod option must be at least %d seconds." diff --git a/src/or/connection.c b/src/or/connection.c index 8dcee806e0..5edb5b6572 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -477,9 +477,8 @@ connection_about_to_close_connection(connection_t *conn) conn->marked_for_close_file, conn->marked_for_close); } if (!edge_conn->end_reason) { - // XXXX012 Disable this before 0.1.2.x-final ships. log_warn(LD_BUG,"Bug: Closing stream (marked at %s:%d) without having" - " set end_reason. Please tell Nick.", + " set end_reason.", conn->marked_for_close_file, conn->marked_for_close); } control_event_stream_status(edge_conn, STREAM_EVENT_CLOSED, @@ -2385,7 +2384,7 @@ assert_connection_ok(connection_t *conn, time_t now) if (conn->hold_open_until_flushed) tor_assert(conn->marked_for_close); - /* XXXX012 check: wants_to_read, wants_to_write, s, conn_array_index, + /* XXXX check: wants_to_read, wants_to_write, s, conn_array_index, * marked_for_close. */ /* buffers */ @@ -2394,7 +2393,7 @@ assert_connection_ok(connection_t *conn, time_t now) assert_buf_ok(conn->outbuf); } - /* XXXX012 Fix this; no longer so.*/ + /* XXXX Fix this; no longer so.*/ #if 0 if (conn->type != CONN_TYPE_OR && conn->type != CONN_TYPE_DIR) tor_assert(!conn->pkey); diff --git a/src/or/dns.c b/src/or/dns.c index e95ce32733..26cc1ede62 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -320,20 +320,12 @@ void dns_free_all(void) { cached_resolve_t **ptr, **next, *item; + assert_cache_ok(); if (cached_resolve_pqueue) { SMARTLIST_FOREACH(cached_resolve_pqueue, cached_resolve_t *, res, { - /* XXXX012 The hash lookups here could be quite slow; remove them - * once we're happy. (Leave them in for at least 0.1.2.7-alpha, so they - * get some testing.) -NM */ - if (res->state == CACHE_STATE_DONE) { - cached_resolve_t *found = HT_FIND(cache_map, &cache_root, res); - tor_assert(!found || found != res); + if (res->state == CACHE_STATE_DONE) _free_cached_resolve(res); - } else { - cached_resolve_t *found = HT_FIND(cache_map, &cache_root, res); - tor_assert(found); - } }); } for (ptr = HT_START(cache_map, &cache_root); ptr != NULL; ptr = next) { @@ -2032,6 +2024,17 @@ _assert_cache_ok(void) smartlist_pqueue_assert_ok(cached_resolve_pqueue, _compare_cached_resolves_by_expiry); + + SMARTLIST_FOREACH(cached_resolve_pqueue, cached_resolve_t *, res, + { + if (res->state == CACHE_STATE_DONE) { + cached_resolve_t *found = HT_FIND(cache_map, &cache_root, res); + tor_assert(!found || found != res); + } else { + cached_resolve_t *found = HT_FIND(cache_map, &cache_root, res); + tor_assert(found); + } + }); } #endif diff --git a/src/or/or.h b/src/or/or.h index 96f12dc873..0f529d56fe 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -1610,8 +1610,6 @@ typedef struct { int DirAllowPrivateAddresses; char *User; /**< Name of user to run Tor as. */ char *Group; /**< Name of group to run Tor as. */ - double PathlenCoinWeight; /**< Parameter used to configure average path - * length (alpha in geometric distribution). */ int ORPort; /**< Port to listen on for OR connections. */ int SocksPort; /**< Port to listen on for SOCKS connections. */ /** Port to listen on for transparent pf/netfilter connections. */ @@ -1683,10 +1681,6 @@ typedef struct { * to use in a second? */ uint64_t MaxAdvertisedBandwidth; /**< How much bandwidth are we willing to * tell people we have? */ - uint64_t RelayBandwidthRate; /**< How much bandwidth, on average, are we - * willing to use for all relayed conns? */ - uint64_t RelayBandwidthBurst; /**< How much bandwidth, at maximum, will we - * use in a second for all relayed conns? */ int NumCpus; /**< How many CPUs should we try to use? */ int RunTesting; /**< If true, create testing circuits to measure how well the * other ORs are running. */