mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Avoid a crash if our "current" and "old" ntor onion keys are equal
Our dimap code asserts if you try to add the same key twice; this can't happen if everything is running smoothly, but it's possible if you try to start a relay where secret_onion_key_ntor is the same as secret_onion_key_ntor.old. Fixes bug 30916; bugfix on 0.2.4.8-alpha when ntor keys were introduced.
This commit is contained in:
parent
1e9488f2fd
commit
2da4d64a64
2 changed files with 6 additions and 1 deletions
4
changes/bug30916
Normal file
4
changes/bug30916
Normal file
|
@ -0,0 +1,4 @@
|
|||
o Minor bugfixes (relay):
|
||||
- Avoid crashing when starting with a corrupt keys directory where
|
||||
the old ntor key and the new ntor key are identical. Fixes bug 30916;
|
||||
bugfix on 0.2.4.8-alpha.
|
|
@ -286,7 +286,8 @@ construct_ntor_key_map(void)
|
|||
tor_memdup(&curve25519_onion_key,
|
||||
sizeof(curve25519_keypair_t)));
|
||||
}
|
||||
if (!tor_mem_is_zero((const char*)last_pk, CURVE25519_PUBKEY_LEN)) {
|
||||
if (!tor_mem_is_zero((const char*)last_pk, CURVE25519_PUBKEY_LEN) &&
|
||||
tor_memneq(cur_pk, last_pk, CURVE25519_PUBKEY_LEN)) {
|
||||
dimap_add_entry(&m, last_pk,
|
||||
tor_memdup(&last_curve25519_onion_key,
|
||||
sizeof(curve25519_keypair_t)));
|
||||
|
|
Loading…
Add table
Reference in a new issue