diff options
author | Kim Alvefur <zash@zash.se> | 2020-11-29 17:58:45 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2020-11-29 17:58:45 +0100 |
commit | ae14dc12208406f54c3ac260dc1dfe701e77f3a3 (patch) | |
tree | 3521e985e7949acfcd08ce022b47c149055ba9a3 | |
parent | 54f8ca81f427db3ae9624f9ab5ebd0a566f63013 (diff) | |
download | prosody-ae14dc12208406f54c3ac260dc1dfe701e77f3a3.tar.gz prosody-ae14dc12208406f54c3ac260dc1dfe701e77f3a3.zip |
util.hashes: Expose sha224 and sha384 HMAC functions
For completeness and consistency with set of plain hash functions
-rw-r--r-- | teal-src/util/hashes.d.tl | 2 | ||||
-rw-r--r-- | util-src/hashes.c | 10 | ||||
-rw-r--r-- | util/hmac.lua | 2 |
3 files changed, 14 insertions, 0 deletions
diff --git a/teal-src/util/hashes.d.tl b/teal-src/util/hashes.d.tl index cbb06f8e..2784a59b 100644 --- a/teal-src/util/hashes.d.tl +++ b/teal-src/util/hashes.d.tl @@ -11,6 +11,8 @@ local record lib md5 : hash hmac_sha1 : hmac hmac_sha256 : hmac + hmac_sha224 : hmac + hmac_sha384 :hmac hmac_sha512 : hmac hmac_md5 : hmac scram_Hi_sha1 : kdf diff --git a/util-src/hashes.c b/util-src/hashes.c index 6b7a28d8..00661531 100644 --- a/util-src/hashes.c +++ b/util-src/hashes.c @@ -169,10 +169,18 @@ static int Lhmac_sha1(lua_State *L) { return Levp_hmac(L, EVP_sha1()); } +static int Lhmac_sha224(lua_State *L) { + return Levp_hmac(L, EVP_sha224()); +} + static int Lhmac_sha256(lua_State *L) { return Levp_hmac(L, EVP_sha256()); } +static int Lhmac_sha384(lua_State *L) { + return Levp_hmac(L, EVP_sha384()); +} + static int Lhmac_sha512(lua_State *L) { return Levp_hmac(L, EVP_sha512()); } @@ -236,7 +244,9 @@ static const luaL_Reg Reg[] = { { "sha512", Lsha512 }, { "md5", Lmd5 }, { "hmac_sha1", Lhmac_sha1 }, + { "hmac_sha224", Lhmac_sha224 }, { "hmac_sha256", Lhmac_sha256 }, + { "hmac_sha384", Lhmac_sha384 }, { "hmac_sha512", Lhmac_sha512 }, { "hmac_md5", Lhmac_md5 }, { "scram_Hi_sha1", Lpbkdf2_sha1 }, /* COMPAT */ diff --git a/util/hmac.lua b/util/hmac.lua index 4cad17cc..994ea93b 100644 --- a/util/hmac.lua +++ b/util/hmac.lua @@ -13,6 +13,8 @@ local hashes = require "util.hashes" return { md5 = hashes.hmac_md5, sha1 = hashes.hmac_sha1, + sha224 = hashes.hmac_sha224, sha256 = hashes.hmac_sha256, + sha384 = hashes.hmac_sha384, sha512 = hashes.hmac_sha512, }; |