From cd66e65b9c69204decb0103a1203268d90424e6a Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Fri, 23 Sep 2022 16:46:16 +0200 Subject: [PATCH] Adding ENABLE_POWER_RESET to enable power cycle for reset command. Enabled by default. Signed-off-by: Pol Henarejos --- CMakeLists.txt | 9 +++++++++ src/fido/cbor_reset.c | 2 ++ 2 files changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 954351e..9f6bf1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,15 @@ else() message("Disabling user presence with button") endif(ENABLE_UP_BUTTON) +option(ENABLE_POWER_ON_RESET "Enable/disable power cycle on reset" ON) +if(ENABLE_POWER_ON_RESET) + add_definitions(-DENABLE_POWER_ON_RESET=1) + message("Enabling power cycle on reset") +else() + add_definitions(-DENABLE_POWER_ON_RESET=0) + message("Disabling power cycle on reset") +endif(ENABLE_POWER_ON_RESET) + target_sources(pico_fido PUBLIC ${CMAKE_CURRENT_LIST_DIR}/src/fido/fido.c ${CMAKE_CURRENT_LIST_DIR}/src/fido/files.c diff --git a/src/fido/cbor_reset.c b/src/fido/cbor_reset.c index e92179a..633328c 100644 --- a/src/fido/cbor_reset.c +++ b/src/fido/cbor_reset.c @@ -26,8 +26,10 @@ extern void scan_all(); int cbor_reset() { +#if defined(ENABLE_POWER_ON_RESET) && ENABLE_POWER_ON_RESET==1 if (board_millis() > 10000) return CTAP2_ERR_NOT_ALLOWED; +#endif if (check_user_presence() == false) return CTAP2_ERR_USER_ACTION_TIMEOUT; initialize_flash(true);