Skip to content

Commit 3d1a3d5

Browse files
ni4antonsviridenko
authored andcommitted
Use enum class for hex case encoding type.
1 parent 14ed52b commit 3d1a3d5

File tree

9 files changed

+36
-36
lines changed

9 files changed

+36
-36
lines changed

src/lib/crypto/mem.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ secure_clear(void *vp, size_t size)
3838
namespace rnp {
3939

4040
bool
41-
hex_encode(const uint8_t *buf, size_t buf_len, char *hex, size_t hex_len, hex_format_t format)
41+
hex_encode(const uint8_t *buf, size_t buf_len, char *hex, size_t hex_len, HexFormat format)
4242
{
43-
uint32_t flags = format == HEX_LOWERCASE ? BOTAN_FFI_HEX_LOWER_CASE : 0;
43+
uint32_t flags = format == HexFormat::Lowercase ? BOTAN_FFI_HEX_LOWER_CASE : 0;
4444

4545
if (hex_len < (buf_len * 2 + 1)) {
4646
return false;

src/lib/crypto/mem.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,15 @@ template <typename T, std::size_t N> struct secure_array {
150150
}
151151
};
152152

153-
typedef enum { HEX_LOWERCASE, HEX_UPPERCASE } hex_format_t;
153+
enum class HexFormat { Lowercase, Uppercase };
154154

155155
bool hex_encode(const uint8_t *buf,
156156
size_t buf_len,
157157
char * hex,
158158
size_t hex_len,
159-
hex_format_t format = HEX_UPPERCASE);
159+
HexFormat format = HexFormat::Uppercase);
160160
size_t hex_decode(const char *hex, uint8_t *buf, size_t buf_len);
161+
161162
} // namespace rnp
162163

163164
void secure_clear(void *vp, size_t size);

src/lib/crypto/mem_ossl.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ secure_clear(void *vp, size_t size)
3939
namespace rnp {
4040

4141
bool
42-
hex_encode(const uint8_t *buf, size_t buf_len, char *hex, size_t hex_len, hex_format_t format)
42+
hex_encode(const uint8_t *buf, size_t buf_len, char *hex, size_t hex_len, HexFormat format)
4343
{
4444
if (hex_len < (buf_len * 2 + 1)) {
4545
return false;
4646
}
4747
static const char *hex_low = "0123456789abcdef";
4848
static const char *hex_up = "0123456789ABCDEF";
49-
const char * hex_ch = (format == HEX_LOWERCASE) ? hex_low : hex_up;
49+
const char * hex_ch = (format == HexFormat::Lowercase) ? hex_low : hex_up;
5050
hex[buf_len * 2] = '\0';
5151
for (size_t i = 0; i < buf_len; i++) {
5252
hex[i << 1] = hex_ch[buf[i] >> 4];

src/lib/json-utils.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ json_add_hex(json_object *obj, const char *name, const uint8_t *val, size_t val_
9696
return false;
9797
}
9898

99-
bool res = rnp::hex_encode(val, val_len, hexbuf, hexlen, rnp::HEX_LOWERCASE) &&
99+
bool res = rnp::hex_encode(val, val_len, hexbuf, hexlen, rnp::HexFormat::Lowercase) &&
100100
json_add(obj, name, json_object_new_string(hexbuf));
101101

102102
if (hexbuf != smallbuf) {

src/lib/logging.h

+22-21
Original file line numberDiff line numberDiff line change
@@ -69,29 +69,30 @@ class LogStop {
6969

7070
#define RNP_LOG(...) RNP_LOG_FD(stderr, __VA_ARGS__)
7171

72-
#define RNP_LOG_KEY(msg, key) \
73-
do { \
74-
if (!(key)) { \
75-
RNP_LOG(msg, "(null)"); \
76-
break; \
77-
} \
78-
char keyid[PGP_KEY_ID_SIZE * 2 + 1] = {0}; \
79-
const pgp_key_id_t &id = (key)->keyid(); \
80-
rnp::hex_encode(id.data(), id.size(), keyid, sizeof(keyid), rnp::HEX_LOWERCASE); \
81-
RNP_LOG(msg, keyid); \
72+
#define RNP_LOG_KEY(msg, key) \
73+
do { \
74+
if (!(key)) { \
75+
RNP_LOG(msg, "(null)"); \
76+
break; \
77+
} \
78+
char keyid[PGP_KEY_ID_SIZE * 2 + 1] = {0}; \
79+
const pgp_key_id_t &id = (key)->keyid(); \
80+
rnp::hex_encode( \
81+
id.data(), id.size(), keyid, sizeof(keyid), rnp::HexFormat::Lowercase); \
82+
RNP_LOG(msg, keyid); \
8283
} while (0)
8384

84-
#define RNP_LOG_KEY_PKT(msg, key) \
85-
do { \
86-
pgp_key_id_t keyid = {}; \
87-
if (pgp_keyid(keyid, (key))) { \
88-
RNP_LOG(msg, "unknown"); \
89-
break; \
90-
}; \
91-
char keyidhex[PGP_KEY_ID_SIZE * 2 + 1] = {0}; \
92-
rnp::hex_encode( \
93-
keyid.data(), keyid.size(), keyidhex, sizeof(keyidhex), rnp::HEX_LOWERCASE); \
94-
RNP_LOG(msg, keyidhex); \
85+
#define RNP_LOG_KEY_PKT(msg, key) \
86+
do { \
87+
pgp_key_id_t keyid = {}; \
88+
if (pgp_keyid(keyid, (key))) { \
89+
RNP_LOG(msg, "unknown"); \
90+
break; \
91+
}; \
92+
char keyidhex[PGP_KEY_ID_SIZE * 2 + 1] = {0}; \
93+
rnp::hex_encode( \
94+
keyid.data(), keyid.size(), keyidhex, sizeof(keyidhex), rnp::HexFormat::Lowercase); \
95+
RNP_LOG(msg, keyidhex); \
9596
} while (0)
9697

9798
#endif

src/lib/pgp-key.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1752,7 +1752,7 @@ pgp_key_t::write_xfer(pgp_dest_t &dst, const rnp::KeyStore *keyring) const
17521752
if (!subkey) {
17531753
char fphex[PGP_FINGERPRINT_HEX_SIZE] = {0};
17541754
rnp::hex_encode(
1755-
fp.fingerprint, fp.length, fphex, sizeof(fphex), rnp::HEX_LOWERCASE);
1755+
fp.fingerprint, fp.length, fphex, sizeof(fphex), rnp::HexFormat::Lowercase);
17561756
RNP_LOG("Warning! Subkey %s not found.", fphex);
17571757
continue;
17581758
}

src/lib/rnp.cpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -513,17 +513,14 @@ parse_ks_format(pgp_key_store_format_t *key_store_format, const char *format)
513513
}
514514

515515
static rnp_result_t
516-
hex_encode_value(const uint8_t * value,
517-
size_t len,
518-
char ** res,
519-
rnp::hex_format_t format = rnp::HEX_UPPERCASE)
516+
hex_encode_value(const uint8_t *value, size_t len, char **res)
520517
{
521518
size_t hex_len = len * 2 + 1;
522519
*res = (char *) malloc(hex_len);
523520
if (!*res) {
524521
return RNP_ERROR_OUT_OF_MEMORY;
525522
}
526-
if (!rnp::hex_encode(value, len, *res, hex_len, format)) {
523+
if (!rnp::hex_encode(value, len, *res, hex_len, rnp::HexFormat::Uppercase)) {
527524
free(*res);
528525
*res = NULL;
529526
return RNP_ERROR_GENERIC;

src/tests/key-validate.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ all_keys_valid(const rnp::KeyStore *keyring, pgp_key_t *except = NULL)
4242
key.keyid().size(),
4343
keyid,
4444
sizeof(keyid),
45-
rnp::HEX_LOWERCASE)) {
45+
rnp::HexFormat::Lowercase)) {
4646
throw std::exception();
4747
}
4848
RNP_LOG("key %s is not valid", keyid);

src/tests/utils-hex2bin.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ TEST_F(rnp_tests, test_utils_hex2bin)
7979
{
8080
uint8_t buf[2] = {0xAB, 0xCD};
8181
char hex[4];
82-
assert_false(rnp::hex_encode(buf, sizeof(buf), hex, sizeof(hex), rnp::HEX_LOWERCASE));
82+
assert_false(
83+
rnp::hex_encode(buf, sizeof(buf), hex, sizeof(hex), rnp::HexFormat::Lowercase));
8384
}
8485
}

0 commit comments

Comments
 (0)