소스 검색

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


svn:r6412

Roger Dingledine 19 년 전
부모
커밋
934e9c49bb
1개의 변경된 파일4개의 추가작업 그리고 6개의 파일을 삭제
  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;