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.
--- /dev/null
+ 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.
+
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