=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/scard.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- src/usr.bin/ssh/Attic/scard.c 2001/07/30 16:06:07 1.8 +++ src/usr.bin/ssh/Attic/scard.c 2001/07/31 08:41:10 1.9 @@ -24,7 +24,7 @@ #ifdef SMARTCARD #include "includes.h" -RCSID("$OpenBSD: scard.c,v 1.8 2001/07/30 16:06:07 jakob Exp $"); +RCSID("$OpenBSD: scard.c,v 1.9 2001/07/31 08:41:10 jakob Exp $"); #include #include @@ -62,7 +62,7 @@ return SCARD_ERROR_FAIL; } if (! sectok_cardpresent(sc_fd)) { - error("smartcard in reader %d not present, skipping", + debug("smartcard in reader %d not present, skipping", sc_reader_num); return SCARD_ERROR_NOCARD; } @@ -328,13 +328,19 @@ sc_get_key(int num) { Key *k; + int status; sc_reader_num = num; k = key_new(KEY_RSA); if (k == NULL) { return NULL; } - if (sc_read_pubkey(k) < 0) { + status = sc_read_pubkey(k); + if (status == SCARD_ERROR_NOCARD) { + key_free(k); + return NULL; + } + if (status < 0 ) { error("sc_read_pubkey failed"); key_free(k); return NULL;