diff options
author | dimitri staessens <[email protected]> | 2017-08-09 19:41:57 +0000 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2017-08-09 19:41:57 +0000 |
commit | afc4342532225fb86d11729ddb783095cb62686a (patch) | |
tree | 58ef8a40142323771eecbd8ce6c2eaea409bc138 /include | |
parent | c1d7ff1e1bd44e1a38af8a1b498c68f3378fa342 (diff) | |
parent | 24aa46946349529bf36d3569796a28917d3e756f (diff) | |
download | ouroboros-afc4342532225fb86d11729ddb783095cb62686a.tar.gz ouroboros-afc4342532225fb86d11729ddb783095cb62686a.zip |
Merged in dstaesse/ouroboros/be-libgcrypt (pull request #544)
build, lib, ipcpd, irmd: Add support for libgcrypt
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/config.h.in | 4 | ||||
-rw-r--r-- | include/ouroboros/hash.h | 27 | ||||
-rw-r--r-- | include/ouroboros/ipcp.h | 17 |
3 files changed, 34 insertions, 14 deletions
diff --git a/include/ouroboros/config.h.in b/include/ouroboros/config.h.in index 0957ee4d..881410eb 100644 --- a/include/ouroboros/config.h.in +++ b/include/ouroboros/config.h.in @@ -37,6 +37,10 @@ #define IPCP_NORMAL_EXEC "@IPCP_NORMAL_TARGET@" #define IPCP_LOCAL_EXEC "@IPCP_LOCAL_TARGET@" #cmakedefine HAVE_ROBUST_MUTEX +#cmakedefine HAVE_SYS_RANDOM +#cmakedefine HAVE_LIBGCRYPT +#cmakedefine HAVE_OPENSSL +#cmakedefine HAVE_NETMAP #define AP_MAX_FLOWS 2048 #define AP_RES_FDS 64 #define AP_MAX_FQUEUES 64 diff --git a/include/ouroboros/hash.h b/include/ouroboros/hash.h index 456a93f3..6d3f98a3 100644 --- a/include/ouroboros/hash.h +++ b/include/ouroboros/hash.h @@ -25,11 +25,30 @@ #define OUROBOROS_LIB_HASH_H #include <ouroboros/endian.h> -#include <ouroboros/ipcp.h> -#include <ouroboros/crc32.h> -#include <ouroboros/md5.h> -#include <ouroboros/sha3.h> +#ifdef HAVE_LIBGCRYPT +#include <gcrypt.h> +#endif +#include <stdint.h> + +/* Hash algorithms */ +enum hash_algo { +#ifdef HAVE_LIBGCRYPT + HASH_CRC32 = GCRY_MD_CRC32, + HASH_MD5 = GCRY_MD_MD5, + HASH_SHA3_224 = GCRY_MD_SHA3_224, + HASH_SHA3_256 = GCRY_MD_SHA3_256, + HASH_SHA3_384 = GCRY_MD_SHA3_384, + HASH_SHA3_512 = GCRY_MD_SHA3_512 +#else + HASH_CRC32 = 0, + HASH_MD5, + HASH_SHA3_224, + HASH_SHA3_256, + HASH_SHA3_384, + HASH_SHA3_512 +#endif +}; #define HASH_FMT "%02x%02x%02x%02x" #define HASH_VAL(hash) \ diff --git a/include/ouroboros/ipcp.h b/include/ouroboros/ipcp.h index 1b775a63..7c34cc7d 100644 --- a/include/ouroboros/ipcp.h +++ b/include/ouroboros/ipcp.h @@ -52,22 +52,19 @@ enum pol_routing { LINK_STATE = 0 }; -/* Hash algorithms */ -enum hash_algo { - HASH_CRC32 = 0, - HASH_MD5, - HASH_SHA3_224, - HASH_SHA3_256, - HASH_SHA3_384, - HASH_SHA3_512 +enum pol_dir_hash { + DIR_HASH_SHA3_224 = 0, + DIR_HASH_SHA3_256, + DIR_HASH_SHA3_384, + DIR_HASH_SHA3_512 }; #define DIF_NAME_SIZE 256 /* Info reported back to the IRMd about the DIF on enrollment */ struct dif_info { - char dif_name[DIF_NAME_SIZE]; - enum hash_algo dir_hash_algo; + char dif_name[DIF_NAME_SIZE]; + enum pol_dir_hash dir_hash_algo; }; /* Structure to configure the first IPCP */ |