Explorar o código

Regenerate our local descriptor if it's dirty and some local
function asks for it. This may resolve bug 286.


svn:r6412

Roger Dingledine %!s(int64=19) %!d(string=hai) anos
pai
achega
934e9c49bb
Modificáronse 1 ficheiros con 4 adicións e 6 borrados
  1. 4 6
      src/or/router.c

+ 4 - 6
src/or/router.c

@@ -760,8 +760,8 @@ router_get_my_routerinfo(void)
   if (!server_mode(get_options()))
     return NULL;
 
-  if (!desc_routerinfo) {
-    if (router_rebuild_descriptor(1))
+  if (!desc_routerinfo || !desc_clean_since) {
+    if (router_rebuild_descriptor(!desc_routerinfo))
       return NULL;
   }
   return desc_routerinfo;
@@ -774,10 +774,8 @@ const char *
 router_get_my_descriptor(void)
 {
   const char *body;
-  if (!desc_routerinfo) {
-    if (router_rebuild_descriptor(1))
-      return NULL;
-  }
+  if (!router_get_my_routerinfo())
+    return NULL;
   body = signed_descriptor_get_body(&desc_routerinfo->cache_info);
   log_debug(LD_GENERAL,"my desc is '%s'", body);
   return body;