From 4f0a0c7e8e56772dc1556406e1739fc440ac7a8b Mon Sep 17 00:00:00 2001 From: Greg Alexander Date: Mon, 28 Dec 2020 20:37:34 -0500 Subject: [PATCH] Remaining conflicts are more straightforward. Preserve both my hack and dropbear's new behavior (as a fallabck) for when renaming a file using hardlinks fails. Either one alone would probably suffice but I know the rename() hack works. --- dropbear/gensignkey.c | 8 -------- dropbear/svr-authpubkey.c | 11 ----------- 2 files changed, 19 deletions(-) diff --git a/dropbear/gensignkey.c b/dropbear/gensignkey.c index 15223d2..56d507d 100644 --- a/dropbear/gensignkey.c +++ b/dropbear/gensignkey.c @@ -160,15 +160,8 @@ int signkey_generate(enum signkey_type keytype, int bits, const char* filename, if (link(fn_temp, filename) < 0) { /* If generating keys on connection (skipexist) it's OK to get EEXIST - we probably just lost a race with another connection to generate the key */ -<<<<<<< HEAD - /* fallback to rename() if the fs doesn't support link() */ if ((!(skip_exist && errno == EEXIST)) && (rename(fn_temp, filename) < 0)) { - dropbear_log(LOG_ERR, "Failed moving key file to %s: %s", filename, - strerror(errno)); - ret = DROPBEAR_FAILURE; -======= - if (!(skip_exist && errno == EEXIST)) { if (errno == EPERM || errno == EACCES) { /* Non-atomic fallback when hard-links not allowed or unsupported */ buf_setpos(buf, 0); @@ -179,7 +172,6 @@ int signkey_generate(enum signkey_type keytype, int bits, const char* filename, ret = DROPBEAR_FAILURE; } ->>>>>>> dropbear goto out; } } diff --git a/dropbear/svr-authpubkey.c b/dropbear/svr-authpubkey.c index b308395..a5009ac 100644 --- a/dropbear/svr-authpubkey.c +++ b/dropbear/svr-authpubkey.c @@ -380,18 +380,7 @@ static int checkpubkey(const char* keyalgo, unsigned int keyalgolen, TRACE(("enter checkpubkey")) -<<<<<<< HEAD - /* check that we can use the algo */ - if (have_algo(algo, algolen, sshhostkey) == DROPBEAR_FAILURE) { - dropbear_log(LOG_WARNING, - "Pubkey auth attempt with unknown algo for '%s' from %s", - ses.authstate.pw_name, svr_ses.addrstring); - goto out; - } - #if 0 -======= ->>>>>>> dropbear /* check file permissions, also whether file exists */ if (checkpubkeyperms() == DROPBEAR_FAILURE) { TRACE(("bad authorized_keys permissions, or file doesn't exist"))