From 164b8e99cce70c83d2ef3e2c2b832a514a0ac908 Mon Sep 17 00:00:00 2001 From: Dirkjan Bussink Date: Sun, 20 Apr 2014 10:04:21 +0000 Subject: Add logic to support SHA2 HMAC algorithms BUG: https://red.libssh.org/issues/91 Reviewed-by: Andreas Schneider --- src/wrapper.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/wrapper.c') diff --git a/src/wrapper.c b/src/wrapper.c index 94175d0e..3b411a4c 100644 --- a/src/wrapper.c +++ b/src/wrapper.c @@ -48,6 +48,23 @@ #include "libssh/wrapper.h" #include "libssh/pki.h" +size_t hmac_digest_len(enum ssh_hmac_e type) { + switch(type) { + case SSH_HMAC_SHA1: + return SHA_DIGEST_LEN; + case SSH_HMAC_SHA256: + return SHA256_DIGEST_LEN; + case SSH_HMAC_SHA384: + return SHA384_DIGEST_LEN; + case SSH_HMAC_SHA512: + return SHA512_DIGEST_LEN; + case SSH_HMAC_MD5: + return MD5_DIGEST_LEN; + default: + return 0; + } +} + /* it allocates a new cipher structure based on its offset into the global table */ static struct ssh_cipher_struct *cipher_new(int offset) { struct ssh_cipher_struct *cipher = NULL; -- cgit v1.2.3