diff options
author | djm@openbsd.org <djm@openbsd.org> | 2020-06-19 01:33:38 +0200 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2020-06-19 07:51:04 +0200 |
commit | c514f3c0522855b4d548286eaa113e209051a6d2 (patch) | |
tree | ac763d6eee27fa99574af3a147940a3f5a04f9aa | |
parent | upstream: correct RFC number; from HARUYAMA Seigo via GH PR191 (diff) | |
download | openssh-c514f3c0522855b4d548286eaa113e209051a6d2.tar.xz openssh-c514f3c0522855b4d548286eaa113e209051a6d2.zip |
upstream: avoid spurious "Unable to load host key" message when
sshd can load a private key but no public counterpart; with & ok markus@
OpenBSD-Commit-ID: 0713cbdf9aa1ff8ac7b1f78b09ac911af510f81b
-rw-r--r-- | authfile.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/authfile.c b/authfile.c index 35ccf576c..946f50ca8 100644 --- a/authfile.c +++ b/authfile.c @@ -1,4 +1,4 @@ -/* $OpenBSD: authfile.c,v 1.140 2020/04/17 07:15:11 djm Exp $ */ +/* $OpenBSD: authfile.c,v 1.141 2020/06/18 23:33:38 djm Exp $ */ /* * Copyright (c) 2000, 2013 Markus Friedl. All rights reserved. * @@ -263,7 +263,7 @@ int sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp) { char *pubfile = NULL; - int r; + int r, oerrno; if (keyp != NULL) *keyp = NULL; @@ -283,8 +283,14 @@ sshkey_load_public(const char *filename, struct sshkey **keyp, char **commentp) if ((r = sshkey_load_pubkey_from_private(filename, keyp)) == 0) goto out; + /* Pretend we couldn't find the key */ + r = SSH_ERR_SYSTEM_ERROR; + errno = ENOENT; + out: + oerrno = errno; free(pubfile); + errno = oerrno; return r; } |