=== modified file 'acinclude/squid-util.m4' --- acinclude/squid-util.m4 2012-10-11 21:14:50 +0000 +++ acinclude/squid-util.m4 2013-04-29 14:13:17 +0000 @@ -249,3 +249,30 @@ [$4]) AS_VAR_POPDEF([ac_Search])dnl ]) + +dnl Check for Cyrus SASL +AC_DEFUN([SQUID_CHECK_SASL],[ + squid_sasl_present="auto" + AC_CHECK_HEADERS(sasl/sasl.h sasl.h) + AC_CHECK_LIB(sasl2,sasl_errstring,[LIBSASL="-lsasl2"],[ + AC_CHECK_LIB(sasl,sasl_errstring,[LIBSASL="-lsasl"], [ + squid_sasl_present="no" + ]) + ]) + case "$squid_host_os" in + Darwin) + if test "$ac_cv_lib_sasl2_sasl_errstring" = "yes" ; then + AC_DEFINE(HAVE_SASL_DARWIN,1,[Define to 1 if Mac Darwin without sasl.h]) + echo "checking for MAC Darwin without sasl.h ... yes" + squid_sasl_present="yes" + else + echo "checking for MAC Darwin without sasl.h ... no" + squid_sasl_present="no" + fi + ;; + esac + if test "x$squid_sasl_present" != "yes"; then + AC_MSG_WARN(Neither SASL nor SASL2 found) + fi + AC_SUBST(LIBSASL) +]) === modified file 'configure.ac' --- configure.ac 2013-04-16 02:21:47 +0000 +++ configure.ac 2013-04-29 15:47:56 +0000 @@ -1726,45 +1726,7 @@ To see available helpers, see the helpers/basic_auth directory. ]),[ #nothing to do really ]) -#not specified. Inherit global -if test "x$enable_auth_basic" = "x"; then - enable_auth_basic=$enable_auth -fi -#conflicts with global -if test "x$enable_auth_basic" != "xno" -a "x$enable_auth" = "xno" ; then - AC_MSG_ERROR([Basic auth requested but auth disabled]) -fi -#define list of modules to build -if test "x$enable_auth_basic" = "xyes" ; then - SQUID_LOOK_FOR_MODULES([$srcdir/helpers/basic_auth],[enable_auth_basic]) -fi -#handle the "none" special case -if test "x$enable_auth_basic" = "xnone" ; then - enable_auth_basic="" -fi -BASIC_AUTH_HELPERS="" -#enable_auth_basic contains either "no" or the list of modules to be built -enable_auth_basic="`echo $enable_auth_basic| sed -e 's/,/ /g;s/ */ /g'`" -if test "x$enable_auth_basic" != "xno" ; then - AUTH_MODULES="$AUTH_MODULES basic" - AC_DEFINE([HAVE_AUTH_MODULE_BASIC],1,[Basic auth module is built]) - for helper in $enable_auth_basic - do - dir="$srcdir/helpers/basic_auth/$helper" - if test -f "$dir/config.test" && sh "$dir/config.test" "$squid_host_os"; then - BASIC_AUTH_HELPERS="$BASIC_AUTH_HELPERS $helper" - # special case - if test "x$helper" = "xSASL" ; then - squid_require_sasl=yes - fi - elif test -d "$srcdir/helpers/basic_auth/$helper" ; then - AC_MSG_NOTICE([Basic auth helper $helper ... found but cannot be built]) - fi - done -fi -AC_MSG_NOTICE([Basic auth helpers to be built: $BASIC_AUTH_HELPERS]) -AM_CONDITIONAL(ENABLE_AUTH_BASIC, test "x$enable_auth_basic" != "xno") -AC_SUBST(BASIC_AUTH_HELPERS) +m4_include([helpers/basic_auth/modules.m4]) AC_ARG_ENABLE(auth-ntlm, AS_HELP_STRING([--enable-auth-ntlm="list of helpers"], @@ -2096,7 +2058,7 @@ EXTERNAL_ACL_HELPERS="$EXTERNAL_ACL_HELPERS $helper" # special case if test "x$helper" = "xkerberos_ldap_group" ; then - squid_require_sasl=yes + SQUID_CHECK_SASL fi else AC_MSG_NOTICE([external acl helper $helper ... found but cannot be built]) @@ -2184,27 +2146,6 @@ AC_MSG_NOTICE([MS Windows service mode enabled: $enable_win32_service]) -# Check for Cyrus SASL -if test "x$squid_require_sasl" = "xyes"; then - AC_CHECK_HEADERS(sasl/sasl.h sasl.h) - AC_CHECK_LIB(sasl2,sasl_errstring,[LIBSASL="-lsasl2"],[ - AC_CHECK_LIB(sasl,sasl_errstring,[LIBSASL="-lsasl"], [ - AC_MSG_ERROR(Neither SASL nor SASL2 found) - ]) - ]) - case "$squid_host_os" in - Darwin) - if test "$ac_cv_lib_sasl2_sasl_errstring" = "yes" ; then - AC_DEFINE(HAVE_SASL_DARWIN,1,[Define to 1 if Mac Darwin without sasl.h]) - echo "checking for MAC Darwin without sasl.h ... yes" - else - echo "checking for MAC Darwin without sasl.h ... no" - fi - ;; - esac - AC_SUBST(LIBSASL) -fi - # Disable "unlinkd" code AC_ARG_ENABLE(unlinkd, AS_HELP_STRING([--disable-unlinkd],[Do not use unlinkd]), [ === renamed file 'helpers/basic_auth/DB/config.test' => 'helpers/basic_auth/DB/required.m4' --- helpers/basic_auth/DB/config.test 2010-03-31 15:59:21 +0000 +++ helpers/basic_auth/DB/required.m4 2013-04-29 15:37:09 +0000 @@ -1,7 +1,3 @@ -#!/bin/sh - -## Test: do we have perl to build the helper scripts? -## Test: do we have pod2man to build the manual? -perl --version >/dev/null && echo | pod2man >/dev/null - -exit $? +if test "x$PERL" != "x" -a "x$POD2MAN" != "x"; then + BUILD_HELPER="DB" +fi === renamed file 'helpers/basic_auth/LDAP/config.test' => 'helpers/basic_auth/LDAP/required.m4' --- helpers/basic_auth/LDAP/config.test 2013-04-16 13:06:01 +0000 +++ helpers/basic_auth/LDAP/required.m4 2013-04-29 15:37:35 +0000 @@ -1,8 +1,1 @@ -#!/bin/sh -if [ -f /usr/include/ldap.h -o -f /usr/local/include/ldap.h ]; then - exit 0 -fi -if [ -f /usr/include/winldap.h ]; then - exit 0 -fi -exit 1 +AC_CHECK_HEADERS([ldap.h winldap.h],[BUILD_HELPER="LDAP"]) === renamed file 'helpers/basic_auth/MSNT-multi-domain/config.test' => 'helpers/basic_auth/MSNT-multi-domain/required.m4' --- helpers/basic_auth/MSNT-multi-domain/config.test 2005-12-29 09:15:21 +0000 +++ helpers/basic_auth/MSNT-multi-domain/required.m4 2013-04-30 03:07:06 +0000 @@ -1,2 +1,1 @@ -#!/bin/sh -exit 0 +BUILD_HELPER="MSNT-multi-domain" === renamed file 'helpers/basic_auth/MSNT/config.test' => 'helpers/basic_auth/MSNT/required.m4' --- helpers/basic_auth/MSNT/config.test 2012-10-13 05:39:01 +0000 +++ helpers/basic_auth/MSNT/required.m4 2013-04-30 03:22:38 +0000 @@ -1,14 +1,8 @@ -#!/bin/sh -# -# Don't build this helper on Windows -# -if test "$1" = "mingw"; then - exit 1 -fi -if [ -f /usr/include/w32api/windows.h ]; then - exit 1 -fi -if [ -f /usr/include/windows.h ]; then - exit 1 -fi -exit 0 +# +# DONT build this helper on Windows +# +# XXX: do we really need the mingw check? +if test "$squid_host_os" != "mingw"; then + BUILD_HELPER="MSNT" + AC_CHECK_HEADERS([w32api/windows.h windows.h],[BUILD_HELPER=""]) +fi === renamed file 'helpers/basic_auth/NCSA/config.test' => 'helpers/basic_auth/NCSA/required.m4' --- helpers/basic_auth/NCSA/config.test 2005-12-29 09:15:21 +0000 +++ helpers/basic_auth/NCSA/required.m4 2013-04-30 02:52:32 +0000 @@ -1,2 +1,1 @@ -#!/bin/sh -exit 0 +BUILD_HELPER="NCSA" === renamed file 'helpers/basic_auth/NIS/config.test' => 'helpers/basic_auth/NIS/required.m4' --- helpers/basic_auth/NIS/config.test 2005-12-29 09:15:21 +0000 +++ helpers/basic_auth/NIS/required.m4 2013-04-30 03:09:40 +0000 @@ -1,5 +1,1 @@ -#!/bin/sh -if [ -f /usr/include/rpcsvc/yp_prot.h ]; then - exit 0 -fi -exit 1 +AC_CHECK_HEADERS([rpcsvc/yp_prot.h],[BUILD_HELPER="NIS"]) === renamed file 'helpers/basic_auth/PAM/config.test' => 'helpers/basic_auth/PAM/required.m4' --- helpers/basic_auth/PAM/config.test 2005-12-29 09:15:21 +0000 +++ helpers/basic_auth/PAM/required.m4 2013-04-30 02:58:50 +0000 @@ -1,5 +1,1 @@ -#!/bin/sh -if [ -f /usr/include/security/pam_appl.h ]; then - exit 0 -fi -exit 1 +AC_CHECK_HEADERS([security/pam_appl.h],[BUILD_HELPER="PAM"]) === renamed file 'helpers/basic_auth/POP3/config.test' => 'helpers/basic_auth/POP3/required.m4' --- helpers/basic_auth/POP3/config.test 2006-12-24 21:00:32 +0000 +++ helpers/basic_auth/POP3/required.m4 2013-04-30 03:10:29 +0000 @@ -1,2 +1,1 @@ -#!/bin/sh -exit 0 +BUILD_HELPER="POP3" === renamed file 'helpers/basic_auth/RADIUS/config.test' => 'helpers/basic_auth/RADIUS/required.m4' --- helpers/basic_auth/RADIUS/config.test 2010-03-23 15:45:39 +0000 +++ helpers/basic_auth/RADIUS/required.m4 2013-04-30 03:11:02 +0000 @@ -1,2 +1,1 @@ -#!/bin/sh -exit 0 +BUILD_HELPER="RADIUS" === renamed file 'helpers/basic_auth/SASL/config.test' => 'helpers/basic_auth/SASL/required.m4' --- helpers/basic_auth/SASL/config.test 2013-04-16 13:06:01 +0000 +++ helpers/basic_auth/SASL/required.m4 2013-04-29 15:37:54 +0000 @@ -1,8 +1,6 @@ -#!/bin/sh -if [ -f /usr/include/sasl.h -o -f /usr/local/include/sasl.h ]; then - exit 0 -fi -if [ -f /usr/include/sasl/sasl.h -o -f /usr/local/include/sasl/sasl.h ]; then - exit 0 -fi -exit 1 +SQUID_CHECK_SASL + +# on success, add to the built modules list +if test "x$squid_check_sasl" = "xyes"; then + BUILD_HELPER="SASL" +fi === renamed file 'helpers/basic_auth/SMB/config.test' => 'helpers/basic_auth/SMB/required.m4' --- helpers/basic_auth/SMB/config.test 2011-01-11 07:33:27 +0000 +++ helpers/basic_auth/SMB/required.m4 2013-04-30 03:15:18 +0000 @@ -1,10 +1,14 @@ -#!/bin/sh +# +## TODO: This can be done far better I'm sure +# for prefix in /usr/local /opt /opt/samba /usr/local/samba /usr do if [ -x ${prefix}/bin/smbclient ]; then - exit 0 + BUILD_HELPER="SMB" fi done -echo "WARNING: Samba smbclient not found in default location. basic_smb_auth may not work on this machine" +if test "x$BUILD_HELPER" = "x"; then + AC_MSG_WARN([Samba smbclient not found in default location. basic_smb_auth may not work on this machine]) +fi # allow script install anyway. -exit 0 +BUILD_HELPER="SMB" === renamed file 'helpers/basic_auth/SSPI/config.test' => 'helpers/basic_auth/SSPI/required.m4' --- helpers/basic_auth/SSPI/config.test 2012-10-13 05:39:01 +0000 +++ helpers/basic_auth/SSPI/required.m4 2013-04-30 03:18:14 +0000 @@ -1,14 +1,8 @@ -#!/bin/sh # # Only build this helper on Windows # -if test "$1" = "mingw"; then - exit 0 -fi -if [ -f /usr/include/w32api/windows.h ]; then - exit 0 -fi -if [ -f /usr/include/windows.h ]; then - exit 0 -fi -exit 1 +# FIXME: do we really need the mingw check anymore? +if test "$squid_host_os" = "mingw"; then + BUILD_HELPER="SSPI" +fi +AC_CHECK_HEADERS([w32api/windows.h windows.h],[BUILD_HELPER="SSPI"]) === renamed file 'helpers/basic_auth/fake/config.test' => 'helpers/basic_auth/fake/required.m4' --- helpers/basic_auth/fake/config.test 2010-07-12 14:45:17 +0000 +++ helpers/basic_auth/fake/required.m4 2013-04-29 15:42:52 +0000 @@ -1,2 +1,1 @@ -#!/bin/sh -exit 0 +BUILD_HELPER="fake" === renamed file 'helpers/basic_auth/getpwnam/config.test' => 'helpers/basic_auth/getpwnam/required.m4' --- helpers/basic_auth/getpwnam/config.test 2005-12-29 09:15:21 +0000 +++ helpers/basic_auth/getpwnam/required.m4 2013-04-30 03:20:06 +0000 @@ -1,5 +1,1 @@ -#!/bin/sh -if [ -f /usr/include/pwd.h ]; then - exit 0 -fi -exit 1 +AC_CHECK_HEADERS([pwd.h],[BUILD_HELPER="getpwnam"]) === added file 'helpers/basic_auth/modules.m4' --- helpers/basic_auth/modules.m4 1970-01-01 00:00:00 +0000 +++ helpers/basic_auth/modules.m4 2013-04-30 03:27:53 +0000 @@ -0,0 +1,93 @@ +# This file is supposed to run all the tests required to identify which +# configured modules are able to be built in this environment + +# FIXME: de-duplicate $enable_auth_basic list containing double entries. + +#not specified. Inherit global +if test "x$enable_auth_basic" = "x"; then + enable_auth_basic=$enable_auth +fi +#conflicts with global +if test "x$enable_auth_basic" != "xno" -a "x$enable_auth" = "xno" ; then + AC_MSG_ERROR([Basic auth requested but auth disabled]) +fi +#define list of modules to build +if test "x$enable_auth_basic" = "xyes" ; then + SQUID_LOOK_FOR_MODULES([$srcdir/helpers/basic_auth],[enable_auth_basic]) +fi +#handle the "none" special case +if test "x$enable_auth_basic" = "xnone" ; then + enable_auth_basic="" +fi + +BASIC_AUTH_HELPERS="" +#enable_auth_basic contains either "no" or the list of modules to be built +enable_auth_basic="`echo $enable_auth_basic| sed -e 's/,/ /g;s/ */ /g'`" +if test "x$enable_auth_basic" != "xno" ; then + AUTH_MODULES="$AUTH_MODULES basic" + AC_DEFINE([HAVE_AUTH_MODULE_BASIC],1,[Basic auth module is built]) + for helper in $enable_auth_basic + do + dir="$srcdir/helpers/basic_auth/$helper" + + # modules converted to autoconf macros already + # NP: we only need this list because m4_include() does not accept variables + if test "x$helper" = "xDB" ; then + m4_include([helpers/basic_auth/DB/required.m4]) + + elif test "x$helper" = "xLDAP" ; then + m4_include([helpers/basic_auth/LDAP/required.m4]) + + elif test "x$helper" = "xMSNT-multi-domain" ; then + m4_include([helpers/basic_auth/MSNT-multi-domain/required.m4]) + + elif test "x$helper" = "xMSNT" ; then + m4_include([helpers/basic_auth/MSNT/required.m4]) + + elif test "x$helper" = "xNCSA" ; then + m4_include([helpers/basic_auth/NCSA/required.m4]) + + elif test "x$helper" = "xNIS" ; then + m4_include([helpers/basic_auth/NIS/required.m4]) + + elif test "x$helper" = "xPOP3" ; then + m4_include([helpers/basic_auth/POP3/required.m4]) + + elif test "x$helper" = "xRADIUS" ; then + m4_include([helpers/basic_auth/RADIUS/required.m4]) + + elif test "x$helper" = "xSASL" ; then + m4_include([helpers/basic_auth/SASL/required.m4]) + + elif test "x$helper" = "xSMB" ; then + m4_include([helpers/basic_auth/SMB/required.m4]) + + elif test "x$helper" = "xSSPI" ; then + m4_include([helpers/basic_auth/SSPI/required.m4]) + + elif test "x$helper" = "xfake" ; then + m4_include([helpers/basic_auth/fake/required.m4]) + + elif test "x$helper" = "xgetpwnam" ; then + m4_include([helpers/basic_auth/getpwnam/required.m4]) + + # modules not yet converted to autoconf macros (or third party drop-in's) + elif test -f "$dir/config.test" && sh "$dir/config.test" "$squid_host_os"; then + BUILD_HELPER="$helper" + fi + + if test -d "$srcdir/helpers/basic_auth/$helper"; then + if test "$BUILD_HELPER" != "$helper"; then + AC_MSG_NOTICE([Basic auth helper $helper ... found but cannot be built]) + else + BASIC_AUTH_HELPERS="$BASIC_AUTH_HELPERS $BUILD_HELPER" + fi + else + AC_MSG_ERROR([Basic auth helper $helper ... not found]) + fi + done +fi + +AC_MSG_NOTICE([Basic auth helpers to be built: $BASIC_AUTH_HELPERS]) +AM_CONDITIONAL(ENABLE_AUTH_BASIC, test "x$enable_auth_basic" != "xno") +AC_SUBST(BASIC_AUTH_HELPERS)