Merge branch 'bug3263'

This commit is contained in:
Nick Mathewson 2011-07-07 11:08:03 -04:00
commit 6b670d6032
3 changed files with 11 additions and 1 deletions

4
changes/bug3263 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes:
- Don't publish a new relay descriptor when we reload our onion key,
unless the onion key has actually changed. Fixes bug 3263 and
resolves another cause of bug 1810. Bugfix on 0.1.1.11-alpha.

View File

@ -3980,7 +3980,8 @@ options_transition_affects_descriptor(const or_options_t *old_options,
!opt_streq(old_options->ContactInfo, new_options->ContactInfo) ||
!opt_streq(old_options->MyFamily, new_options->MyFamily) ||
!opt_streq(old_options->AccountingStart, new_options->AccountingStart) ||
old_options->AccountingMax != new_options->AccountingMax)
old_options->AccountingMax != new_options->AccountingMax ||
public_server_mode(old_options) != public_server_mode(new_options))
return 1;
return 0;

View File

@ -84,6 +84,11 @@ static authority_cert_t *legacy_key_certificate = NULL;
static void
set_onion_key(crypto_pk_env_t *k)
{
if (onionkey && !crypto_pk_cmp_keys(onionkey, k)) {
/* k is already our onion key; free it and return */
crypto_free_pk_env(k);
return;
}
tor_mutex_acquire(key_lock);
crypto_free_pk_env(onionkey);
onionkey = k;