diff options
author | Werner Koch <[email protected]> | 2019-03-05 16:40:08 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2019-03-05 16:40:08 +0000 |
commit | 8d4af54ddd039d47e9c4803559193fcca97f0a46 (patch) | |
tree | 574703e89a3e6f899765c4660d0f353c1bec52c9 /tools/card-call-scd.c | |
parent | scd: Rename a shared info field name. (diff) | |
download | gnupg-8d4af54ddd039d47e9c4803559193fcca97f0a46.tar.gz gnupg-8d4af54ddd039d47e9c4803559193fcca97f0a46.zip |
card: Print card version. Check for bad Yubikeys.
* scd/app.c (app_new_register): Set card version for Yubikeys.
(app_write_learn_status): Print CARDVERSION and APPVERSION.
* tools/card-call-scd.c (learn_status_cb): Detect them.
* tools/gpg-card.h (struct card_info_s): Add appversion and
cardversion.
* tools/gpg-card.c (list_openpgp): Remove version printing from serial
number.
(print_a_version): New.
(list_card): Print card and app version.
(cmd_generate): Do not allow broken Yubikeys.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tools/card-call-scd.c')
-rw-r--r-- | tools/card-call-scd.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/card-call-scd.c b/tools/card-call-scd.c index f7dbfd6ec..0a01bf5ca 100644 --- a/tools/card-call-scd.c +++ b/tools/card-call-scd.c @@ -818,7 +818,7 @@ learn_status_cb (void *opaque, const char *line) parm->chvusage[0] = byte1; parm->chvusage[1] = byte2; } - break; + break; case 10: if (!memcmp (keyword, "PUBKEY-URL", keywordlen)) @@ -880,6 +880,13 @@ learn_status_cb (void *opaque, const char *line) xfree (buf); } + else if (!memcmp (keyword, "APPVERSION", keywordlen)) + { + unsigned int val = 0; + + sscanf (line, "%x", &val); + parm->appversion = val; + } break; case 11: @@ -944,6 +951,13 @@ learn_status_cb (void *opaque, const char *line) } } } + else if (!memcmp (keyword, "CARDVERSION", keywordlen)) + { + unsigned int val = 0; + + sscanf (line, "%x", &val); + parm->cardversion = val; + } break; case 12: |