diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-04-10 11:27:08 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-04-10 11:44:46 +0100 |
commit | baecba4ce93e91b553e2d5d0d8e779dcd05e1d43 (patch) | |
tree | 53b2c0d9c3975168d8af45990bb90feb974d79af | |
parent | 52d05f46120f7a4cb9d1c9ff6a1d034dcb7f6849 (diff) | |
download | rspamd-baecba4ce93e91b553e2d5d0d8e779dcd05e1d43.tar.gz rspamd-baecba4ce93e91b553e2d5d0d8e779dcd05e1d43.zip |
[Minor] Add helper to get base32 type
-rw-r--r-- | src/libutil/str_util.c | 22 | ||||
-rw-r--r-- | src/libutil/str_util.h | 8 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/libutil/str_util.c b/src/libutil/str_util.c index 3ea725738..b2c50cab7 100644 --- a/src/libutil/str_util.c +++ b/src/libutil/str_util.c @@ -642,6 +642,28 @@ rspamd_encode_base32 (const guchar *in, gsize inlen, enum rspamd_base32_type typ return NULL; } +enum rspamd_base32_type +rspamd_base32_decode_type_from_str (const gchar *str) +{ + enum rspamd_base32_type ret = RSPAMD_BASE32_INVALID; + + if (str == NULL) { + return RSPAMD_BASE32_DEFAULT; + } + + if (strcmp (str, "default") == 0 || strcmp (str, "zbase") == 0) { + ret = RSPAMD_BASE32_ZBASE; + } + else if (strcmp (str, "bleach") == 0) { + ret = RSPAMD_BASE32_BLEACH; + } + else if (strcmp (str, "rfc") == 0) { + ret = RSPAMD_BASE32_RFC; + } + + return ret; +} + static const guchar b32_dec_zbase[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, diff --git a/src/libutil/str_util.h b/src/libutil/str_util.h index 3a794bcc0..f6c2a1389 100644 --- a/src/libutil/str_util.h +++ b/src/libutil/str_util.h @@ -163,9 +163,17 @@ enum rspamd_base32_type { RSPAMD_BASE32_ZBASE = 0, RSPAMD_BASE32_BLEACH, RSPAMD_BASE32_RFC, + RSPAMD_BASE32_INVALID = -1, }; /** + * Returns base32 type from a string or RSPAMD_BASE32_INVALID + * @param str + * @return + */ +enum rspamd_base32_type rspamd_base32_decode_type_from_str (const gchar *str); + +/** * Encode string using base32 encoding * @param in input * @param inlen input length |