diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2001-06-05 20:46:32 +0000 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2001-06-05 20:46:32 +0000 |
commit | 322915d5e4786ab60dd94766d602ddb8c0e31168 (patch) | |
tree | 84c0ae6bc37a060d7c65d96377c29def96b892ef | |
parent | 3b89c5ef8988ae33621efef8bd117db8f1f47e35 (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-- | ChangeLog | 5 | ||||
-rw-r--r-- | authfile.c | 13 |
2 files changed, 12 insertions, 6 deletions
@@ -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 $ @@ -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 |