Переглянути джерело

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


svn:r6576

Roger Dingledine 19 роки тому
батько
коміт
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));