[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] [tor/maint-0.2.2] Add a missing ! to directory_fetches_from_authorities



Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Mon, 6 Dec 2010 11:36:01 -0500
Subject: Add a missing ! to directory_fetches_from_authorities
Commit: feffbce814fcffd341abd5a07ea7a9ba1a06558c

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.
---
 changes/bug2097-more |    6 ++++++
 src/or/dirserv.c     |    2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)
 create mode 100644 changes/bug2097-more

diff --git a/changes/bug2097-more b/changes/bug2097-more
new file mode 100644
index 0000000..52351cc
--- /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 42d7d56..10b9000 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;
-- 
1.7.1