upstream: repair private key fingerprint printing to also print

comment after regression caused by my recent pubkey loading refactor.
Reported by loic AT venez.fr, ok dtucker@

OpenBSD-Commit-ID: f8db49acbee6a6ccb2a4259135693b3cceedb89e
This commit is contained in:
djm@openbsd.org 2020-04-17 07:16:07 +00:00 committed by Damien Miller
parent 094dd513f4
commit 32f2d0aad4

View File

@ -1,4 +1,4 @@
/* $OpenBSD: ssh-keygen.c,v 1.405 2020/04/03 02:26:56 djm Exp $ */ /* $OpenBSD: ssh-keygen.c,v 1.406 2020/04/17 07:16:07 djm Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -910,22 +910,21 @@ fingerprint_private(const char *path)
{ {
struct stat st; struct stat st;
char *comment = NULL; char *comment = NULL;
struct sshkey *public = NULL; struct sshkey *key = NULL;
int r; int r;
if (stat(identity_file, &st) == -1) if (stat(identity_file, &st) == -1)
fatal("%s: %s", path, strerror(errno)); fatal("%s: %s", path, strerror(errno));
if ((r = sshkey_load_public(path, &public, &comment)) != 0) { if ((r = sshkey_load_private(path, NULL, &key, &comment)) != 0) {
debug("load public \"%s\": %s", path, ssh_err(r)); debug("load private \"%s\": %s", path, ssh_err(r));
if ((r = sshkey_load_private(path, NULL, if ((r = sshkey_load_public(path, &key, &comment)) != 0) {
&public, &comment)) != 0) { debug("load public \"%s\": %s", path, ssh_err(r));
debug("load private \"%s\": %s", path, ssh_err(r));
fatal("%s is not a key file.", path); fatal("%s is not a key file.", path);
} }
} }
fingerprint_one_key(public, comment); fingerprint_one_key(key, comment);
sshkey_free(public); sshkey_free(key);
free(comment); free(comment);
} }