aboutsummaryrefslogtreecommitdiff
path: root/src/wrapper.c
diff options
context:
space:
mode:
authorDirkjan Bussink <d.bussink@gmail.com>2014-04-20 10:04:21 +0000
committerAndreas Schneider <asn@cryptomilk.org>2014-04-22 10:56:46 +0200
commit164b8e99cce70c83d2ef3e2c2b832a514a0ac908 (patch)
treed748e7afc7447354c9493bb7957f264d1140affa /src/wrapper.c
parent4a089026647073be32ddb0885c12f47496bc709b (diff)
downloadlibssh-164b8e99cce70c83d2ef3e2c2b832a514a0ac908.tar.gz
libssh-164b8e99cce70c83d2ef3e2c2b832a514a0ac908.tar.xz
libssh-164b8e99cce70c83d2ef3e2c2b832a514a0ac908.zip
Add logic to support SHA2 HMAC algorithms
BUG: https://red.libssh.org/issues/91 Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/wrapper.c')
-rw-r--r--src/wrapper.c17
1 files changed, 17 insertions, 0 deletions
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;