allow countries and IP addresses in EntryNodes

This commit is contained in:
Roger Dingledine 2010-09-29 01:10:20 -04:00
parent 50720a9a4f
commit 0ed8d5a537
3 changed files with 10 additions and 11 deletions

5
changes/bug1982 Normal file
View File

@ -0,0 +1,5 @@
o Major features:
- Allow EntryNodes to include country codes like {de} or IP addresses
or network masks. Previously we had disallowed these options
because we didn't have an efficient way to keep the list up to
date. Resolves bug 1982.

View File

@ -3820,12 +3820,11 @@ entry_guards_prepend_from_config(or_options_t *options)
/* Split entry guards into those on the list and those not. */
/* XXXX022 Now that we allow countries and IP ranges in EntryNodes, this is
* potentially an enormous list. For now, we disable such values for
* EntryNodes in options_validate(); really, this wants a better solution.
* Perhaps we should do this calculation once whenever the list of routers
* changes or the entrynodes setting changes.
*/
/* Now that we allow countries and IP ranges in EntryNodes, this is
* potentially an enormous list. It's not so bad though because we
* only call this function when a) we're making a new circuit, and b)
* we've called directory_info_has_arrived() or changed our EntryNodes
* since the last time we made a circuit. */
routerset_get_all_routers(entry_routers, options->EntryNodes, 0);
SMARTLIST_FOREACH(entry_routers, routerinfo_t *, ri,
smartlist_add(entry_fps,ri->cache_info.identity_digest));

View File

@ -3088,11 +3088,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
"features to be broken in unpredictable ways.");
}
if (options->EntryNodes && !routerset_is_list(options->EntryNodes)) {
/* XXXX fix this; see entry_guards_prepend_from_config(). */
REJECT("IPs or countries are not yet supported in EntryNodes.");
}
if (options->AuthoritativeDir) {
if (!options->ContactInfo && !options->TestingTorNetwork)
REJECT("Authoritative directory servers must set ContactInfo");