summaryrefslogtreecommitdiffstats
path: root/scd/app-p15.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2022-04-11 17:48:45 +0200
committerWerner Koch <wk@gnupg.org>2022-04-11 17:48:45 +0200
commit0dcc24985235668caf218a58f593c348f6f6fb4f (patch)
treeb14c315a4988965b993a91d9298d2725826a63b5 /scd/app-p15.c
parentdoc: Typo fix in comment (diff)
downloadgnupg2-0dcc24985235668caf218a58f593c348f6f6fb4f.tar.xz
gnupg2-0dcc24985235668caf218a58f593c348f6f6fb4f.zip
scd: Support for GeNUA cards.
* scd/app-p15.c (read_p15_info): Disable extended mode for Genua cards.
Diffstat (limited to '')
-rw-r--r--scd/app-p15.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/scd/app-p15.c b/scd/app-p15.c
index ce832a9bb..006f979bd 100644
--- a/scd/app-p15.c
+++ b/scd/app-p15.c
@@ -456,7 +456,7 @@ struct app_local_s
/* The vendor's product. */
card_product_t card_product;
- /* Flag indicating that extedned_mode is not supported. */
+ /* Flag indicating that extended_mode is not supported. */
unsigned int no_extended_mode : 1;
/* Flag indicating whether we may use direct path selection. */
@@ -3574,6 +3574,15 @@ read_p15_info (app_t app)
release_lists (app);
+ if (IS_CARDOS_5 (app)
+ && app->app_local->manufacturer_id
+ && !ascii_strcasecmp (app->app_local->manufacturer_id, "GeNUA mbH")
+ && !app->app_local->no_extended_mode)
+ {
+ log_info ("p15: disabling extended mode based on TokenInfo\n");
+ app->app_local->no_extended_mode = 1;
+ }
+
/* Read the ODF so that we know the location of all directory
files. */
/* Fixme: We might need to get a non-standard ODF FID from TokenInfo. */