summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-06-05 20:46:32 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-06-05 20:46:32 +0000
commit322915d5e4786ab60dd94766d602ddb8c0e31168 (patch)
tree84c0ae6bc37a060d7c65d96377c29def96b892ef
parent3b89c5ef8988ae33621efef8bd117db8f1f47e35 (diff)
- markus@cvs.openbsd.org 2001/05/28 10:08:55
[authfile.c] key_load_private: set comment to filename for PEM keys
-rw-r--r--ChangeLog5
-rw-r--r--authfile.c13
2 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 074082f0..b25584e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -59,6 +59,9 @@
- markus@cvs.openbsd.org 2001/05/28 08:04:39
[ssh.c]
fix usage()
+ - markus@cvs.openbsd.org 2001/05/28 10:08:55
+ [authfile.c]
+ key_load_private: set comment to filename for PEM keys
20010528
- (tim) [conifgure.in] add setvbuf test needed for sftp-int.c
@@ -5489,4 +5492,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1240 2001/06/05 20:44:16 mouring Exp $
+$Id: ChangeLog,v 1.1241 2001/06/05 20:46:32 mouring Exp $
diff --git a/authfile.c b/authfile.c
index 2715bdef..e1a9a21a 100644
--- a/authfile.c
+++ b/authfile.c
@@ -36,7 +36,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: authfile.c,v 1.33 2001/05/16 20:51:57 markus Exp $");
+RCSID("$OpenBSD: authfile.c,v 1.34 2001/05/28 10:08:55 markus Exp $");
#include <openssl/err.h>
#include <openssl/evp.h>
@@ -543,7 +543,7 @@ Key *
key_load_private(const char *filename, const char *passphrase,
char **commentp)
{
- Key *pub;
+ Key *pub, *prv;
int fd;
fd = open(filename, O_RDONLY);
@@ -558,14 +558,17 @@ key_load_private(const char *filename, const char *passphrase,
lseek(fd, (off_t) 0, SEEK_SET); /* rewind */
if (pub == NULL) {
/* closes fd */
- return key_load_private_pem(fd, KEY_UNSPEC, passphrase,
- commentp);
+ prv = key_load_private_pem(fd, KEY_UNSPEC, passphrase, NULL);
+ /* use the filename as a comment for PEM */
+ if (commentp && prv)
+ commentp = xstrdup(filename);
} else {
/* it's a SSH v1 key if the public key part is readable */
key_free(pub);
/* closes fd */
- return key_load_private_rsa1(fd, filename, passphrase, NULL);
+ prv = key_load_private_rsa1(fd, filename, passphrase, NULL);
}
+ return prv;
}
int