aboutsummaryrefslogtreecommitdiffstats
path: root/src/crypto.h
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2022-06-14 11:35:01 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2022-06-14 11:35:01 +0200
commit5ba28362feba89d28354e0ea038dc5f4ebaaf19e (patch)
treeac5e4543f85bf3527d0beeda2f3c17c15d9eb347 /src/crypto.h
parentwg_noise: import hmac from crypto (diff)
downloadwireguard-freebsd-5ba28362feba89d28354e0ea038dc5f4ebaaf19e.tar.xz
wireguard-freebsd-5ba28362feba89d28354e0ea038dc5f4ebaaf19e.zip
crypto: inline blake2s convenience function
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r--src/crypto.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/crypto.h b/src/crypto.h
index e463361..90b27b9 100644
--- a/src/crypto.h
+++ b/src/crypto.h
@@ -129,8 +129,19 @@ void blake2s_update(struct blake2s_state *state, const uint8_t *in, size_t inlen
void blake2s_final(struct blake2s_state *state, uint8_t *out);
-void blake2s(uint8_t *out, const uint8_t *in, const uint8_t *key,
- const size_t outlen, const size_t inlen, const size_t keylen);
+static inline void blake2s(uint8_t *out, const uint8_t *in, const uint8_t *key,
+ const size_t outlen, const size_t inlen, const size_t keylen)
+{
+ struct blake2s_state state;
+
+ if (keylen)
+ blake2s_init_key(&state, outlen, key, keylen);
+ else
+ blake2s_init(&state, outlen);
+
+ blake2s_update(&state, in, inlen);
+ blake2s_final(&state, out);
+}
#endif
#ifdef COMPAT_NEED_CURVE25519