commit d9a9aed375e9afb62f5e79f6346318d1c7ba1284
parent b6bb346b9350f3ebb61d186386f45b0b82a87de1
Author: shdwcodr <shadowcoder111@proton.me>
Date: Sun, 8 Feb 2026 16:28:32 +0530
relay: refuse to overwrite existing family ID key
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/feature/relay/routerkeys.c b/src/feature/relay/routerkeys.c
@@ -877,6 +877,16 @@ create_family_id_key(const char *fname, ed25519_public_key_t *pk_out)
{
int r = -1;
ed25519_keypair_t *kp = tor_malloc_zero(sizeof(ed25519_keypair_t));
+
+ /* Refuse to overwrite an existing family key */
+ if (file_status(fname) == FN_FILE) {
+ log_warn(LD_GENERAL,
+ "Family key file '%s' already exists. "
+ "Refusing to overwrite existing family key.",
+ fname);
+ goto done;
+ }
+
if (ed25519_keypair_generate(kp, 1) < 0) {
log_warn(LD_BUG, "Can't generate ed25519 key!");
goto done;