commit d688a40a0e7c1e8417ecdc463821e50cd1762715 Author: Robert Ransom rransom.8774@gmail.com Date: Mon Dec 12 11:25:55 2011 -0800
Don't crash on startup of a dormant relay
If a relay is dormant at startup, it will call init_keys before crypto_set_tls_dh_prime. This is bad. Let's make it not so bad, because someday it *will* happen again. --- changes/bug4702 | 6 ++++++ src/common/crypto.c | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/changes/bug4702 b/changes/bug4702 new file mode 100644 index 0000000..dcd3bfc --- /dev/null +++ b/changes/bug4702 @@ -0,0 +1,6 @@ + o Minor bugfixes: + + - Fix an assertion failure when a relay with accounting enabled + starts up while dormant. Fixes bug 4702; bugfix on + 0.2.3.9-alpha. + diff --git a/src/common/crypto.c b/src/common/crypto.c index 2aa3fc9..673fc0c 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -2089,8 +2089,11 @@ init_dh_param(void) dh_param_p = circuit_dh_prime; dh_param_g = generator;
- /* Should be already set by config.c. */ - tor_assert(dh_param_p_tls); + /* Ensure that we have TLS DH parameters set up, too, even if we're + going to change them soon. */ + if (!dh_param_p_tls) { + crypto_set_tls_dh_prime(NULL); + } }
/** Number of bits to use when choosing the x or y value in a Diffie-Hellman
tor-commits@lists.torproject.org