aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2023-01-16 19:32:37 -0900
committerDavid M. Syzdek <david@syzdek.net>2023-01-16 19:32:37 -0900
commit8a1145c29a789e06a591df5d5f97f87c71eaeb5a (patch)
treec8c2117874a828693df55b94e9d86eb875396b56 /lib
parent56c7a93dcdd9ea16848636a3dd56cde15a871297 (diff)
downloadotputils-8a1145c29a789e06a591df5d5f97f87c71eaeb5a.tar.gz
otputils-8a1145c29a789e06a591df5d5f97f87c71eaeb5a.tar.bz2
otputils-8a1145c29a789e06a591df5d5f97f87c71eaeb5a.tar.xz
otputils-8a1145c29a789e06a591df5d5f97f87c71eaeb5a.zip
libotputil: adding otputil_encoding2str() and otputil_str2encoding()
Diffstat (limited to 'lib')
-rw-r--r--lib/libotputil/libotputil.sym2
-rw-r--r--lib/libotputil/lmisc.c44
2 files changed, 43 insertions, 3 deletions
diff --git a/lib/libotputil/libotputil.sym b/lib/libotputil/libotputil.sym
index 3c3c4c2..7a7ebbf 100644
--- a/lib/libotputil/libotputil.sym
+++ b/lib/libotputil/libotputil.sym
@@ -71,10 +71,12 @@ otputil_set_param
71# 71#
72# misc functions 72# misc functions
73otputil_debug 73otputil_debug
74otputil_encoding2str
74otputil_err2string 75otputil_err2string
75otputil_getpass 76otputil_getpass
76otputil_md2str 77otputil_md2str
77otputil_meth2str 78otputil_meth2str
79otputil_str2encoding
78otputil_str2md 80otputil_str2md
79otputil_str2meth 81otputil_str2meth
80# 82#
diff --git a/lib/libotputil/lmisc.c b/lib/libotputil/lmisc.c
index 1ec3c78..8312e86 100644
--- a/lib/libotputil/lmisc.c
+++ b/lib/libotputil/lmisc.c
@@ -55,10 +55,23 @@
55///////////////// 55/////////////////
56#pragma mark - Variables 56#pragma mark - Variables
57 57
58#pragma mark otputil_encoding_list[]
59static const otputil_map_t otputil_encoding_list[] =
60{
61 { .map_name = "none", .map_id = 0 },
62 { .map_name = "hex", .map_id = OTPUTIL_ENC_HEX },
63 { .map_name = "six-word", .map_id = OTPUTIL_ENC_SIXWORD },
64 { .map_name = "altdict", .map_id = OTPUTIL_ENC_ALTDICT },
65 // duplicate names
66 { .map_name = "six", .map_id = OTPUTIL_ENC_SIXWORD },
67 { .map_name = NULL, .map_id = 0 },
68};
69
70
58#pragma mark otputil_md_list[] 71#pragma mark otputil_md_list[]
59static const otputil_map_t otputil_md_list[] = 72static const otputil_map_t otputil_md_list[] =
60{ 73{
61 { .map_name = "none", .map_id = OTPUTIL_MD_NONE }, 74 { .map_name = "none", .map_id = 0 },
62 { .map_name = "md4", .map_id = OTPUTIL_MD_MD4 }, 75 { .map_name = "md4", .map_id = OTPUTIL_MD_MD4 },
63 { .map_name = "md5", .map_id = OTPUTIL_MD_MD5 }, 76 { .map_name = "md5", .map_id = OTPUTIL_MD_MD5 },
64 { .map_name = "sha1", .map_id = OTPUTIL_MD_SHA1 }, 77 { .map_name = "sha1", .map_id = OTPUTIL_MD_SHA1 },
@@ -123,7 +136,7 @@ otputil_debug(
123 fprintf(fs, "\n"); 136 fprintf(fs, "\n");
124 137
125 fprintf(fs, "OTP (RFC 2289) Options:\n"); 138 fprintf(fs, "OTP (RFC 2289) Options:\n");
126 fprintf(fs, " OTPUTIL_OPT_OTP_ENCODE: %i\n", tud->otp_encoding); 139 fprintf(fs, " OTPUTIL_OPT_OTP_ENCODE: %s (%i)\n", otputil_encoding2str(tud->otp_encoding), tud->otp_encoding);
127 fprintf(fs, " OTPUTIL_OPT_OTP_HASH: %s (%i)\n", otputil_md2str(tud->otp_hash), tud->otp_hash); 140 fprintf(fs, " OTPUTIL_OPT_OTP_HASH: %s (%i)\n", otputil_md2str(tud->otp_hash), tud->otp_hash);
128 fprintf(fs, " OTPUTIL_OPT_OTP_PASS: %s\n", (((tud->otp_pass)) ? tud->otp_pass : "n/a")); 141 fprintf(fs, " OTPUTIL_OPT_OTP_PASS: %s\n", (((tud->otp_pass)) ? tud->otp_pass : "n/a"));
129 fprintf(fs, " OTPUTIL_OPT_OTP_SEED: %s\n", (((tud->otp_seed)) ? tud->otp_seed : "n/a")); 142 fprintf(fs, " OTPUTIL_OPT_OTP_SEED: %s\n", (((tud->otp_seed)) ? tud->otp_seed : "n/a"));
@@ -131,7 +144,7 @@ otputil_debug(
131 fprintf(fs, "\n"); 144 fprintf(fs, "\n");
132 145
133 fprintf(fs, "S/KEY (RFC 1760) Options:\n"); 146 fprintf(fs, "S/KEY (RFC 1760) Options:\n");
134 fprintf(fs, " OTPUTIL_OPT_SKEY_ENCODE: %i\n", tud->skey_encoding); 147 fprintf(fs, " OTPUTIL_OPT_SKEY_ENCODE: %s (%i)\n", otputil_encoding2str(tud->skey_encoding), tud->skey_encoding);
135 fprintf(fs, " OTPUTIL_OPT_SKEY_HASH: %s (%i)\n", otputil_md2str(tud->skey_hash), tud->skey_hash); 148 fprintf(fs, " OTPUTIL_OPT_SKEY_HASH: %s (%i)\n", otputil_md2str(tud->skey_hash), tud->skey_hash);
136 fprintf(fs, " OTPUTIL_OPT_SKEY_PASS: %s\n", (((tud->skey_pass)) ? tud->skey_pass : "n/a")); 149 fprintf(fs, " OTPUTIL_OPT_SKEY_PASS: %s\n", (((tud->skey_pass)) ? tud->skey_pass : "n/a"));
137 fprintf(fs, " OTPUTIL_OPT_SKEY_SEQ: %i\n", tud->skey_seq); 150 fprintf(fs, " OTPUTIL_OPT_SKEY_SEQ: %i\n", tud->skey_seq);
@@ -150,6 +163,18 @@ otputil_debug(
150 163
151 164
152const char * 165const char *
166otputil_encoding2str(
167 int md )
168{
169 int x;
170 for(x = 0; ((otputil_encoding_list[x].map_name)); x++)
171 if (md == otputil_encoding_list[x].map_id)
172 return(otputil_encoding_list[x].map_name);
173 return(NULL);
174}
175
176
177const char *
153otputil_err2string( 178otputil_err2string(
154 int err ) 179 int err )
155{ 180{
@@ -232,6 +257,19 @@ otputil_meth2str(
232 257
233 258
234int 259int
260otputil_str2encoding(
261 const char * str )
262{
263 int x;
264 assert(str != NULL);
265 for(x = 0; ((otputil_encoding_list[x].map_name)); x++)
266 if (!(strcasecmp(str, otputil_encoding_list[x].map_name)))
267 return(otputil_encoding_list[x].map_id);
268 return(-1);
269}
270
271
272int
235otputil_str2md( 273otputil_str2md(
236 const char * str ) 274 const char * str )
237{ 275{