From d688a40a0e7c1e8417ecdc463821e50cd1762715 Mon Sep 17 00:00:00 2001 From: Robert Ransom Date: Mon, 12 Dec 2011 11:25:55 -0800 Subject: 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. --- src/common/crypto.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/common/crypto.c') diff --git a/src/common/crypto.c b/src/common/crypto.c index 2aa3fc97a5..673fc0cc1f 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 -- cgit v1.2.3-54-g00ecf