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 /authfile.c | |
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
Diffstat (limited to 'authfile.c')
-rw-r--r-- | authfile.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -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 |