diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-12-06 11:36:01 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-12-06 11:36:01 -0500 |
commit | feffbce814fcffd341abd5a07ea7a9ba1a06558c (patch) | |
tree | 787af4799ae31a4b30351457ae83848adcafc120 | |
parent | c0f1517d87d0c858ba8472eb85fd31df73f4b4d1 (diff) | |
download | tor-feffbce814fcffd341abd5a07ea7a9ba1a06558c.tar.gz tor-feffbce814fcffd341abd5a07ea7a9ba1a06558c.zip |
Add a missing ! to directory_fetches_from_authorities
The old logic would have us fetch from authorities if we were refusing
unknown exits and our exit policy was reject*. Instead, we want to
fetch from authorities if we're refusing unknown exits and our exit
policy is _NOT_ reject*.
Fixed by boboper. Fixes more of 2097. Bugfix on 0.2.2.16-alpha.
-rw-r--r-- | changes/bug2097-more | 6 | ||||
-rw-r--r-- | src/or/dirserv.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug2097-more b/changes/bug2097-more new file mode 100644 index 0000000000..52351cc019 --- /dev/null +++ b/changes/bug2097-more @@ -0,0 +1,6 @@ + o Minor bugfixes: + - Fix a logic error in directory_fetches_from_authorities that + would cause all _non_-exits refusing single-hop-like circuits to + fetch from authorities, when we wanted to have _exits_ fetch + from authorities. Fix by boboper; fixes more of 2097; bugfix on + 0.2.2.16-alpha. diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 42d7d561ce..10b9000d51 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -1160,7 +1160,7 @@ directory_fetches_from_authorities(or_options_t *options) return 0; if (server_mode(options) && router_pick_published_address(options, &addr)<0) return 1; /* we don't know our IP address; ask an authority. */ - refuseunknown = router_my_exit_policy_is_reject_star() && + refuseunknown = ! router_my_exit_policy_is_reject_star() && should_refuse_unknown_exits(options); if (options->DirPort == 0 && !refuseunknown) return 0; |