From c4d414ce1cf8e2098813ccc9e48578a736133c01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Thu, 21 Nov 2024 11:00:25 +0100 Subject: [PATCH] Add pin-info command --- src/main.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 059069e..af3642a 100644 --- a/src/main.c +++ b/src/main.c @@ -35,11 +35,12 @@ void print_help(char *app_name) { printf("Available commands: \n" "\t%s id\n" "\t%s info\n" + "\t%s pin-info\n" "\t%s version\n" "\t%s check \n" "\t%s regenerate \n" "\t%s set [COUNTER]\n", - app_name, app_name, app_name, app_name, app_name, app_name); + app_name, app_name, app_name, app_name, app_name, app_name, app_name); } @@ -119,6 +120,21 @@ int parse_cmd_and_run(int argc, char *const *argv) { res = RET_NO_ERROR; } } break; + case 'p': { // pin-info + struct ResponseStatus status; + res = device_get_status(&dev, &status); + check_ret((res != RET_NO_ERROR) && (res != RET_NO_PIN_ATTEMPTS), res); + if (res != RET_NO_PIN_ATTEMPTS) { + printf("Admin PIN counter: %d\nUser PIN Counter: %d\n", + status.retry_admin, status.retry_user); + } else { + printf("Admin PIN counter: Not set\nUser PIN Counter: Not set\n"); + } + if (res == RET_NO_PIN_ATTEMPTS) { + // Ignore if PIN is not set here + res = RET_NO_ERROR; + } + } break; case 'c': if (argc != 3) break; res = check_code_on_device(&dev, argv[2]);