X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=configure.ac;h=5a134fa4cf59f29e4a80edf6cc874982313def7f;hp=6996955e3ff1848abc5fc2a9d83adcd5a8e356bf;hb=HEAD;hpb=c95c6162dd3b5774ee680f9c7df60db217cae161 diff --git a/configure.ac b/configure.ac index 6996955..11b62f5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.69]) AC_INIT([ppp], - [2.4.10-dev], + [2.5.1-dev], [https://github.com/ppp-project/ppp]) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) @@ -11,14 +11,15 @@ AM_MAINTAINER_MODE([enable]) AC_LANG(C) AC_CONFIG_SRCDIR([pppd/main.c]) -AC_CONFIG_HEADERS([pppd/config.h pppd/pppdconf.h]) +AC_CONFIG_HEADERS([pppd/config.h pppd/pppdconf.h pppd/plugins/pppoe/config.h]) +AC_ENABLE_STATIC(no) # Checks for programs. AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL -AC_PROG_LIBTOOL AC_PROG_LN_S +LT_INIT PKG_PROG_PKG_CONFIG @@ -38,8 +39,8 @@ case "${host_os}" in ;; esac -AM_CONDITIONAL([LINUX], [test "${build_linux}" = "yes" ]) -AM_CONDITIONAL([SUNOS], [test "${build_sunos}" = "yes" ]) +AM_CONDITIONAL([LINUX], [test "x${build_linux}" = "xyes" ]) +AM_CONDITIONAL([SUNOS], [test "x${build_sunos}" = "xyes" ]) AM_COND_IF([SUNOS], CFLAGS="$CFLAGS -DSOL2 -DSRV4") @@ -51,6 +52,8 @@ AC_CHECK_HEADERS([ \ crypt.h \ paths.h \ shadow.h \ + stddef.h \ + stdarg.h \ sys/dlpi.h \ sys/ioctl.h \ sys/socket.h \ @@ -72,7 +75,17 @@ AM_COND_IF([LINUX], [ linux/if_ether.h \ linux/if_packet.h \ netinet/if_ether.h \ - netpacket/packet.h])]) + netpacket/packet.h]) + + AC_MSG_CHECKING([for struct sockaddr_ll in ]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([@%:@include ], [sizeof(struct sockaddr_ll)])], + [AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL, 1, [Struct sockaddr_ll is present on system]) + ], + AC_MSG_RESULT([no])) +]) + AC_CHECK_SIZEOF(unsigned int) AC_CHECK_SIZEOF(unsigned long) @@ -88,7 +101,7 @@ AC_CHECK_FUNCS([ \ # If libc doesn't provide logwtmp, check if libutil provides logwtmp(), and if so link to it. AS_IF([test "x${ac_cv_func_logwtmp}" != "xyes"], [ AC_CHECK_LIB([util], [logwtmp], [ - AC_DEFINE(HAVE_LOGWTMP, 1, ["System provides the logwtmp() function"]) + AC_DEFINE(HAVE_LOGWTMP, 1, [System provides the logwtmp() function]) AC_SUBST([UTIL_LIBS], ["-lutil"]) ]) ]) @@ -105,6 +118,8 @@ AC_ARG_ENABLE([systemd], AM_CONDITIONAL(WITH_SYSTEMD, test "x${enable_systemd}" = "xyes") AM_COND_IF([WITH_SYSTEMD], AC_DEFINE([SYSTEMD], 1, [Enable support for systemd notifications])) +AS_IF([test "x${enable_systemd}" = "xyes"], [ + PKG_CHECK_MODULES([SYSTEMD], [libsystemd])]) # # Enable Callback Protocol Support, disabled by default @@ -114,13 +129,6 @@ AM_CONDITIONAL(PPP_WITH_CBCP, test "x${enable_cbcp}" = "xyes") AM_COND_IF([PPP_WITH_CBCP], AC_DEFINE([PPP_WITH_CBCP], 1, [Have Callback Protocol support])) -# -# Disable support for limiting session duration by maximum octets -AC_ARG_ENABLE([maxoctets], - AS_HELP_STRING([--disable-maxoctets], [Disable support for limiting session by maximum octets])) -AS_IF([test "x$enable_maxoctets" != "xno"], - AC_DEFINE([PPP_WITH_MAXOCTETS], 1, [Limit sessions by maximum number of octets])) - # # Disable Microsoft extensions will remove CHAP and MPPE support AC_ARG_ENABLE([microsoft-extensions], @@ -128,18 +136,18 @@ AC_ARG_ENABLE([microsoft-extensions], AM_CONDITIONAL(PPP_WITH_CHAPMS, test "x${enable_microsoft_extensions}" != "xno") AM_COND_IF([PPP_WITH_CHAPMS], - AC_DEFINE([PPP_WITH_CHAPMS], 1, ["Have Microsoft CHAP support"])) + AC_DEFINE([PPP_WITH_CHAPMS], 1, [Have Microsoft CHAP support])) AM_CONDITIONAL(PPP_WITH_MPPE, test "x${enable_microsoft_extensions}" != "xno") AM_COND_IF([PPP_WITH_MPPE], - AC_DEFINE([PPP_WITH_MPPE], 1, ["Have Microsoft MPPE support"])) + AC_DEFINE([PPP_WITH_MPPE], 1, [Have Microsoft MPPE support])) # # Enable Microsoft LAN Manager support, depends on Microsoft Extensions AC_ARG_ENABLE([mslanman], AS_HELP_STRING([--enable-mslanman], [Enable Microsoft LAN Manager support])) AS_IF([test "x${enable_mslanman}" = "xyes" && test "x${enable_microsoft_extensions}" != "xno"], - AC_DEFINE([PPP_WITH_MSLANMAN], 1, ["Have Microsoft LAN Manager support"])) + AC_DEFINE([PPP_WITH_MSLANMAN], 1, [Have Microsoft LAN Manager support])) # # Disable IPv6 support @@ -147,7 +155,7 @@ AC_ARG_ENABLE([ipv6cp], AS_HELP_STRING([--disable-ipv6cp], [Disable IPv6 Control Protocol])) AM_CONDITIONAL(PPP_WITH_IPV6CP, test "x${enable_ipv6cp}" != "xno") AM_COND_IF([PPP_WITH_IPV6CP], - AC_DEFINE(PPP_WITH_IPV6CP, 1, ["Have IPv6 Control Protocol"])) + AC_DEFINE(PPP_WITH_IPV6CP, 1, [Have IPv6 Control Protocol])) # # Disable Multilink support @@ -155,7 +163,7 @@ AC_ARG_ENABLE([multilink], AS_HELP_STRING([--enable-multilink], [Enable multilink support])) AM_CONDITIONAL(PPP_WITH_MULTILINK, test "x${enable_multilink}" = "xyes") AM_COND_IF([PPP_WITH_MULTILINK], - AC_DEFINE([PPP_WITH_MULTILINK], 1, ["Have multilink support"])) + AC_DEFINE([PPP_WITH_MULTILINK], 1, [Have multilink support])) AS_IF([test "x${build_sunos}" = "xyes" && test "x${enable_multilink}" = "xyes"], [AC_MSG_ERROR([Multilink is not supported on SunOS])]) @@ -163,15 +171,15 @@ AS_IF([test "x${build_sunos}" = "xyes" && test "x${enable_multilink}" = "xyes"], # Multilink require Trivial Database Support AM_CONDITIONAL(PPP_WITH_TDB, test "x${enable_multilink}" = "xyes") AM_COND_IF([PPP_WITH_TDB], - AC_DEFINE([PPP_WITH_TDB], 1, ["Include TDB support"])) + AC_DEFINE([PPP_WITH_TDB], 1, [Include TDB support])) # # Enable support for loadable plugins AC_ARG_ENABLE([plugins], AS_HELP_STRING([--disable-plugins], [Disable support for loadable plugins])) AS_IF([test "x$enable_plugins" != "xno"], - AC_DEFINE([PPP_WITH_PLUGINS], 1, ["Have support for loadable plugins"])) -AM_CONDITIONAL(PPP_WITH_PLUGINS, test "${enable_plugins}" != "no") + AC_DEFINE([PPP_WITH_PLUGINS], 1, [Have support for loadable plugins])) +AM_CONDITIONAL(PPP_WITH_PLUGINS, test "x${enable_plugins}" != "xno") # # Disable EAP-TLS support @@ -186,20 +194,20 @@ AM_CONDITIONAL(PPP_WITH_EAPTLS, test "x${enable_eaptls}" != "xno") AC_ARG_ENABLE([peap], AS_HELP_STRING([--disable-peap], [Disable PEAP authentication support])) AS_IF([test "x${enable_peap}" != "xno"], - AC_DEFINE([USE_PEAP], 1, ["Have PEAP authentication support"])) -AM_CONDITIONAL([WITH_PEAP], test "x${enable_peap}" != "xno") + AC_DEFINE([PPP_WITH_PEAP], 1, [Have PEAP authentication support])) +AM_CONDITIONAL([PPP_WITH_PEAP], test "x${enable_peap}" != "xno") # # Disable OpenSSL engine support AC_ARG_ENABLE([openssl-engine], AS_HELP_STRING([--disable-openssl-engine], [Disable OpenSSL engine support])) AS_IF([test "x$enable_openssl_engine" != "xno"], [], - AC_DEFINE([OPENSSL_NO_ENGINE], 1, ["OpenSSL engine support"])) + AC_DEFINE([OPENSSL_NO_ENGINE], 1, [OpenSSL engine support])) # # Specify runtime directory AC_ARG_WITH([plugin-dir], - AC_HELP_STRING([--with-plugin-dir=DIR], [Specify the plugin directory for pppd])) + AS_HELP_STRING([--with-plugin-dir=DIR],[Specify the plugin directory for pppd])) AS_IF([test -n "$with_plugin_dir"], [PPPD_PLUGIN_DIR="$with_plugin_dir"], [PPPD_PLUGIN_DIR="${libdir}/pppd/$VERSION"]) @@ -208,25 +216,49 @@ AC_SUBST(PPPD_PLUGIN_DIR, "$PPPD_PLUGIN_DIR", [The pppd plugin directory]) # # Specify runtime directory AC_ARG_WITH([runtime-dir], - AC_HELP_STRING([--with-runtime-dir=DIR], [Specify the runtime directory for pppd])) + AS_HELP_STRING([--with-runtime-dir=DIR],[Specify the runtime directory for pppd])) AS_IF([test -n "$with_runtime_dir"], [PPPD_RUNTIME_DIR="$with_runtime_dir"], - [PPPD_RUNTIME_DIR="${localstatedir}/run/pppd"]) + [PPPD_RUNTIME_DIR="${runstatedir}/pppd"]) AC_SUBST(PPPD_RUNTIME_DIR) # # Specify runtime directory AC_ARG_WITH([logfile-dir], - AC_HELP_STRING([--with-logfile-dir=DIR], [Specify the log directory for pppd])) + AS_HELP_STRING([--with-logfile-dir=DIR],[Specify the log directory for pppd])) AS_IF([test -n "$with_logfile_dir"], [PPPD_LOGFILE_DIR="$with_logfile_dir"], - [PPPD_LOGFILE_DIR="${localstatedir}/log/pppd"]) + [PPPD_LOGFILE_DIR="${localstatedir}/log/ppp"]) AC_SUBST(PPPD_LOGFILE_DIR) +# +# System CA certificates path +AC_ARG_WITH(system-ca-path, + AS_HELP_STRING([--with-system-ca-path=/path/to/ssl/certs], [path to system CA certificates]), + [ + case "$withval" in + "" | y | ye | yes) + with_system_ca_path="${sysconfdir}/ssl/certs" + ;; + n | no) + ;; + *) + with_system_ca_path="$withval" + ;; + esac + ],[with_system_ca_path="${sysconfdir}/ssl/certs"]) +AM_CONDITIONAL(PPP_WITH_SYSTEM_CA_PATH, [test "$with_system_ca_path" != "no"]) +AM_COND_IF(PPP_WITH_SYSTEM_CA_PATH, [ + SYSTEM_CA_PATH="$with_system_ca_path" +]) +AC_SUBST(SYSTEM_CA_PATH) + # # Check for OpenSSL AX_CHECK_OPENSSL -AM_CONDITIONAL(WITH_OPENSSL, test "${with_openssl}" != "no") +AM_CONDITIONAL(PPP_WITH_OPENSSL, test "x${with_openssl}" != "xno") +AM_COND_IF([PPP_WITH_OPENSSL], + AC_DEFINE([PPP_WITH_OPENSSL], 1, [PPP is compiled with openssl support])) # # Check if OpenSSL has compiled in support for various ciphers @@ -241,33 +273,25 @@ AS_IF([test "x${with_openssl}" != "xno" ], [ ]) AM_CONDITIONAL([OPENSSL_HAVE_MD4], test "x${ac_cv_openssl_md4}" = "xyes") -AM_COND_IF([OPENSSL_HAVE_MD4],, - AC_DEFINE([USE_MD4], 1, [Use included md4 included with pppd])) +AM_COND_IF([OPENSSL_HAVE_MD4], + AC_DEFINE([OPENSSL_HAVE_MD4], 1, [Use MD4 included with openssl])) AM_CONDITIONAL([OPENSSL_HAVE_MD5], test "x${ac_cv_openssl_md5}" = "xyes") -AM_COND_IF([OPENSSL_HAVE_MD5],, - AC_DEFINE([USE_MD5], 1, [Use included md5 included with pppd])) +AM_COND_IF([OPENSSL_HAVE_MD5], + AC_DEFINE([OPENSSL_HAVE_MD5], 1, [Use MD5 included with openssl])) AM_CONDITIONAL([OPENSSL_HAVE_SHA], test "x${ac_cv_openssl_sha}" = "xyes") -AM_COND_IF([OPENSSL_HAVE_SHA],, - AC_DEFINE([USE_SHA], 1, [Use included sha included with pppd])) +AM_COND_IF([OPENSSL_HAVE_SHA], + AC_DEFINE([OPENSSL_HAVE_SHA], 1, [Use SHA included with openssl])) AM_CONDITIONAL([OPENSSL_HAVE_DES], test "x${ac_cv_openssl_des}" = "xyes") -AM_COND_IF([OPENSSL_HAVE_DES],, - AC_DEFINE([USE_CRYPT], 1, [Use included des included with pppd])) - -# -# If OpenSSL doesn't support DES, then use the one from libcrypt (glibc dropped support for this in 2.27). -AS_IF([test "${ac_cv_openssl_des}" = "no" ], [ - AC_CHECK_LIB([crypt], [encrypt], - [LIBS="$LIBS -lcrypt"], - [AC_MSG_ERROR([OpenSSL not found or does not support DES, and libcrypt also doesn't support encrypt])] - ) -]) +AM_COND_IF([OPENSSL_HAVE_DES], + AC_DEFINE([OPENSSL_HAVE_DES], 1, [Use DES included with openssl])) # # With libsrp support -AX_CHECK_SRP +AX_CHECK_SRP([ + AC_DEFINE([PPP_WITH_SRP], 1, [Support for libsrp authentication module])]) # # With libatm support @@ -275,8 +299,8 @@ AX_CHECK_ATM # # With libpam support -AX_CHECK_PAM(AC_DEFINE([USE_PAM], 1, ["Support for Pluggable Authentication Modules"])) -AM_CONDITIONAL(WITH_PAM, test "x${with_pam}" = "xyes") +AX_CHECK_PAM(AC_DEFINE([PPP_WITH_PAM], 1, [Support for Pluggable Authentication Modules])) +AM_CONDITIONAL(PPP_WITH_PAM, test "x${with_pam}" = "xyes") # # With libpcap support, activate pppd on network activity @@ -286,7 +310,7 @@ AX_CHECK_PCAP # SunOS provides a version of libpcap that would work, but SunOS has no support for activity filter AM_CONDITIONAL([PPP_WITH_FILTER], [ test "x${with_pcap}" = "xyes" && test "x${build_sunos}" != "xyes" ]) AM_COND_IF([PPP_WITH_FILTER], [ - AC_DEFINE([PPP_WITH_FILTER], 1, ["Have packet activity filter support"])], [ + AC_DEFINE([PPP_WITH_FILTER], 1, [Have packet activity filter support])], [ AS_IF([test "x${build_sunos}" = "xyes"], [ AC_MSG_WARN([Packet activity filter not supported on SunOS]) with_pcap="no" @@ -302,6 +326,7 @@ if test "x${with_gtk}" = "xyes"; then fi AM_CONDITIONAL([WITH_GTK], test "x${with_gtk}" = "xyes") +AC_DEFINE_UNQUOTED(PPPD_VERSION, "$VERSION", [Version of pppd]) AC_CONFIG_FILES([ Makefile @@ -397,6 +422,7 @@ $PACKAGE_NAME version $PACKAGE_VERSION Runtime Dir..........: $PPPD_RUNTIME_DIR Logfile Dir..........: $PPPD_LOGFILE_DIR Plugin Dir...........: $PPPD_PLUGIN_DIR + System CA Path ......: ${SYSTEM_CA_PATH:-not set} With OpenSSL.........: ${with_openssl:-yes} With libatm..........: ${with_atm:-no} With libpam..........: ${with_pam:-no} @@ -413,4 +439,5 @@ Features enabled IPV6CP...............: ${enable_ipv6cp:-yes} EAP-TLS..............: ${enable_eaptls:-yes} PEAP.................: ${enable_peap:-yes} + systemd notifications: ${enable_systemd:-no} "