Просмотр исходного кода

actually, don't fix it that far. we should still do some
error checking.


svn:r6576

Roger Dingledine 19 лет назад
Родитель
Сommit
6531a31aad
1 измененных файлов с 7 добавлено и 4 удалено
  1. 7 4
      src/or/circuitbuild.c

+ 7 - 4
src/or/circuitbuild.c

@@ -1817,12 +1817,15 @@ add_an_entry_guard(routerinfo_t *chosen)
   routerinfo_t *router;
   entry_guard_t *entry;
 
-  if (chosen)
+  if (chosen) {
     router = chosen;
-  else
+    if (is_an_entry_guard(router->cache_info.identity_digest))
+      return NULL;
+  } else {
     router = choose_good_entry_server(CIRCUIT_PURPOSE_C_GENERAL, NULL);
-  if (!router)
-    return NULL;
+    if (!router)
+      return NULL;
+  }
   entry = tor_malloc_zero(sizeof(entry_guard_t));
   log_info(LD_CIRC, "Chose '%s' as new entry guard.", router->nickname);
   strlcpy(entry->nickname, router->nickname, sizeof(entry->nickname));