From bb112b4eca6647104f472f8f8195ba8ee3437809 Mon Sep 17 00:00:00 2001 From: "David M. Syzdek" Date: Mon, 16 Jan 2023 13:09:40 -0900 Subject: libotputil: adding otputil_debug() --- include/otputil.h | 6 ++++++ lib/libotputil/libotputil.sym | 1 + lib/libotputil/lmisc.c | 50 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/include/otputil.h b/include/otputil.h index 2d4a774..eae91bc 100644 --- a/include/otputil.h +++ b/include/otputil.h @@ -309,6 +309,12 @@ otputil_set_param( //----------------// #pragma mark misc functions +_OTPUTIL_F void +otputil_debug( + otputil_t * tud, + FILE * fs ); + + _OTPUTIL_F char * otputil_getpass( const char * prompt, diff --git a/lib/libotputil/libotputil.sym b/lib/libotputil/libotputil.sym index cf898f6..4ad91f4 100644 --- a/lib/libotputil/libotputil.sym +++ b/lib/libotputil/libotputil.sym @@ -70,6 +70,7 @@ otputil_initialize otputil_set_param # # misc functions +otputil_debug otputil_err2string otputil_getpass otputil_md2str diff --git a/lib/libotputil/lmisc.c b/lib/libotputil/lmisc.c index 4b62d1e..67ebd3d 100644 --- a/lib/libotputil/lmisc.c +++ b/lib/libotputil/lmisc.c @@ -81,6 +81,56 @@ static const otputil_map_t otputil_md_list[] = ///////////////// #pragma mark - Functions +void +otputil_debug( + otputil_t * tud, + FILE * fs ) +{ + const otputil_bv_t * default_bv; + + default_bv = &otputil_const_defaults_k; + tud = ((tud)) ? tud : &otputil_defaults; + fs = ((fs)) ? fs : stdout; + + fprintf(fs, "OTPUtils Options:\n"); + fprintf(fs, " OTPUTIL_OPT_DESC: %s\n", (((tud->util_desc)) ? tud->util_desc : "n/a")); + fprintf(fs, " OTPUTIL_OPT_METHOD: %i\n", tud->util_method); + fprintf(fs, "\n"); + + fprintf(fs, "HOTP (RFC 4226) Options:\n"); + fprintf(fs, " OTPUTIL_OPT_HOTP_C: %" PRIu64 "\n", tud->hotp_c); + fprintf(fs, " OTPUTIL_OPT_HOTP_DIGITS: %i\n", tud->hotp_digits); + fprintf(fs, " OTPUTIL_OPT_HOTP_HMAC: %s\n", otputil_md2str(tud->hotp_hmac)); + fprintf(fs, " OTPUTIL_OPT_HOTP_KSTR: %s\n", otputil_bvbase32(((tud->hotp_k)) ? tud->hotp_k : default_bv)); + fprintf(fs, "\n"); + + fprintf(fs, "OTP (RFC 2289) Options:\n"); + fprintf(fs, " OTPUTIL_OPT_OTP_ENCODE: %i\n", tud->otp_encoding); + fprintf(fs, " OTPUTIL_OPT_OTP_HASH: %s\n", otputil_md2str(tud->otp_hash)); + fprintf(fs, " OTPUTIL_OPT_OTP_PASS: %s\n", (((tud->otp_pass)) ? tud->otp_pass : "n/a")); + fprintf(fs, " OTPUTIL_OPT_OTP_SEED: %s\n", (((tud->otp_seed)) ? tud->otp_seed : "n/a")); + fprintf(fs, " OTPUTIL_OPT_OTP_SEQ: %i\n", tud->otp_seq); + fprintf(fs, "\n"); + + fprintf(fs, "S/KEY (RFC 1760) Options:\n"); + fprintf(fs, " OTPUTIL_OPT_SKEY_ENCODE: %i\n", tud->skey_encoding); + fprintf(fs, " OTPUTIL_OPT_SKEY_HASH: %s\n", otputil_md2str(tud->skey_hash)); + fprintf(fs, " OTPUTIL_OPT_SKEY_PASS: %s\n", (((tud->skey_pass)) ? tud->skey_pass : "n/a")); + fprintf(fs, " OTPUTIL_OPT_SKEY_SEQ: %i\n", tud->skey_seq); + fprintf(fs, "\n"); + + fprintf(fs, "TOTP (RFC 6238) Options:\n"); + fprintf(fs, " OTPUTIL_OPT_TOTP_DIGITS: %i\n", tud->totp_digits); + fprintf(fs, " OTPUTIL_OPT_TOTP_HMAC: %s\n", otputil_md2str(tud->totp_hmac)); + fprintf(fs, " OTPUTIL_OPT_TOTP_KSTR: %s\n", otputil_bvbase32(((tud->totp_k)) ? tud->totp_k : default_bv)); + fprintf(fs, " OTPUTIL_OPT_TOTP_T0: %" PRIu64 "\n", tud->totp_t0); + fprintf(fs, " OTPUTIL_OPT_TOTP_TIME: %" PRIu64 "\n", tud->totp_time); + fprintf(fs, " OTPUTIL_OPT_TOTP_X: %" PRIu64 "\n", tud->totp_tx); + + return; +} + + const char * otputil_err2string( int err ) -- cgit v1.2.3