From: Robert Ransom Date: Thu, 28 Apr 2011 22:16:54 +0000 (-0700) Subject: Check onion keys in microdescriptors, too X-Git-Tag: tor-0.2.2.27-beta~5^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=480a75cbbd8067b32b2954303ca69401bfee58d9;p=thirdparty%2Ftor.git Check onion keys in microdescriptors, too --- 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;