Merge remote-tracking branch 'public/bug3022_v2' into maint-0.2.2

This commit is contained in:
Nick Mathewson 2011-05-09 13:37:56 -04:00
commit 09d7af7789
6 changed files with 18 additions and 2 deletions

6
changes/bug3022 Normal file
View file

@ -0,0 +1,6 @@
o Removed features
- Caches no longer download and serve v2 networkstatus documents
unless FetchV2Networkstatus flag is set: these documents haven't
haven't been used by clients or relays since 0.2.0.x. Resolves
bug 3022.

View file

@ -1171,6 +1171,12 @@ if DirPort is non-zero):
Set an entrance policy for this server, to limit who can connect to the Set an entrance policy for this server, to limit who can connect to the
directory ports. The policies have the same form as exit policies above. directory ports. The policies have the same form as exit policies above.
**FetchV2Networkstatus** **0**|**1**::
If set, we try to fetch the (obsolete, unused) version 2 network status
consensus documents from the directory authorities. No currently
supported Tor version uses them. (Default: 0.)
DIRECTORY AUTHORITY SERVER OPTIONS DIRECTORY AUTHORITY SERVER OPTIONS
---------------------------------- ----------------------------------

View file

@ -255,6 +255,7 @@ static config_var_t _option_vars[] = {
V(FetchServerDescriptors, BOOL, "1"), V(FetchServerDescriptors, BOOL, "1"),
V(FetchHidServDescriptors, BOOL, "1"), V(FetchHidServDescriptors, BOOL, "1"),
V(FetchUselessDescriptors, BOOL, "0"), V(FetchUselessDescriptors, BOOL, "0"),
V(FetchV2Networkstatus, BOOL, "0"),
#ifdef WIN32 #ifdef WIN32
V(GeoIPFile, FILENAME, "<default>"), V(GeoIPFile, FILENAME, "<default>"),
#else #else

View file

@ -353,6 +353,7 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
break; break;
case DIR_PURPOSE_FETCH_V2_NETWORKSTATUS: case DIR_PURPOSE_FETCH_V2_NETWORKSTATUS:
type = V2_AUTHORITY; type = V2_AUTHORITY;
prefer_authority = 1; /* Only v2 authorities have these anyway. */
break; break;
case DIR_PURPOSE_FETCH_SERVERDESC: case DIR_PURPOSE_FETCH_SERVERDESC:
type = (router_purpose == ROUTER_PURPOSE_BRIDGE ? BRIDGE_AUTHORITY : type = (router_purpose == ROUTER_PURPOSE_BRIDGE ? BRIDGE_AUTHORITY :

View file

@ -1356,7 +1356,7 @@ update_networkstatus_downloads(time_t now)
or_options_t *options = get_options(); or_options_t *options = get_options();
if (should_delay_dir_fetches(options)) if (should_delay_dir_fetches(options))
return; return;
if (directory_fetches_dir_info_early(options)) if (authdir_mode_any_main(options) || options->FetchV2Networkstatus)
update_v2_networkstatus_cache_downloads(now); update_v2_networkstatus_cache_downloads(now);
update_consensus_networkstatus_downloads(now); update_consensus_networkstatus_downloads(now);
update_certificate_downloads(now); update_certificate_downloads(now);

View file

@ -2489,7 +2489,9 @@ typedef struct {
/** Boolean: do we publish hidden service descriptors to the HS auths? */ /** Boolean: do we publish hidden service descriptors to the HS auths? */
int PublishHidServDescriptors; int PublishHidServDescriptors;
int FetchServerDescriptors; /**< Do we fetch server descriptors as normal? */ int FetchServerDescriptors; /**< Do we fetch server descriptors as normal? */
int FetchHidServDescriptors; /** and hidden service descriptors? */ int FetchHidServDescriptors; /**< and hidden service descriptors? */
int FetchV2Networkstatus; /**< Do we fetch v2 networkstatus documents when
* we don't need to? */
int HidServDirectoryV2; /**< Do we participate in the HS DHT? */ int HidServDirectoryV2; /**< Do we participate in the HS DHT? */
int MinUptimeHidServDirectoryV2; /**< As directory authority, accept hidden int MinUptimeHidServDirectoryV2; /**< As directory authority, accept hidden