diff options
author | Jakob Schlyter <jakob@cvs.openbsd.org> | 2001-07-31 08:41:11 +0000 |
---|---|---|
committer | Jakob Schlyter <jakob@cvs.openbsd.org> | 2001-07-31 08:41:11 +0000 |
commit | 1551f2bd8b7cc0a52785e59576213c36084939f3 (patch) | |
tree | 8924a4cddb5de427997928746220d3ec8b57586d /usr.bin | |
parent | 659f8e74de6454e2801bc40d94f70a849081ac22 (diff) |
do not complain about missing smartcards. ok markus@
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/ssh/scard.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/usr.bin/ssh/scard.c b/usr.bin/ssh/scard.c index 951d868c81d..9f22fdf39fe 100644 --- a/usr.bin/ssh/scard.c +++ b/usr.bin/ssh/scard.c @@ -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 <openssl/engine.h> #include <sectok.h> @@ -62,7 +62,7 @@ sc_open(void) 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 @@ Key * 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; |