From 2be83da66da8e097c569ccf7e0c57965f3e17fa5 Mon Sep 17 00:00:00 2001 From: Fan DANG Date: Wed, 7 Feb 2024 21:50:37 +0800 Subject: [PATCH] add nfc enable switch --- applets/admin/admin.c | 9 +++++++++ include/admin.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/applets/admin/admin.c b/applets/admin/admin.c index 2384edaf..186db137 100644 --- a/applets/admin/admin.c +++ b/applets/admin/admin.c @@ -45,6 +45,12 @@ __attribute__((weak)) int admin_vendor_hw_sn(const CAPDU *capdu, RAPDU *rapdu) { return 0; } +__attribute__((weak)) int admin_vendor_nfc_enable(const CAPDU *capdu, RAPDU *rapdu) { + UNUSED(capdu); + UNUSED(rapdu); + return 0; +} + uint8_t cfg_is_led_normally_on(void) { return current_config.led_normally_on; } uint8_t cfg_is_ndef_enable(void) { return current_config.ndef_en; } @@ -261,6 +267,9 @@ int admin_process_apdu(const CAPDU *capdu, RAPDU *rapdu) { case ADMIN_INS_RESET_CTAP: ret = ctap_install(1); break; + case ADMIN_INS_NFC_ENABLE: + ret = admin_vendor_nfc_enable(capdu, rapdu); + break; case ADMIN_INS_READ_CTAP_SM2_CONFIG: ret = ctap_read_sm2_config(capdu, rapdu); break; diff --git a/include/admin.h b/include/admin.h index 2e0f8be2..6f3d8d6f 100644 --- a/include/admin.h +++ b/include/admin.h @@ -15,6 +15,7 @@ #define ADMIN_INS_READ_CTAP_SM2_CONFIG 0x11 #define ADMIN_INS_WRITE_CTAP_SM2_CONFIG 0x12 #define ADMIN_INS_RESET_PASS 0x13 +#define ADMIN_INS_NFC_ENABLE 0x14 #define ADMIN_INS_VERIFY 0x20 #define ADMIN_INS_CHANGE_PIN 0x21 #define ADMIN_INS_WRITE_SN 0x30 @@ -46,6 +47,7 @@ int admin_vendor_specific(const CAPDU *capdu, RAPDU *rapdu); int admin_vendor_version(const CAPDU *capdu, RAPDU *rapdu); int admin_vendor_hw_variant(const CAPDU *capdu, RAPDU *rapdu); int admin_vendor_hw_sn(const CAPDU *capdu, RAPDU *rapdu); +int admin_vendor_nfc_enable(const CAPDU *capdu, RAPDU *rapdu); uint8_t cfg_is_led_normally_on(void); uint8_t cfg_is_ndef_enable(void);