summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-05-15 11:23:02 -0400
committerNick Mathewson <nickm@torproject.org>2011-05-15 11:23:02 -0400
commit2fd9cfdc234f5ec0d6799511be9ad7a57c52b45e (patch)
tree5b19618c696f6ad992f1ffc436e3dc1e8b14b5e9
parent7236bb77e24545f3042d263a012e738d5cf325e4 (diff)
parent228b77f64e3d545e9d4dac2adc845ecd929c4ac5 (diff)
downloadtor-2fd9cfdc234f5ec0d6799511be9ad7a57c52b45e.tar.gz
tor-2fd9cfdc234f5ec0d6799511be9ad7a57c52b45e.zip
Merge remote-tracking branch 'origin/maint-0.2.2'
Conflicts: src/or/routerlist.c
-rw-r--r--changes/bug2732-simple7
-rw-r--r--src/or/routerlist.c18
2 files changed, 7 insertions, 18 deletions
diff --git a/changes/bug2732-simple b/changes/bug2732-simple
new file mode 100644
index 0000000000..367836152d
--- /dev/null
+++ b/changes/bug2732-simple
@@ -0,0 +1,7 @@
+ o Minor bugfixes
+ - Do not reject hidden service descriptors simply because we don't
+ think we have not been assigned the HSDir flag. Clients and
+ hidden services can have a more up-to-date view of the network
+ consensus, and if they think that the directory authorities
+ list us a HSDir, we might actually be one. Related to bug 2732;
+ bugfix on 0.2.0.10-alpha.
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 8d25eaa862..2b383198a8 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -5843,8 +5843,6 @@ int
hid_serv_acting_as_directory(void)
{
const routerinfo_t *me = router_get_my_routerinfo();
- networkstatus_t *c;
- const routerstatus_t *rs;
if (!me)
return 0;
if (!get_options()->HidServDirectoryV2) {
@@ -5852,22 +5850,6 @@ hid_serv_acting_as_directory(void)
"because we have not been configured as such.");
return 0;
}
- if (!(c = networkstatus_get_latest_consensus())) {
- log_info(LD_REND, "There's no consensus, so I can't tell if I'm a hidden "
- "service directory");
- return 0;
- }
- rs = networkstatus_vote_find_entry(c, me->cache_info.identity_digest);
- if (!rs) {
- log_info(LD_REND, "We're not listed in the consensus, so we're not "
- "being a hidden service directory.");
- return 0;
- }
- if (!rs->is_hs_dir) {
- log_info(LD_REND, "We're not listed as a hidden service directory in "
- "the consensus, so we won't be one.");
- return 0;
- }
return 1;
}