aboutsummaryrefslogtreecommitdiffstats
path: root/scd/app-openpgp.c
diff options
context:
space:
mode:
Diffstat (limited to 'scd/app-openpgp.c')
-rw-r--r--scd/app-openpgp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index 789b72f00..9948c0bd9 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -1833,9 +1833,14 @@ do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
do_getattr (app, ctrl, "CA-FPR");
do_getattr (app, ctrl, "CHV-STATUS");
do_getattr (app, ctrl, "SIG-COUNTER");
- do_getattr (app, ctrl, "UIF-1");
- do_getattr (app, ctrl, "UIF-2");
- do_getattr (app, ctrl, "UIF-3");
+ if (app->app_local->extcap.kdf_do)
+ do_getattr (app, ctrl, "KDF");
+ if (app->app_local->extcap.has_button)
+ {
+ do_getattr (app, ctrl, "UIF-1");
+ do_getattr (app, ctrl, "UIF-2");
+ do_getattr (app, ctrl, "UIF-3");
+ }
if (app->app_local->extcap.private_dos)
{
do_getattr (app, ctrl, "PRIVATE-DO-1");