diff options
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 */ |