aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2023-01-12 16:11:37 -0900
committerDavid M. Syzdek <david@syzdek.net>2023-01-12 16:11:37 -0900
commitece4f14c6c7707d1e33481e1deb7f2ca13ab1a6a (patch)
tree89fb62586ae0f878425e79f14e8e94209e182c83
parenta2c6e9d98e1dfe3fea91017fbb86872586a2e2eb (diff)
downloadotputils-ece4f14c6c7707d1e33481e1deb7f2ca13ab1a6a.tar.gz
otputils-ece4f14c6c7707d1e33481e1deb7f2ca13ab1a6a.tar.bz2
otputils-ece4f14c6c7707d1e33481e1deb7f2ca13ab1a6a.tar.xz
otputils-ece4f14c6c7707d1e33481e1deb7f2ca13ab1a6a.zip
libotputil: refactoring otputil_skey_str()
-rw-r--r--lib/libotputil/lrfc1760-skey.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/lib/libotputil/lrfc1760-skey.c b/lib/libotputil/lrfc1760-skey.c
index 1a6e9fa..61583ba 100644
--- a/lib/libotputil/lrfc1760-skey.c
+++ b/lib/libotputil/lrfc1760-skey.c
@@ -166,31 +166,17 @@ otputil_skey_str(
166 char * dst, 166 char * dst,
167 size_t dstlen ) 167 size_t dstlen )
168{ 168{
169 uint64_t val; 169 static char buff[32];
170 otputil_bv_t res; 170
171 uint8_t bv_val[8]; 171 assert(skey_pass != NULL);
172 static char buff[32];
173 172
174 dstlen = ((dst)) ? dstlen : sizeof(buff); 173 dstlen = ((dst)) ? dstlen : sizeof(buff);
175 dst = ((dst)) ? dst : buff; 174 dst = ((dst)) ? dst : buff;
175 skey_seq = (skey_seq >= 0) ? skey_seq : otputil_defaults.skey_seq;
176 skey_hash = ((skey_hash)) ? skey_hash : otputil_defaults.skey_hash;
176 skey_encoding = ((skey_encoding)) ? skey_encoding : otputil_defaults.skey_encoding; 177 skey_encoding = ((skey_encoding)) ? skey_encoding : otputil_defaults.skey_encoding;
177 res.bv_val = bv_val;
178 res.bv_len = sizeof(bv_val);
179
180 if (otputil_skey_code(skey_pass, skey_seq, skey_hash, &val) == -1)
181 return(NULL);
182 178
183 bv_val[0] = (val >> 56) & 0xff; 179 return(otputil_otp_str(skey_pass, NULL, skey_seq, skey_hash, skey_encoding, dst, dstlen));
184 bv_val[1] = (val >> 48) & 0xff;
185 bv_val[2] = (val >> 40) & 0xff;
186 bv_val[3] = (val >> 32) & 0xff;
187 bv_val[4] = (val >> 24) & 0xff;
188 bv_val[5] = (val >> 16) & 0xff;
189 bv_val[6] = (val >> 8) & 0xff;
190 bv_val[7] = (val >> 0) & 0xff;
191 otputil_otp_encode(&res, dst, dstlen, skey_encoding);
192
193 return(dst);
194} 180}
195 181
196 182