From 2986e6884bc229e347b706f76d9d655e2d2cd399 Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Tue, 17 Jan 2023 09:37:40 -0900 Subject: otputil: adding skey widget aliases --- src/otputil.c | 10 ++++++++++ src/widget-skey.c | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/otputil.c b/src/otputil.c index 10b857f..7f2ca4d 100644 --- a/src/otputil.c +++ b/src/otputil.c @@ -211,6 +211,16 @@ static otputil_widget_t otputil_widget_map[] = .func_exec = &otputil_widget_skey, .func_usage = &otputil_widget_skey_usage, }, + { .name = "skey-md4", + .desc = NULL, + .usage = " [ sequence ]", + .short_opt = (TOTP_SHORT_OPT "c:O:oP:p"), + .arg_min = 0, + .arg_max = 1, + .aliases = (const char *[]){ "skey-md5", "skey-sha1", "skey-sha256", "skey-sha512", NULL }, + .func_exec = &otputil_widget_skey, + .func_usage = NULL, + }, // TOTP widget and aliases { .name = "totp", diff --git a/src/widget-skey.c b/src/widget-skey.c index 9fa69ea..e66a6dc 100644 --- a/src/widget-skey.c +++ b/src/widget-skey.c @@ -115,6 +115,17 @@ otputil_widget_skey( return(1); }; + // set default hash + if (!(strncasecmp(cnf->argv[0], "skey-", 4))) + { + if ((hash = otputil_str2md(&cnf->argv[0][5])) == -1) + { + fprintf(stderr, "%s: unsupported hash algorithm\n", cnf->prog_name); + return(1); + }; + otputil_set_param(NULL, OTPUTIL_OPT_SKEY_HASH, &hash); + }; + // initial processing of cli arguments if ((rc = otputil_arguments(cnf, cnf->argc, cnf->argv)) != 0) return((rc == -1) ? 0 : 1); -- cgit v1.2.3