-AC_INIT([tlsproxy], [0.1], [simon@ruderich.org])
+AC_INIT([tlsproxy], [0.2], [simon@ruderich.org])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
if test "x$GCC" = xyes; then
- CFLAGS="-std=c89 -pedantic -Wall -Wextra -Werror -D_XOPEN_SOURCE=500 $CFLAGS"
+ CFLAGS="-std=c89 -pedantic -Wall -Wextra -Werror $CFLAGS"
+ CFLAGS="-D_XOPEN_SOURCE=500 -Wno-error=int-to-pointer-cast $CFLAGS"
+ # Additional security flags.
+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector -fPIE -pie"
+ LDFLAGS="$LDFLAGS -z relro -z now"
fi
-AC_CHECK_LIB([gnutls], [gnutls_certificate_verify_peers2])
-if test "x$ac_cv_lib_gnutls_gnutls_certificate_verify_peers2" != xyes; then
- AC_MSG_ERROR([GnuTLS is required])
-fi
+AC_CHECK_LIB([pthread], [pthread_create],
+ [], [AC_MSG_ERROR([pthread is required])])
+AC_CHECK_LIB([gnutls], [gnutls_certificate_verify_peers2],
+ [], [AC_MSG_ERROR([GnuTLS is required])])
AC_ARG_ENABLE([debug],
[AC_HELP_STRING([--enable-debug], [enable debug output])],
AC_DEFINE([DEBUG], 1, [Define to enable debug output.])
fi])
+AC_ARG_ENABLE([ipv6],
+ [AC_HELP_STRING([--disable-ipv6],
+ [disable IPv6, for IPv4 only network stacks])],
+ [if test "x$enableval" = xno; then
+ AC_DEFINE([USE_IPV4_ONLY], 1, [Define to not use IPv6.])
+ fi])
+
AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_FILES([Makefile src/Makefile])
+AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
AC_OUTPUT