summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/ssh-keygen.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/ssh-keygen.c')
-rw-r--r--crypto/openssh/ssh-keygen.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/crypto/openssh/ssh-keygen.c b/crypto/openssh/ssh-keygen.c
index 66f00cc..df8c90a 100644
--- a/crypto/openssh/ssh-keygen.c
+++ b/crypto/openssh/ssh-keygen.c
@@ -74,7 +74,11 @@ int print_public = 0;
char *key_type_name = NULL;
/* argv0 */
+#ifdef HAVE___PROGNAME
extern char *__progname;
+#else
+char *__progname;
+#endif
char hostname[MAXHOSTNAMELEN];
@@ -753,6 +757,8 @@ main(int ac, char **av)
extern int optind;
extern char *optarg;
+ __progname = get_progname(av[0]);
+
SSLeay_add_all_algorithms();
/* we need this for the home * directory. */
@@ -848,12 +854,10 @@ main(int ac, char **av)
do_fingerprint(pw);
if (change_passphrase)
do_change_passphrase(pw);
- if (change_comment)
- do_change_comment(pw);
if (convert_to_ssh2)
do_convert_to_ssh2(pw);
- if (convert_from_ssh2)
- do_convert_from_ssh2(pw);
+ if (change_comment)
+ do_change_comment(pw);
if (print_public)
do_print_public(pw);
if (reader_id != NULL) {
@@ -867,8 +871,13 @@ main(int ac, char **av)
#endif /* SMARTCARD */
}
+ init_rng();
+ seed_rng();
arc4random_stir();
+ if (convert_from_ssh2)
+ do_convert_from_ssh2(pw);
+
if (key_type_name == NULL) {
printf("You must specify a key type (-t).\n");
usage();
OpenPOWER on IntegriCloud