From 205c3b646e6688193da3e66ee73858aa9333c7a2 Mon Sep 17 00:00:00 2001 From: Fan DANG Date: Tue, 16 Jan 2024 14:55:54 +0800 Subject: [PATCH] drop meta --- applets/meta/meta.c | 55 --------------------------------------------- src/apdu.c | 9 +------- 2 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 applets/meta/meta.c diff --git a/applets/meta/meta.c b/applets/meta/meta.c deleted file mode 100644 index 9a41ade7..00000000 --- a/applets/meta/meta.c +++ /dev/null @@ -1,55 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -#include -#include - -#define TAG_USB_SUPPORT 0x01 -#define TAG_SN 0x02 -#define TAG_USB_ENABLED 0x03 -#define TAG_FORM_FACTOR 0x04 -#define TAG_NFC_SUPPORT 0x0D -#define TAG_NFC_ENABLED 0x0E - -int meta_process_apdu(const CAPDU *capdu, RAPDU *rapdu) { - LL = 0; - SW = SW_NO_ERROR; - - switch (INS) { - case META_INS_SELECT: - if (P1 != 0x04 || P2 != 0x00) EXCEPT(SW_WRONG_P1P2); - memcpy(RDATA, "5.5.5", 5); // a fake version - LL = 5; - break; - - case META_INS_READ_META: - if (P1 != 0x00 || P2 != 0x00) EXCEPT(SW_WRONG_P1P2); - RDATA[0] = 25; - RDATA[1] = TAG_USB_SUPPORT; // FIDO2|OATH|PIV|OPENPGP|U2F - RDATA[2] = 2; - RDATA[3] = 0x02; - RDATA[4] = 0x3A; - RDATA[5] = TAG_SN; - RDATA[6] = 4; - fill_sn(RDATA + 7); - RDATA[11] = TAG_FORM_FACTOR; - RDATA[12] = 1; - RDATA[13] = 0x41; - RDATA[14] = TAG_USB_ENABLED; // FIDO2|OATH|PIV|OPENPGP|U2F - RDATA[15] = 2; - RDATA[16] = 0x02; - RDATA[17] = 0x3A; - RDATA[18] = TAG_NFC_SUPPORT; // FIDO2|OATH|PIV|OPENPGP|U2F - RDATA[19] = 2; - RDATA[20] = 0x02; - RDATA[21] = 0x3A; - RDATA[22] = TAG_NFC_ENABLED; // FIDO2|OATH|PIV|OPENPGP|U2F - RDATA[23] = 2; - RDATA[24] = 0x02; - RDATA[25] = 0x3A; - LL = 26; - break; - - default: - EXCEPT(SW_INS_NOT_SUPPORTED); - } - return 0; -} diff --git a/src/apdu.c b/src/apdu.c index cdfa536b..a3a7e71b 100644 --- a/src/apdu.c +++ b/src/apdu.c @@ -5,7 +5,6 @@ #include #include #include -#include #include #include #include @@ -19,7 +18,6 @@ enum APPLET { APPLET_ADMIN, APPLET_OPENPGP, APPLET_NDEF, - APPLET_META, APPLET_ENUM_END, } current_applet; @@ -35,11 +33,10 @@ static const uint8_t ADMIN_AID[] = {0xF0, 0x00, 0x00, 0x00, 0x00}; static const uint8_t OPENPGP_AID[] = {0xD2, 0x76, 0x00, 0x01, 0x24, 0x01}; static const uint8_t FIDO_AID[] = {0xA0, 0x00, 0x00, 0x06, 0x47, 0x2F, 0x00, 0x01}; static const uint8_t NDEF_AID[] = {0xD2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x01}; -static const uint8_t META_AID[] = {0xA0, 0x00, 0x00, 0x05, 0x27, 0x47, 0x11, 0x17}; static const uint8_t *const AID[] = { [APPLET_NULL] = NULL, [APPLET_PIV] = PIV_AID, [APPLET_FIDO] = FIDO_AID, [APPLET_OATH] = OATH_AID, - [APPLET_ADMIN] = ADMIN_AID, [APPLET_OPENPGP] = OPENPGP_AID, [APPLET_NDEF] = NDEF_AID, [APPLET_META] = META_AID, + [APPLET_ADMIN] = ADMIN_AID, [APPLET_OPENPGP] = OPENPGP_AID, [APPLET_NDEF] = NDEF_AID, }; static const uint8_t AID_Size[] = { @@ -50,7 +47,6 @@ static const uint8_t AID_Size[] = { [APPLET_ADMIN] = sizeof(ADMIN_AID), [APPLET_OPENPGP] = sizeof(OPENPGP_AID), [APPLET_NDEF] = sizeof(NDEF_AID), - [APPLET_META] = sizeof(META_AID), }; static volatile uint32_t buffer_owner = BUFFER_OWNER_NONE; @@ -246,9 +242,6 @@ void process_apdu(CAPDU *capdu, RAPDU *rapdu) { case APPLET_NDEF: ndef_process_apdu(capdu, rapdu); break; - case APPLET_META: - meta_process_apdu(capdu, rapdu); - break; default: LL = 0; SW = SW_FILE_NOT_FOUND;