aboutsummaryrefslogtreecommitdiff
path: root/rpc_misc.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2017-04-30 10:21:09 -0400
committerRob Austein <sra@hactrn.net>2017-04-30 10:21:09 -0400
commita76a684fbd33c2b90a33e9c12e7536149630d6b5 (patch)
treeedb512556900a5a6680dd946050e60c0ea8e1128 /rpc_misc.c
parent18c297c5f88681236aec2537f7e7f2d9b50fcd7e (diff)
parent018b238e7aac5b4a990a28f49323b821246c9f66 (diff)
Merge branch 'ksng' into no-rtos
Diffstat (limited to 'rpc_misc.c')
-rw-r--r--rpc_misc.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/rpc_misc.c b/rpc_misc.c
index cf5e4a0..3f466bb 100644
--- a/rpc_misc.c
+++ b/rpc_misc.c
@@ -78,15 +78,23 @@ typedef struct {
} client_slot_t;
#ifndef HAL_PIN_MINIMUM_ITERATIONS
-#define HAL_PIN_MINIMUM_ITERATIONS 10000
+#define HAL_PIN_MINIMUM_ITERATIONS 1000
#endif
#ifndef HAL_PIN_DEFAULT_ITERATIONS
-#define HAL_PIN_DEFAULT_ITERATIONS 20000
+#define HAL_PIN_DEFAULT_ITERATIONS 2000
#endif
static uint32_t hal_pin_default_iterations = HAL_PIN_DEFAULT_ITERATIONS;
+/*
+ * Seconds to delay when given a bad PIN.
+ */
+
+#ifndef HAL_PIN_DELAY_ON_FAILURE
+#define HAL_PIN_DELAY_ON_FAILURE 5
+#endif
+
#ifndef HAL_STATIC_CLIENT_STATE_BLOCKS
#define HAL_STATIC_CLIENT_STATE_BLOCKS 10
#endif
@@ -155,8 +163,10 @@ static hal_error_t login(const hal_client_handle_t client,
for (int i = 0; i < sizeof(buf); i++)
diff |= buf[i] ^ p->pin[i];
- if (diff != 0)
+ if (diff != 0) {
+ hal_sleep(HAL_PIN_DELAY_ON_FAILURE);
return HAL_ERROR_PIN_INCORRECT;
+ }
client_slot_t *slot = find_handle(client);