From: Klas Lindfors Date: Tue, 27 Mar 2012 12:21:09 +0000 (+0200) Subject: ykdef.h 2.3 from JE (copied from python-yubico) X-Git-Tag: v1.7.0~1^2~51 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9706307294aed0bf733bbcd62f00ac29052b9cdd;p=yubikey-personalization ykdef.h 2.3 from JE (copied from python-yubico) --- diff --git a/ykcore/ykdef.h b/ykcore/ykdef.h index 4282587..2eced9e 100644 --- a/ykcore/ykdef.h +++ b/ykcore/ykdef.h @@ -10,6 +10,7 @@ ** 09-06-02 / 2.0.0 / J E / Added version 2 flags ** ** 09-09-23 / 2.1.0 / J E / Added version 2.1 flags (OATH-HOTP) ** ** 10-05-01 / 2.2.0 / J E / Added support for 2.2 ext. + frame ** +** 11-04-15 / 2.3.0 / J E / Added support for 2.3 extensions ** ** ** *****************************************************************************************/ @@ -28,12 +29,12 @@ /* Slot entries */ -#define SLOT_CONFIG 0x01 /* First (default / V1) configuration */ -#define SLOT_NAV 0x02 /* V1 only */ -#define SLOT_CONFIG2 0x03 /* Second (V2) configuration */ -#define SLOT_UPDATE1 0x04 /* update first configuration */ -#define SLOT_UPDATE2 0x05 /* update second configuration */ -#define SLOT_SWAP 0x06 /* swap the two slots */ +#define SLOT_CONFIG 1 /* First (default / V1) configuration */ +#define SLOT_NAV 2 /* V1 only */ +#define SLOT_CONFIG2 3 /* Second (V2) configuration */ +#define SLOT_UPDATE1 4 /* Update slot 1 */ +#define SLOT_UPDATE2 5 /* Update slot 2 */ +#define SLOT_SWAP 6 /* Swap slot 1 and 2 */ #define SLOT_DEVICE_SERIAL 0x10 /* Device serial number */ @@ -152,12 +153,25 @@ struct config_st { #define CFGFLAG_CHAL_YUBICO 0x20 /* Challenge-response enabled - Yubico OTP mode */ #define CFGFLAG_CHAL_HMAC 0x22 /* Challenge-response enabled - HMAC-SHA1 */ #define CFGFLAG_HMAC_LT64 0x04 /* Set when HMAC message is less than 64 bytes */ -#define CFGFLAG_CHAL_BTN_TRIG 0x08 /* Challenge-respoonse operation requires button press */ +#define CFGFLAG_CHAL_BTN_TRIG 0x08 /* Challenge-response operation requires button press */ #define EXTFLAG_SERIAL_BTN_VISIBLE 0x01 /* Serial number visible at startup (button press) */ #define EXTFLAG_SERIAL_USB_VISIBLE 0x02 /* Serial number visible in USB iSerial field */ #define EXTFLAG_SERIAL_API_VISIBLE 0x04 /* Serial number visible via API call */ +/* V2.3 flags only */ + +#define EXTFLAG_USE_NUMERIC_KEYPAD 0x08 /* Use numeric keypad for digits */ +#define EXTFLAG_FAST_TRIG 0x10 /* Use fast trig if only cfg1 set */ +#define EXTFLAG_ALLOW_UPDATE 0x20 /* Allow update of existing configuration (selected flags + access code) */ +#define EXTFLAG_DORMANT 0x40 /* Dormant configuration (can be woken up and flag removed = requires update flag) */ + +/* Flags valid for update */ + +#define TKTFLAG_UPDATE_MASK (TKTFLAG_TAB_FIRST | TKTFLAG_APPEND_TAB1 | TKTFLAG_APPEND_TAB2 | TKTFLAG_APPEND_DELAY1 | TKTFLAG_APPEND_DELAY2 | TKTFLAG_APPEND_CR) +#define CFGFLAG_UPDATE_MASK 0 +#define EXTFLAG_UPDATE_MASK (EXTFLAG_SERIAL_BTN_VISIBLE | EXTFLAG_SERIAL_USB_VISIBLE | EXTFLAG_SERIAL_API_VISIBLE | EXTFLAG_USE_NUMERIC_KEYPAD | EXTFLAG_FAST_TRIG | EXTFLAG_ALLOW_UPDATE) + /* Navigation */ /* NOTE: Navigation isn't available since Yubikey 1.3.5 and is strongly @@ -193,7 +207,7 @@ struct status_st { }; #define CONFIG1_VALID 0x01 /* Bit in touchLevel indicating that configuration 1 is valid (from firmware 2.1) */ -#define CONFIG2_VALID 0x02 /* Bit in touchLevel indicating that configuration 1 is valid (from firmware 2.1) */ +#define CONFIG2_VALID 0x02 /* Bit in touchLevel indicating that configuration 2 is valid (from firmware 2.1) */ /* Modified hex string mapping */