=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/ssh-keygen.c,v retrieving revision 1.82.2.4 retrieving revision 1.95 diff -u -r1.82.2.4 -r1.95 --- src/usr.bin/ssh/ssh-keygen.c 2002/06/22 07:23:18 1.82.2.4 +++ src/usr.bin/ssh/ssh-keygen.c 2002/03/21 16:54:53 1.95 @@ -12,7 +12,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: ssh-keygen.c,v 1.82.2.4 2002/06/22 07:23:18 miod Exp $"); +RCSID("$OpenBSD: ssh-keygen.c,v 1.95 2002/03/21 16:54:53 markus Exp $"); #include #include @@ -136,7 +136,7 @@ } #define SSH_COM_PUBLIC_BEGIN "---- BEGIN SSH2 PUBLIC KEY ----" -#define SSH_COM_PUBLIC_END "---- END SSH2 PUBLIC KEY ----" +#define SSH_COM_PUBLIC_END "---- END SSH2 PUBLIC KEY ----" #define SSH_COM_PRIVATE_BEGIN "---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----" #define SSH_COM_PRIVATE_KEY_MAGIC 0x3f6ff9eb @@ -286,7 +286,6 @@ { Key *k; int blen; - u_int len; char line[1024], *p; u_char blob[8096]; char encoded[8096]; @@ -331,12 +330,6 @@ *p = '\0'; strlcat(encoded, line, sizeof(encoded)); } - len = strlen(encoded); - if (((len % 4) == 3) && - (encoded[len-1] == '=') && - (encoded[len-2] == '=') && - (encoded[len-3] == '=')) - encoded[len-3] = '\0'; blen = uudecode(encoded, blob, sizeof(blob)); if (blen < 0) { fprintf(stderr, "uudecode failed.\n"); @@ -412,25 +405,21 @@ key_free(prv); if (ret < 0) exit(1); - log("loading key done"); + log("loading key done"); exit(0); } static void do_download(struct passwd *pw, const char *sc_reader_id) { - Key **keys = NULL; - int i; + Key *pub = NULL; - keys = sc_get_keys(sc_reader_id, NULL); - if (keys == NULL) + pub = sc_get_key(sc_reader_id); + if (pub == NULL) fatal("cannot read public key from smartcard"); - for (i = 0; keys[i]; i++) { - key_write(keys[i], stdout); - key_free(keys[i]); - fprintf(stdout, "\n"); - } - xfree(keys); + key_write(pub, stdout); + key_free(pub); + fprintf(stdout, "\n"); exit(0); } #endif /* SMARTCARD */