- djm@cvs.openbsd.org 2014/07/09 03:02:15
     [key.c]
     downgrade more error() to debug() to better match what old authfile.c
     did; suppresses spurious errors with hostbased authentication enabled
diff --git a/key.c b/key.c
index 75327d4..70f4045 100644
--- a/key.c
+++ b/key.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: key.c,v 1.119 2014/06/30 12:54:39 djm Exp $ */
+/* $OpenBSD: key.c,v 1.120 2014/07/09 03:02:15 djm Exp $ */
 /*
  * placed in the public domain
  */
@@ -345,7 +345,8 @@
 
 	if ((r = sshkey_load_cert(filename, &ret)) != 0) {
 		fatal_on_fatal_errors(r, __func__, SSH_ERR_LIBCRYPTO_ERROR);
-		if (r == SSH_ERR_SYSTEM_ERROR && errno == ENOENT)
+		/* Old authfile.c ignored all file errors. */
+		if (r == SSH_ERR_SYSTEM_ERROR)
 			debug("%s: %s", __func__, ssh_err(r));
 		else
 			error("%s: %s", __func__, ssh_err(r));
@@ -363,7 +364,8 @@
 
 	if ((r = sshkey_load_public(filename, &ret, commentp)) != 0) {
 		fatal_on_fatal_errors(r, __func__, SSH_ERR_LIBCRYPTO_ERROR);
-		if (r == SSH_ERR_SYSTEM_ERROR && errno == ENOENT)
+		/* Old authfile.c ignored all file errors. */
+		if (r == SSH_ERR_SYSTEM_ERROR)
 			debug("%s: %s", __func__, ssh_err(r));
 		else
 			error("%s: %s", __func__, ssh_err(r));
@@ -381,7 +383,8 @@
 
 	if ((r = sshkey_load_private(path, passphrase, &ret, commentp)) != 0) {
 		fatal_on_fatal_errors(r, __func__, SSH_ERR_LIBCRYPTO_ERROR);
-		if (r == SSH_ERR_SYSTEM_ERROR && errno == ENOENT)
+		/* Old authfile.c ignored all file errors. */
+		if (r == SSH_ERR_SYSTEM_ERROR)
 			debug("%s: %s", __func__, ssh_err(r));
 		else
 			error("%s: %s", __func__, ssh_err(r));
@@ -400,7 +403,8 @@
 	if ((r = sshkey_load_private_cert(type, filename, passphrase,
 	    &ret, perm_ok)) != 0) {
 		fatal_on_fatal_errors(r, __func__, SSH_ERR_LIBCRYPTO_ERROR);
-		if (r == SSH_ERR_SYSTEM_ERROR && errno == ENOENT)
+		/* Old authfile.c ignored all file errors. */
+		if (r == SSH_ERR_SYSTEM_ERROR)
 			debug("%s: %s", __func__, ssh_err(r));
 		else
 			error("%s: %s", __func__, ssh_err(r));
@@ -419,7 +423,8 @@
 	if ((r = sshkey_load_private_type(type, filename, passphrase,
 	    &ret, commentp, perm_ok)) != 0) {
 		fatal_on_fatal_errors(r, __func__, SSH_ERR_LIBCRYPTO_ERROR);
-		if ((r == SSH_ERR_SYSTEM_ERROR && errno == ENOENT) ||
+		/* Old authfile.c ignored all file errors. */
+		if (r == SSH_ERR_SYSTEM_ERROR ||
 		    (r == SSH_ERR_KEY_WRONG_PASSPHRASE))
 			debug("%s: %s", __func__, ssh_err(r));
 		else