Merge pull request #182 from solokeys/nfc_adjustments

Nfc adjustments
This commit is contained in:
Conor Patrick 2019-04-23 19:42:14 -04:00 committed by GitHub
commit 5f3974a4e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 12 deletions

View File

@ -466,12 +466,11 @@ static int ctap_make_auth_data(struct rpId * rp, CborEncoder * map, uint8_t * au
count = auth_data_update_count(&authData->head);
device_set_status(CTAPHID_STATUS_UPNEEDED);
// if NFC - not need to click a button
int but = 1;
if(!device_is_nfc())
{
but = ctap_user_presence_test();
}
int but;
but = ctap_user_presence_test();
if (!but)
{
@ -704,7 +703,7 @@ uint8_t ctap_make_credential(CborEncoder * encoder, uint8_t * request, int lengt
}
if (MC.pinAuthEmpty)
{
if (!device_is_nfc() && !ctap_user_presence_test())
if (!ctap_user_presence_test())
{
return CTAP2_ERR_OPERATION_DENIED;
}
@ -1143,7 +1142,7 @@ uint8_t ctap_get_assertion(CborEncoder * encoder, uint8_t * request, int length)
if (GA.pinAuthEmpty)
{
if (!device_is_nfc() && !ctap_user_presence_test())
if (!ctap_user_presence_test())
{
return CTAP2_ERR_OPERATION_DENIED;
}

View File

@ -81,4 +81,4 @@ cbor:
cd ../../tinycbor/ && make clean
cd ../../tinycbor/ && make CC="$(CC)" AR=$(AR) \
LDFLAGS="$(LDFLAGS_LIB)" \
CFLAGS="$(CFLAGS)"
CFLAGS="$(CFLAGS) -Os"

View File

@ -111,13 +111,13 @@ void device_init()
{
hw_init(LOW_FREQUENCY);
isLowFreq = 0;
haveNFC = nfc_init();
if (haveNFC)
{
printf1(TAG_NFC, "Have NFC\r\n");
isLowFreq = 1;
}
else
{
@ -460,6 +460,10 @@ static int handle_packets()
int ctap_user_presence_test()
{
int ret;
if (device_is_nfc())
{
return 1;
}
#if SKIP_BUTTON_CHECK_WITH_DELAY
int i=500;
while(i--)

View File

@ -496,9 +496,9 @@ void nfc_process_iblock(uint8_t * buf, int len)
// WTX_on(WTX_TIME_DEFAULT);
// SystemClock_Config_LF32();
// delay(300);
device_set_clock_rate(DEVICE_LOW_POWER_FAST);;
if (device_is_nfc()) device_set_clock_rate(DEVICE_LOW_POWER_FAST);;
u2f_request_nfc(&buf[1], len, &ctap_resp);
device_set_clock_rate(DEVICE_LOW_POWER_IDLE);;
if (device_is_nfc()) device_set_clock_rate(DEVICE_LOW_POWER_IDLE);;
// if (!WTX_off())
// return;