From 8d22d775f740b904e107ef7a47f9a944264ae504 Mon Sep 17 00:00:00 2001 From: djm Date: Tue, 19 Feb 2002 04:22:47 +0000 Subject: [PATCH] - stevesk@cvs.openbsd.org 2002/02/16 20:40:08 [ssh-keygen.c] default to rsa keyfile path for non key generation operations where keyfile not specified. fixes core dump in those cases. ok markus@ --- ChangeLog | 4 ++++ ssh-keygen.c | 34 +++++++++++++++++++--------------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 05a64be8..9615cfb6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,6 +20,10 @@ - stevesk@cvs.openbsd.org 2002/02/16 14:53:37 [ssh-keygen.1] -t required now for key generation + - stevesk@cvs.openbsd.org 2002/02/16 20:40:08 + [ssh-keygen.c] + default to rsa keyfile path for non key generation operations where + keyfile not specified. fixes core dump in those cases. ok markus@ 20020218 - (tim) newer config.guess from ftp://ftp.gnu.org/gnu/config/config.guess diff --git a/ssh-keygen.c b/ssh-keygen.c index def487ee..ddd03ff5 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c @@ -12,7 +12,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-keygen.c,v 1.91 2002/01/18 18:14:17 stevesk Exp $"); +RCSID("$OpenBSD: ssh-keygen.c,v 1.92 2002/02/16 20:40:08 stevesk Exp $"); #include #include @@ -90,21 +90,25 @@ ask_filename(struct passwd *pw, const char *prompt) char buf[1024]; char *name = NULL; - switch (key_type_from_name(key_type_name)) { - case KEY_RSA1: - name = _PATH_SSH_CLIENT_IDENTITY; - break; - case KEY_DSA: - name = _PATH_SSH_CLIENT_ID_DSA; - break; - case KEY_RSA: + if (key_type_name == NULL) name = _PATH_SSH_CLIENT_ID_RSA; - break; - default: - fprintf(stderr, "bad key type"); - exit(1); - break; - } + else + switch (key_type_from_name(key_type_name)) { + case KEY_RSA1: + name = _PATH_SSH_CLIENT_IDENTITY; + break; + case KEY_DSA: + name = _PATH_SSH_CLIENT_ID_DSA; + break; + case KEY_RSA: + name = _PATH_SSH_CLIENT_ID_RSA; + break; + default: + fprintf(stderr, "bad key type"); + exit(1); + break; + } + snprintf(identity_file, sizeof(identity_file), "%s/%s", pw->pw_dir, name); fprintf(stderr, "%s (%s): ", prompt, identity_file); fflush(stderr); -- 2.45.2