Browse Source

Check onion keys in microdescriptors, too

Robert Ransom 13 years ago
parent
commit
480a75cbbd
2 changed files with 9 additions and 0 deletions
  1. 4 0
      changes/bug3207
  2. 5 0
      src/or/routerparse.c

+ 4 - 0
changes/bug3207

@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - Require that onion keys have exponent 65537 in microdescriptors too.
+      Fixes part of bug 3207; bugfix on 0.2.2.25-alpha
+

+ 5 - 0
src/or/routerparse.c

@@ -4336,6 +4336,11 @@ microdescs_parse_from_string(const char *s, const char *eos,
     }
 
     tok = find_by_keyword(tokens, K_ONION_KEY);
+    if (!crypto_pk_check_key_public_exponent(tok->key)) {
+      log_warn(LD_DIR,
+               "Relay's onion key had invalid exponent.");
+      goto next;
+    }
     md->onion_pkey = tok->key;
     tok->key = NULL;