aboutsummaryrefslogtreecommitdiffstats
path: root/tools/card-yubikey.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/card-yubikey.c')
-rw-r--r--tools/card-yubikey.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/card-yubikey.c b/tools/card-yubikey.c
index f9d130988..fff669cc0 100644
--- a/tools/card-yubikey.c
+++ b/tools/card-yubikey.c
@@ -310,7 +310,7 @@ yk_enable_disable (struct ykapps_s *yk, struct iface_s *iface,
* stream to output information. This function must only be called on
* Yubikeys. */
gpg_error_t
-yubikey_commands (estream_t fp, int argc, char *argv[])
+yubikey_commands (card_info_t info, estream_t fp, int argc, char *argv[])
{
gpg_error_t err;
enum {ykLIST, ykENABLE, ykDISABLE } cmd;
@@ -336,6 +336,14 @@ yubikey_commands (estream_t fp, int argc, char *argv[])
goto leave;
}
+ if (info->cardversion < 0x050000 && cmd != ykLIST)
+ {
+ log_info ("Sub-command '%s' is only support by Yubikey-5 and later\n",
+ argv[0]);
+ err = gpg_error (GPG_ERR_NOT_SUPPORTED);
+ goto leave;
+ }
+
/* Parse interface if needed. */
if (cmd == ykLIST)
iface.usb = iface.nfc = 1;