summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@cvs.openbsd.org>2010-01-11 04:46:46 +0000
committerDarren Tucker <dtucker@cvs.openbsd.org>2010-01-11 04:46:46 +0000
commit228d3990a924a2b72412ea337706ca2c8bdacca1 (patch)
treea708df3b003156fb6052f228407ee4466996fa2f
parentf28b0593644f14df7c49e3b13efcecb73985c729 (diff)
Do not prompt for a passphrase if we fail to open a keyfile, and log the
reason the open failed to debug. bz #1693, found by tj AT castaglia org, ok djm@
-rw-r--r--usr.bin/ssh/authfile.c14
-rw-r--r--usr.bin/ssh/sshconnect2.c4
2 files changed, 13 insertions, 5 deletions
diff --git a/usr.bin/ssh/authfile.c b/usr.bin/ssh/authfile.c
index fd583de4096..5bed1730393 100644
--- a/usr.bin/ssh/authfile.c
+++ b/usr.bin/ssh/authfile.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: authfile.c,v 1.77 2009/10/22 22:26:13 djm Exp $ */
+/* $OpenBSD: authfile.c,v 1.78 2010/01/11 04:46:45 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -547,7 +547,12 @@ key_load_private_type(int type, const char *filename, const char *passphrase,
int fd;
fd = open(filename, O_RDONLY);
- if (fd < 0)
+ if (fd < 0) {
+ debug("could not open key file '%s': %s", filename,
+ strerror(errno));
+ if (perm_ok != NULL)
+ *perm_ok = 0;
+ }
return NULL;
if (!key_perm_ok(fd, filename)) {
if (perm_ok != NULL)
@@ -583,8 +588,11 @@ key_load_private(const char *filename, const char *passphrase,
int fd;
fd = open(filename, O_RDONLY);
- if (fd < 0)
+ if (fd < 0) {
+ debug("could not open key file '%s': %s", filename,
+ strerror(errno));
return NULL;
+ }
if (!key_perm_ok(fd, filename)) {
error("bad permissions: ignore key: %s", filename);
close(fd);
diff --git a/usr.bin/ssh/sshconnect2.c b/usr.bin/ssh/sshconnect2.c
index 56c84b91806..71863b0beb5 100644
--- a/usr.bin/ssh/sshconnect2.c
+++ b/usr.bin/ssh/sshconnect2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sshconnect2.c,v 1.177 2010/01/04 01:45:30 dtucker Exp $ */
+/* $OpenBSD: sshconnect2.c,v 1.178 2010/01/11 04:46:45 dtucker Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2008 Damien Miller. All rights reserved.
@@ -1244,7 +1244,7 @@ load_identity_file(char *filename)
{
Key *private;
char prompt[300], *passphrase;
- int perm_ok, quit, i;
+ int perm_ok = 0, quit, i;
struct stat st;
if (stat(filename, &st) < 0) {