| # -*- autoconf -*- |
| ######################################### |
| ## |
| # Miscellaneous checks |
| ## |
| ######################################### |
| |
| ## |
| # Package characteristics |
| # Authentication/Encryption support |
| ## |
| |
| # Check for PKCS11 |
| # |
| AC_MSG_CHECKING([for authentication support]) |
| useopenssl=no |
| usepkcs=no |
| if test "x$ac_cv_lib_pkcs11_C_Initialize" != "xyes" -o "x$ac_cv_header_security_cryptoki_h" != "xyes"; then |
| if test "x$askedpkcs" = "xyes"; then |
| AC_MSG_ERROR(Asked to use PKCS11 but I couldn't find it.) |
| fi |
| else |
| if test "x$askedpkcs" = "xyes"; then |
| usepkcs=yes |
| fi |
| fi |
| |
| # Check for OpenSSL |
| # |
| if test "x$ac_cv_lib_crypto_EVP_md5" != "xyes" -a "x$ac_cv_lib_eay32_EVP_md5" != "xyes" -o "x$ac_cv_header_openssl_hmac_h" != "xyes"; then |
| if test "x$askedopenssl" = "xyes"; then |
| AC_MSG_ERROR(Asked to use OpenSSL but I couldn't find it.) |
| fi |
| else |
| if test "x$askedopenssl" = "xyes"; then |
| useopenssl=yes |
| elif test "x$tryopenssl" = "xyes"; then |
| if test "x$usepkcs" != "xyes"; then |
| useopenssl=yes |
| fi |
| fi |
| fi |
| |
| # Available authentication/encryption modes |
| # |
| if test "x$CRYPTO" = "xinternal" ; then |
| authmodes="MD5 SHA1" |
| if test "x$enable_privacy" != "xno" ; then |
| encrmodes="DES AES" |
| else |
| encrmodes="[disabled]" |
| fi |
| AC_DEFINE(NETSNMP_USE_INTERNAL_CRYPTO, 1, "Define if internal cryptography code should be used") |
| AC_MSG_RESULT(Internal Crypto Support) |
| elif test "x$useopenssl" != "xno" ; then |
| authmodes="MD5 SHA1" |
| if test "x$enable_privacy" != "xno" ; then |
| if test "x$ac_cv_header_openssl_aes_h" = "xyes" ; then |
| encrmodes="DES AES" |
| else |
| encrmodes="DES" |
| fi |
| else |
| encrmodes="[disabled]" |
| fi |
| AC_DEFINE(NETSNMP_USE_OPENSSL) |
| LNETSNMPLIBS="$LNETSNMPLIBS $LIBCRYPTO" |
| AC_MSG_RESULT(OpenSSL Support) |
| elif test "x$usepkcs" != "xno" ; then |
| authmodes="MD5 SHA1" |
| if test "x$enable_privacy" != "xno" ; then |
| encrmodes="DES" |
| else |
| encrmodes="[disabled]" |
| fi |
| AC_DEFINE(NETSNMP_USE_PKCS11, 1, |
| [Define if you are using the codeS11 library ...]) |
| LNETSNMPLIBS="$LNETSNMPLIBS $LIBPKCS11" |
| AC_MSG_RESULT(PKCS11 Support) |
| elif test "x$enable_md5" != "xno"; then |
| authmodes="MD5" |
| encrmodes="" |
| AC_DEFINE(NETSNMP_USE_INTERNAL_MD5) |
| AC_MSG_RESULT(Internal MD5 Support) |
| fi |
| if test "x$enable_md5" = "xno"; then |
| authmodes=`echo $authmodes | $SED 's/MD5 *//;'` |
| fi |
| AC_SUBST(LNETSNMPLIBS) |
| AC_SUBST(LAGENTLIBS) |
| |
| AC_MSG_CACHE_ADD(Crypto support from: $CRYPTO) |
| AC_MSG_CACHE_ADD(Authentication support: $authmodes) |
| AC_MSG_CACHE_ADD(Encryption support: $encrmodes) |
| |
| if test "x$all_warnings" != "x"; then |
| AC_MSG_CACHE_ADD(WARNING: $all_warnings) |
| fi |
| |
| # |
| # Check whether user wants DNSSEC local validation support |
| # |
| _libs=${LIBS} |
| if ! test "x-$want_dnssec" = "x-no" ; then |
| AC_CHECK_HEADERS([validator/validator-config.h]) |
| if test "$ac_cv_header_validator_validator_config_h" != yes; then |
| AC_MSG_ERROR(Can't find validator.h) |
| fi |
| if test "x$ac_cv_lib_crypto_EVP_md5" != "xyes" -a \ |
| "x$ac_cv_lib_eay32_EVP_md5" != "xyes" -o \ |
| "x$ac_cv_header_openssl_hmac_h" != "xyes"; then |
| AC_MSG_ERROR(Couldn't find OpenSSL for local DNSSEC validation support.) |
| fi |
| LIBS="$LIBS $LIBCRYPTO" |
| AC_CHECK_LIB(sres, query_send,,AC_MSG_ERROR([Can't find libsres])) |
| VAL_LIBS="-lsres $LIBCRYPTO" |
| LIBS="$LIBS -lsres" |
| AC_CHECK_LIB(val, p_val_status, |
| LIBS="$LIBS -lval" |
| VAL_LIBS="$VAL_LIBS -lval" |
| have_val_res_query=yes, |
| [ AC_CHECK_LIB(pthread, pthread_rwlock_init) |
| AC_CHECK_LIB(val-threads, p_val_status, |
| have_val_res_query=yes |
| LIBS="-lval-threads $LIBS" |
| VAL_LIBS="-lval-threads -lpthread $VAL_LIBS" |
| LIBVAL_SUFFIX="-threads", |
| AC_MSG_ERROR(Can't find libval or libval-threads)) |
| ]) |
| AC_DEFINE(DNSSEC_LOCAL_VALIDATION, 1, |
| [Define if you want local DNSSEC validation support]) |
| DNSSEC="enabled" |
| else |
| DNSSEC="disabled" |
| fi |
| |
| LIBS=${_libs} |
| |
| AC_SUBST(VAL_LIBS) |
| AC_MSG_CACHE_ADD(Local DNSSEC validation: $DNSSEC) |
| |
| |