PIKE_FEATURE_OK(Nettle) # md4 is available in Nettle 1.8 and later. # arctwo is available in Nettle 1.11 and later. # ctr is available in Nettle 1.13 and later. # camellia is available in Nettle 2.1 and later. # gcm is available in Nettle 2.2 and later. # ripemd160 is available in Nettle 2.3 and later. # sha3 and gosthash94 is available in Nettle 2.6 and later. # chacha and poly1305 will be available in Nettle 3.0 and later.
AC_CHECK_HEADERS(nettle/camellia.h nettle/md4.h nettle/sha3.h \
AC_CHECK_HEADERS(nettle/camellia.h nettle/md4.h nettle/sha3.h
nettle/arctwo.h nettle/ripemd160.h nettle/gosthash94.h \ nettle/umac.h nettle/ctr.h nettle/gcm.h nettle/ecdsa.h \ nettle/chacha.h nettle/poly1305.h) AC_CHECK_FUNCS(nettle_md4_init) AC_MSG_CHECKING([for idea.c]) # Have the patent-encumbered idea files been purged? if test -f "$srcdir/idea.c" ; then AC_MSG_RESULT([found]) AC_DEFINE([WITH_IDEA], 1, [idea.c available])
# These may have been purged from the Nettle lib to avoid GPL # contamination. AC_CHECK_FUNCS(nettle_blowfish_decrypt nettle_serpent_decrypt) # This is the recomended interface in Nettle 2.0. AC_CHECK_FUNCS(nettle_yarrow256_slow_reseed) # These weren't present in old Nettles. AC_CHECK_FUNCS(nettle_salsa20_crypt nettle_sha224_init)
# This is the new DSA interface in Nettle 3.0
AC_MSG_CHECKING([for struct yarrow256_ctx.seed_file]) AC_CACHE_VAL(pike_cv_nettle_struct_yarrow256_ctx_seed_file, [ pike_cv_nettle_struct_yarrow256_ctx_seed_file=no AC_TRY_COMPILE([ #include <nettle/yarrow.h> ], [ struct yarrow256_ctx ctx; return !sizeof(ctx.seed_file); ], [ pike_cv_nettle_struct_yarrow256_ctx_seed_file=yes