From aaab49ba46c961adb78b368331a871a5e42c83d6 Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Thu, 12 Jan 2023 16:16:13 -0900 Subject: libotputil: adding support for SKEY/OTP to otputil_str() --- lib/libotputil/lcore.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/libotputil/lcore.c b/lib/libotputil/lcore.c index 5ccc143..7381540 100644 --- a/lib/libotputil/lcore.c +++ b/lib/libotputil/lcore.c @@ -750,15 +750,28 @@ otputil_str( dstlen = ((dst)) ? dstlen : sizeof(buff); dst = ((dst)) ? dst : buff; - if ((code = otputil_code(tud)) == -1) - return(NULL); - switch(tud->util_method) { - case OTPUTIL_METH_HOTP: return(otputil_code2str(code, (int)tud->hotp_digits, dst, dstlen)); - case OTPUTIL_METH_TOTP: return(otputil_code2str(code, (int)tud->totp_digits, dst, dstlen)); - default: break; + case OTPUTIL_METH_HOTP: + if ((code = otputil_code(tud)) == -1) + return(NULL); + return(otputil_code2str(code, (int)tud->hotp_digits, dst, dstlen)); + + case OTPUTIL_METH_OTP: + return(otputil_otp_str(tud->otp_pass, tud->otp_seed, tud->otp_seq, tud->otp_hash, tud->otp_encoding, dst, dstlen)); + + case OTPUTIL_METH_SKEY: + return(otputil_skey_str(tud->skey_pass, tud->skey_seq, tud->skey_hash, tud->skey_encoding, dst, dstlen)); + + case OTPUTIL_METH_TOTP: + if ((code = otputil_code(tud)) == -1) + return(NULL); + return(otputil_code2str(code, (int)tud->totp_digits, dst, dstlen)); + + default: + break; }; + return(NULL); } -- cgit v1.2.3