Browse Source

Merge remote-tracking branch 'rl1987/bug9812'

Nick Mathewson 9 years ago
parent
commit
99e2a325f6
3 changed files with 14 additions and 2 deletions
  1. 6 0
      changes/bug9812
  2. 1 1
      src/common/crypto.c
  3. 7 1
      src/or/routerlist.c

+ 6 - 0
changes/bug9812

@@ -0,0 +1,6 @@
+  o Minor bugfixes (logging):
+    - Downgrade warnings about RSA signature failures to info log
+      level. Emit a warning when extra info document is found 
+      incompatible with a corresponding router descriptor. Fixes bug
+      9812.
+

+ 1 - 1
src/common/crypto.c

@@ -1012,7 +1012,7 @@ crypto_pk_public_checksig(crypto_pk_t *env, char *to,
                          env->key, RSA_PKCS1_PADDING);
 
   if (r<0) {
-    crypto_log_errors(LOG_WARN, "checking RSA signature");
+    crypto_log_errors(LOG_INFO, "checking RSA signature");
     return -1;
   }
   return r;

+ 7 - 1
src/or/routerlist.c

@@ -2945,6 +2945,7 @@ MOCK_IMPL(STATIC was_router_added_t,
 extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei))
 {
   was_router_added_t r;
+  const char *compatibility_error_msg;
   routerinfo_t *ri = rimap_get(rl->identity_map,
                                ei->cache_info.identity_digest);
   signed_descriptor_t *sd =
@@ -2961,9 +2962,14 @@ extrainfo_insert,(routerlist_t *rl, extrainfo_t *ei))
     r = ROUTER_NOT_IN_CONSENSUS;
     goto done;
   }
-  if (routerinfo_incompatible_with_extrainfo(ri, ei, sd, NULL)) {
+  if (routerinfo_incompatible_with_extrainfo(ri, ei, sd,
+                                             &compatibility_error_msg)) {
     r = (ri->cache_info.extrainfo_is_bogus) ?
       ROUTER_BAD_EI : ROUTER_NOT_IN_CONSENSUS;
+
+    log_warn(LD_DIR,"router info incompatible with extra info (reason: %s)",
+             compatibility_error_msg);
+
     goto done;
   }