[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/release-0.2.8] When making sure digest256 matches in ei, look at sd, not ri.
commit 7d1eb0d57086c9630f7797916d9d2c948117a7e1
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Tue May 17 12:57:03 2016 -0400
When making sure digest256 matches in ei, look at sd, not ri.
The routerinfo we pass to routerinfo_incompatible_with_extrainfo is
the latest routerinfo for the relay. The signed_descriptor_t, on
the other hand, is the signed_descriptor_t that corresponds to the
extrainfo. That means we should be checking the digest256 match
with that signed_descriptor_t, not with the routerinfo.
Fixes bug 17150 (and 19017); bugfix on 0.2.7.2-alpha.
---
changes/bug17150 | 6 ++++++
src/or/routerlist.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/changes/bug17150 b/changes/bug17150
new file mode 100644
index 0000000..3fb7821
--- /dev/null
+++ b/changes/bug17150
@@ -0,0 +1,6 @@
+ o Minor bugfixes (directory warnings):
+ - When fetching extrainfo documents, compare their SHA256 digests
+ with the routerinfo that led us to fetch them, rather than
+ with the most recent routerinfo. Otherwise we generate many
+ spurious warnings about mismatches. Fixes bug 17150; bugfix
+ on 0.2.7.2-alpha.
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 3d85d86..2e347b0 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -4926,9 +4926,9 @@ routerinfo_incompatible_with_extrainfo(const routerinfo_t *ri,
/* Set digest256_matches to 1 if the digest is correct, or if no
* digest256 was in the ri. */
digest256_matches = tor_memeq(ei->digest256,
- ri->cache_info.extra_info_digest256, DIGEST256_LEN);
+ sd->extra_info_digest256, DIGEST256_LEN);
digest256_matches |=
- tor_mem_is_zero(ri->cache_info.extra_info_digest256, DIGEST256_LEN);
+ tor_mem_is_zero(sd->extra_info_digest256, DIGEST256_LEN);
/* The identity must match exactly to have been generated at the same time
* by the same router. */
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits