aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/otputil.c10
-rw-r--r--src/widget-skey.c11
2 files changed, 21 insertions, 0 deletions
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[] =
211 .func_exec = &otputil_widget_skey, 211 .func_exec = &otputil_widget_skey,
212 .func_usage = &otputil_widget_skey_usage, 212 .func_usage = &otputil_widget_skey_usage,
213 }, 213 },
214 { .name = "skey-md4",
215 .desc = NULL,
216 .usage = " [ sequence ]",
217 .short_opt = (TOTP_SHORT_OPT "c:O:oP:p"),
218 .arg_min = 0,
219 .arg_max = 1,
220 .aliases = (const char *[]){ "skey-md5", "skey-sha1", "skey-sha256", "skey-sha512", NULL },
221 .func_exec = &otputil_widget_skey,
222 .func_usage = NULL,
223 },
214 224
215 // TOTP widget and aliases 225 // TOTP widget and aliases
216 { .name = "totp", 226 { .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(
115 return(1); 115 return(1);
116 }; 116 };
117 117
118 // set default hash
119 if (!(strncasecmp(cnf->argv[0], "skey-", 4)))
120 {
121 if ((hash = otputil_str2md(&cnf->argv[0][5])) == -1)
122 {
123 fprintf(stderr, "%s: unsupported hash algorithm\n", cnf->prog_name);
124 return(1);
125 };
126 otputil_set_param(NULL, OTPUTIL_OPT_SKEY_HASH, &hash);
127 };
128
118 // initial processing of cli arguments 129 // initial processing of cli arguments
119 if ((rc = otputil_arguments(cnf, cnf->argc, cnf->argv)) != 0) 130 if ((rc = otputil_arguments(cnf, cnf->argc, cnf->argv)) != 0)
120 return((rc == -1) ? 0 : 1); 131 return((rc == -1) ? 0 : 1);