Pārlūkot izejas kodu

Fix pathbias interactions with entry guards

entry_guard_get_by_id_digest() was always returning NULL, which was
causing "adventure" and "fun"
Nick Mathewson 7 gadi atpakaļ
vecāks
revīzija
d98b9b6d65
1 mainītis faili ar 5 papildinājumiem un 0 dzēšanām
  1. 5 0
      src/or/entrynodes.c

+ 5 - 0
src/or/entrynodes.c

@@ -2351,6 +2351,11 @@ entry_guard_get_by_id_digest_for_guard_selection(guard_selection_t *gs,
 {
   tor_assert(gs != NULL);
 
+  SMARTLIST_FOREACH(gs->sampled_entry_guards, entry_guard_t *, entry,
+                    if (tor_memeq(digest, entry->identity, DIGEST_LEN))
+                      return entry;
+                   );
+
   SMARTLIST_FOREACH(gs->chosen_entry_guards, entry_guard_t *, entry,
                     if (tor_memeq(digest, entry->identity, DIGEST_LEN))
                       return entry;