summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ransom <rransom.8774@gmail.com>2011-04-28 15:16:54 -0700
committerNick Mathewson <nickm@torproject.org>2011-05-17 19:39:00 -0400
commit480a75cbbd8067b32b2954303ca69401bfee58d9 (patch)
treef87864ee1d1ba004939dd83906c3d7d8a0b9c165
parent2e85c3a5c94902fd2d50749400ec4877f6d0c210 (diff)
downloadtor-480a75cbbd8067b32b2954303ca69401bfee58d9.tar.gz
tor-480a75cbbd8067b32b2954303ca69401bfee58d9.zip
Check onion keys in microdescriptors, too
-rw-r--r--changes/bug32074
-rw-r--r--src/or/routerparse.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/changes/bug3207 b/changes/bug3207
new file mode 100644
index 0000000000..65a7dac1ab
--- /dev/null
+++ b/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
+
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index be7a3fe895..57436f75e0 100644
--- a/src/or/routerparse.c
+++ b/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;