=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/ssh-keygen.c,v retrieving revision 1.19 retrieving revision 1.24 diff -u -r1.19 -r1.24 --- src/usr.bin/ssh/ssh-keygen.c 2000/04/26 20:56:29 1.19 +++ src/usr.bin/ssh/ssh-keygen.c 2000/05/03 02:52:56 1.24 @@ -7,7 +7,7 @@ */ #include "includes.h" -RCSID("$Id: ssh-keygen.c,v 1.19 2000/04/26 20:56:29 markus Exp $"); +RCSID("$Id: ssh-keygen.c,v 1.24 2000/05/03 02:52:56 deraadt Exp $"); #include #include @@ -72,7 +72,8 @@ { char buf[1024]; snprintf(identity_file, sizeof(identity_file), "%s/%s", - pw->pw_dir, SSH_CLIENT_IDENTITY); + pw->pw_dir, + dsa_mode ? SSH_CLIENT_ID_DSA: SSH_CLIENT_IDENTITY); printf("%s (%s): ", prompt, identity_file); fflush(stdout); if (fgets(buf, sizeof(buf), stdin) == NULL) @@ -130,6 +131,7 @@ dump_base64(stdout, blob, len); fprintf(stdout, SSH_COM_MAGIC_END "\n"); key_free(k); + xfree(blob); exit(0); } @@ -206,6 +208,7 @@ if (!key_write(k, stdout)) fprintf(stderr, "key_write failed"); key_free(k); + xfree(blob); fprintf(stdout, "\n"); exit(0); } @@ -485,8 +488,7 @@ void usage(void) { - printf("ssh-keygen version %s\n", SSH_VERSION); - printf("Usage: %s [-b bits] [-p] [-c] [-l] [-x] [-X] [-y] [-f file] [-P pass] [-N new-pass] [-C comment]\n", __progname); + printf("Usage: %s [-lpqxXydc] [-b bits] [-f file] [-C comment] [-N new-pass] [-P pass]\n", __progname); exit(1); } @@ -519,7 +521,7 @@ exit(1); } - while ((opt = getopt(ac, av, "dqpclxXyb:f:P:N:C:")) != EOF) { + while ((opt = getopt(ac, av, "dqpclRxXyb:f:P:N:C:")) != EOF) { switch (opt) { case 'b': bits = atoi(optarg); @@ -560,6 +562,13 @@ case 'q': quiet = 1; + break; + + case 'R': + if (rsa_alive() == 0) + exit(1); + else + exit(0); break; case 'x':