Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jun 2009 10:56:37 +0200 (CEST)
From:      Thomas-Martin Seck <tmseck@web.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/135572: New Port: www/squid31 - the current beta of the 3.1 series
Message-ID:  <200906140856.n5E8ubxW005853@hardy.tmseck.homedns.org>
Resent-Message-ID: <200906140900.n5E909ax029076@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         135572
>Category:       ports
>Synopsis:       New Port: www/squid31 - the current beta of the 3.1 series
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 14 09:00:09 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Thomas-Martin Seck
>Release:        FreeBSD 7.2-RELEASE i386
>Organization:
a private site in Germany
>Environment:

	
>Description:
Add www/squid31, a port of the current 3.1 development branch which
is currently in beta testing.

The port should be added via a repocopy from www/squid30. The patch
to update www/squid30 to www/squid31 is attached below.

Removed file in www/squid31:

files/patch-squid_kerb_auth
	
>How-To-Repeat:
	
>Fix:
Upgrade patch from squid30 to squid31:

Index: Makefile
===================================================================
--- Makefile	(.../squid30)	(revision 1611)
+++ Makefile	(.../squid31)	(revision 1611)
@@ -14,25 +14,15 @@
 #   define SQUID_UID=nobody and SQUID_GID=nogroup in your make environment
 #   before you start the update or installation of this port.
 #
-# SQUID_LANGUAGES
-#   A list of languages for which error page files should be installed
-#   (default: all available)
+# Note:
+# Starting with Squid 3.1 SQUID_LANGUAGES and SQUID_DEFAULT_LANG are no longer
+# available and will be ignored.
 #
-#   E.g. use `make SQUID_LANGUAGES="English French"' if you want to
-#   install the files for these languages only.
-#   Use `make -VSQUID_LANGUAGES' or scroll down to this variable's
-#   definition to see which values are valid.
-#
-# SQUID_DEFAULT_LANG
-#   If you define SQUID_LANGUAGES, select which language should be the default
-#   one (this variable defaults to "templates"). This setting can be overwritten
-#   with squid.conf's error_directory directive.
-#
 # SQUID_CONFIGURE_ARGS
 #   Additional configuration options.
 #
 #   To enable them, use e.g
-#   `make SQUID_CONFIGURE_ARGS="--enable-dlmalloc --enable-truncate" install'
+#   `make SQUID_CONFIGURE_ARGS="--enable-ntml-fail-open" install'
 #
 #   The list below may be incomplete, please see the configure script
 #   in the Squid source distribution for the complete list of additional
@@ -58,10 +48,12 @@
 #     to indicate variance within an accelerator setup. Typically used
 #     together with other code that adds custom HTTP headers to the
 #     requests.
+#    --disable-loadable-modules
+#     Do not support loadable modules.
 
 PORTNAME=	squid
-PORTVERSION=	3.0.${SQUID_STABLE_VER}
-CATEGORIES=	www
+PORTVERSION=	3.1.0.${SQUID_BETA_VER}
+CATEGORIES=	www ipv6
 MASTER_SITES=	ftp://ftp.squid-cache.org/pub/%SUBDIR%/ \
 		ftp://mirrors.24-7-solutions.net/pub/squid/%SUBDIR%/ \
 		ftp://ftp.belnet.be/packages/squid/pub/%SUBDIR%/ \
@@ -70,17 +62,17 @@
 		ftp://ftp.ntua.gr/pub/www/Squid/%SUBDIR%/ \
 		ftp://ftp.ccs.neu.edu/pub/mirrors/squid.nlanr.net/pub/%SUBDIR%/ \
 		${MASTER_SITE_RINGSERVER:S,%SUBDIR%,net/www/squid/&,} \
-		http://www.squid-cache.org/Versions/v3/3.0/ \
-		http://www3.us.squid-cache.org/Versions/v3/3.0/ \
-		http://www1.at.squid-cache.org/Versions/v3/3.0/ \
-		http://www2.nl.squid-cache.org/Versions/v3/3.0/ \
-		http://www1.ru.squid-cache.org/Versions/v3/3.0/ \
-		http://www1.uk.squid-cache.org/Versions/v3/3.0/ \
-		http://www1.jp.squid-cache.org/Versions/v3/3.0/ \
-		http://www2.tw.squid-cache.org/Versions/v3/3.0/
-MASTER_SITE_SUBDIR=	squid-3/STABLE
-DISTNAME=	squid-3.0.STABLE${SQUID_STABLE_VER}
-DIST_SUBDIR=	squid3.0
+		http://www.squid-cache.org/Versions/v3/3.1/ \
+		http://www3.us.squid-cache.org/Versions/v3/3.1/ \
+		http://www1.at.squid-cache.org/Versions/v3/3.1/ \
+		http://www2.nl.squid-cache.org/Versions/v3/3.1/ \
+		http://www1.ru.squid-cache.org/Versions/v3/3.1/ \
+		http://www1.uk.squid-cache.org/Versions/v3/3.1/ \
+		http://www1.jp.squid-cache.org/Versions/v3/3.1/ \
+		http://www2.tw.squid-cache.org/Versions/v3/3.1/
+MASTER_SITE_SUBDIR=	squid-3/DEVEL
+DISTNAME=	squid-3.1.0.${SQUID_BETA_VER}
+DIST_SUBDIR=	squid3.1
 
 PATCH_SITES=	http://www.squid-cache.org/%SUBDIR%/ \
 		http://www2.us.squid-cache.org/%SUBDIR%/ \
@@ -91,17 +83,17 @@
 		http://www1.uk.squid-cache.org/%SUBDIR%/ \
 		http://www1.jp.squid-cache.org/%SUBDIR%/ \
 		http://www1.tw.squid-cache.org/%SUBDIR%/
-PATCH_SITE_SUBDIR=	Versions/v3/3.0/changesets
+PATCH_SITE_SUBDIR=	Versions/v3/3.1/changesets
 PATCHFILES=
 
 MAINTAINER=	tmseck@web.de
-COMMENT=	HTTP Caching Proxy
+COMMENT=	HTTP Caching Proxy (BETA Version)
 
-LATEST_LINK=	squid30
+LATEST_LINK=	squid31
 
-SQUID_STABLE_VER=	15
+SQUID_BETA_VER=	8
 
-CONFLICTS=	squid-2.[0-9].* cacheboy-[0-9]*
+CONFLICTS=	squid-2.[0-9].* squid-3.[^1].* cacheboy-[0-9]*
 GNU_CONFIGURE=	yes
 USE_BZIP2=	yes
 USE_PERL5=	yes
@@ -119,13 +111,13 @@
 
 OPTIONS=	SQUID_LDAP_AUTH "Install LDAP authentication helpers" off \
 		SQUID_SASL_AUTH "Install SASL authentication helpers" off \
+		SQUID_IPV6 "Enable IPv6 support" on \
 		SQUID_DELAY_POOLS "Enable delay pools" off \
 		SQUID_SNMP "Enable SNMP support" on \
-		SQUID_CARP "Enable CARP support" on \
 		SQUID_SSL "Enable SSL support for reverse proxies" off \
 		SQUID_PINGER "Install the icmp helper" off \
 		SQUID_DNS_HELPER "Use the old 'dnsserver' helper" off \
-		SQUID_HTCP "Enable HTCP support" off \
+		SQUID_HTCP "Enable HTCP support" on \
 		SQUID_VIA_DB "Enable forward/via database" off \
 		SQUID_CACHE_DIGESTS "Enable cache digests" off \
 		SQUID_WCCP "Enable Web Cache Coordination Prot. v1" on \
@@ -138,6 +130,8 @@
 		SQUID_IPFW "Enable transparent proxying with IPFW" off \
 		SQUID_PF "Enable transparent proxying with PF" off \
 		SQUID_IPFILTER "Enable transp. proxying with IPFilter" off \
+		SQUID_FOLLOW_XFF "Follow X-Forwarded-For headers" off \
+		SQUID_ECAP "En. loadable content adaptation modules" off \
 		SQUID_ICAP "Enable ICAP client functionality" off \
 		SQUID_ESI "Enable ESI support (experimental)" off \
 		SQUID_AUFS "Enable the aufs storage scheme" off \
@@ -148,8 +142,12 @@
 		SQUID_DEBUG "Enable debugging options" off
 
 etc_files=	squid/cachemgr.conf.default \
-		squid/mib.txt squid/mime.conf.default \
-		squid/msntauth.conf.default squid/squid.conf.default
+		squid/errorpage.css.default \
+		squid/mib.txt \
+		squid/mime.conf.default \
+		squid/msntauth.conf.default \
+		squid/squid.conf.default \
+		squid/squid.conf.documented
 
 icon_files=	anthony-binhex.gif anthony-bomb.gif anthony-box.gif \
 		anthony-box2.gif anthony-c.gif anthony-compressed.gif \
@@ -170,11 +168,23 @@
 		ERR_ICAP_FAILURE ERR_INVALID_REQ ERR_INVALID_RESP \
 		ERR_INVALID_URL ERR_LIFETIME_EXP ERR_NO_RELAY \
 		ERR_ONLY_IF_CACHED_MISS ERR_READ_ERROR ERR_READ_TIMEOUT \
-		ERR_SHUTTING_DOWN ERR_SOCKET_FAILURE ERR_TOO_BIG ERR_UNSUP_REQ \
+		ERR_SECURE_CONNECT_FAIL ERR_SHUTTING_DOWN ERR_SOCKET_FAILURE \
+		ERR_TOO_BIG ERR_UNSUP_REQ ERR_UNSUP_HTTPVERSION \
 		ERR_URN_RESOLVE ERR_WRITE_ERROR ERR_ZERO_SIZE_OBJECT
+# XXX:
+# This is a workaround for the problem that this file does not exist
+# in the "old-style" error directories (errors/<Language>).
+error_files_new_only=	ERR_FTP_LISTING
 
+error_dirs_old=	Hebrew Hungarian Korean Lithuanian Polish Portuguese  \
+		Slovak Traditional_Chinese
+
+error_dirs_new=	ar az bg ca cs da de el en en-au en-gb en-nz en-us es et \
+		fa fi fr hy id it ja lv nl pt-br ro ru sr sv tr uk uz zh-cn \
+		templates
+
 libexec=	cachemgr.cgi digest_pw_auth diskd ip_user_check \
-		msnt_auth ncsa_auth ntlm_auth pam_auth smb_auth \
+		msnt_auth ncsa_auth ntlm_smb_lm_auth pam_auth smb_auth \
 		smb_auth.sh squid_db_auth squid_radius_auth squid_session \
 		squid_unix_group wbinfo_group.pl
 .if !defined(SQUID_CONFIGURE_ARGS) || ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == ""
@@ -183,6 +193,18 @@
 
 sbin=		RunAccel RunCache squidclient squid
 
+# XXX:
+# Squid 3.1 changed the default for the pid file location from
+# ${localstatedir}/logs/squid.pid to ${localstatedir}/squid.pid.
+#
+# There are two ways to tackle this:
+# 1) enforce the old default using --with-pidfile=${PREFIX}/squid/logs/squid.pid
+# 2) accept the new default (and hardwire it here as well) and make sure
+#    that ${localstatedir} is writable by the Squid master process. (It
+#    used not to be, unless the Squid master process had root privileges
+#    or ${localstatedir}'s ACL is modified (chgrp squid; chmod g+w).)
+#    This is what we do now, see also files/pkg-install.in.
+
 CONFIGURE_ARGS=	--with-default-user=${SQUID_UID} \
 		--bindir=${PREFIX}/sbin  \
 		--sbindir=${PREFIX}/sbin  \
@@ -190,6 +212,8 @@
 		--libexecdir=${PREFIX}/libexec/squid \
 		--localstatedir=${PREFIX}/squid \
 		--sysconfdir=${PREFIX}/etc/squid \
+		--with-logdir=${PREFIX}/squid/logs \
+		--with-pidfile=${PREFIX}/squid/squid.pid \
 		--enable-removal-policies="lru heap" \
 		--disable-linux-netfilter \
 		--disable-linux-tproxy \
@@ -230,17 +254,18 @@
 			--enable-basic-auth-helpers="${basic_auth}" \
 			--enable-digest-auth-helpers="${digest_auth}" \
 			--enable-external-acl-helpers="${external_acl}" \
-			--enable-ntlm-auth-helpers="SMB"
+			--enable-ntlm-auth-helpers="smb_lm"
 .if !defined(NO_KERBEROS) && !defined(WITHOUT_KERBEROS)
-# XXX This currently only works with heimdal from the base system,
-#     see files/patch-squid_kerb_auth:
 CONFIGURE_ARGS+=	--enable-negotiate-auth-helpers="squid_kerb_auth"
-libexec+=	squid_kerb_auth
+# XXX:
+# these files moved from libexec to sbin : Bug or Feature?
+sbin+=	negotiate_kerb_auth negotiate_kerb_auth_test \
+	squid_kerb_auth squid_kerb_auth_test
 .endif
 
 # Storage schemes:
 
-storage_schemes=	ufs diskd null
+storage_schemes=	ufs diskd
 .if defined(WITH_SQUID_AUFS)
 storage_schemes+=	aufs
 # Only document switching from libpthread to libthr using libmap.conf
@@ -253,23 +278,23 @@
 CFLAGS+=	${PTHREAD_CFLAGS}
 .endif
 .if defined(WITH_SQUID_COSS)
-# Starting with 3.0.STABLE9, COSS is disabled in Squid-3 until fixes
-# from the 2.x series are backported to 3.x.
-# storage_schemes+=	coss
+# COSS is currently disabled in Squid-3 until fixes from the 2.x series are
+# backported to 3.x.
+#storage_schemes+=	coss
 .endif
 CONFIGURE_ARGS+=	--enable-storeio="${storage_schemes}"
 
 # Other options set via 'make config':
 
+.if defined(WITHOUT_SQUID_IPV6) || defined(WITHOUT_IPV6)
+CONFIGURE_ARGS+=	--disable-ipv6
+.endif
 .if defined(WITH_SQUID_DELAY_POOLS)
 CONFIGURE_ARGS+=	--enable-delay-pools
 .endif
 .if defined(WITHOUT_SQUID_SNMP)
 CONFIGURE_ARGS+=	--disable-snmp
 .endif
-.if defined(WITHOUT_SQUID_CARP)
-CONFIGURE_ARGS+=	--disable-carp
-.endif
 .if defined(WITH_SQUID_SSL)
 # we need to .include bsd.openssl.mk manually here.because USE_OPENSSL only
 # works when it is defined before bsd.port{.pre}.mk is .included.
@@ -289,8 +314,8 @@
 CONFIGURE_ARGS+=	--disable-internal-dns
 libexec+=	dnsserver
 .endif
-.if defined(WITH_SQUID_HTCP)
-CONFIGURE_ARGS+=	--enable-htcp
+.if defined(WITHOUT_SQUID_HTCP)
+CONFIGURE_ARGS+=	--disable-htcp
 .endif
 .if defined(WITH_SQUID_VIA_DB)
 CONFIGURE_ARGS+=	--enable-forw-via-db
@@ -328,6 +353,15 @@
 .if defined(WITH_SQUID_IPFILTER)
 CONFIGURE_ARGS+=	--enable-ipf-transparent
 .endif
+.if defined(WITH_SQUID_FOLLOW_XFF)
+CONFIGURE_ARGS+=	--enable-follow-x-forwarded-for
+.endif
+.if defined(WITH_SQUID_ECAP)
+CONFIGURE_ARGS+=	--enable-ecap
+LIB_DEPENDS+=	ecap:${PORTSDIR}/www/libecap
+CFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=	-L${LOCALBASE}/lib
+.endif
 .if defined(WITH_SQUID_ICAP)
 CONFIGURE_ARGS+=	--enable-icap-client
 .endif
@@ -360,20 +394,6 @@
 CONFIGURE_ARGS+=	--disable-optimizations
 WITH_DEBUG?=		yes
 .endif
-# Languages:
-#
-# If you do not define SQUID_LANGUAGES yourself, all available language files
-# will be installed; the default language will be English.
-SQUID_LANGUAGES?=	Armenian Azerbaijani Bulgarian Catalan Czech Danish \
-			Dutch English Estonian Finnish French German Greek \
-			Hebrew Hungarian Italian Japanese Korean Lithuanian \
-			Polish Portuguese Romanian Russian-1251 Russian-koi8-r \
-			Serbian Simplify_Chinese Slovak Spanish Swedish \
-			Traditional_Chinese Turkish Ukrainian-1251 \
-			Ukrainian-koi8-u Ukrainian-utf8
-SQUID_DEFAULT_LANG?=	templates
-CONFIGURE_ARGS+=	--enable-err-languages="${SQUID_LANGUAGES}" \
-			--enable-default-err-language=${SQUID_DEFAULT_LANG}
 
 # Finally, add additional user specified configuration options:
 CONFIGURE_ARGS+=	${SQUID_CONFIGURE_ARGS}
@@ -386,10 +406,15 @@
 PLIST_FILES=	${etc_files:S,^,etc/,} ${icon_files:S,^,etc/squid/icons/,} \
 		${libexec:S,^,libexec/squid/,} ${sbin:S,^,sbin/,}
 
-.for d in ${SQUID_LANGUAGES} templates
+.for d in ${error_dirs_old}
 PLIST_DIRS+=	etc/squid/errors/${d}
 PLIST_FILES+=	${error_files:S,^,etc/squid/errors/${d}/,}
 .endfor
+.for d in ${error_dirs_new}
+PLIST_DIRS+=	etc/squid/errors/${d}
+PLIST_FILES+=	${error_files:S,^,etc/squid/errors/${d}/,}
+PLIST_FILES+=	${error_files_new_only:S,^,etc/squid/errors/${d}/,}
+.endfor
 PLIST_DIRS+=	etc/squid/errors etc/squid squid/logs squid/cache squid
 
 post-patch:
@@ -403,13 +428,6 @@
 # Prevent installation of .orig files by deleting them.
 	@${FIND} ${WRKSRC} -name '*.bak' -delete
 	@${FIND} ${WRKSRC} -name '*.orig' -delete
-# XXX:
-# Remove error pages that were prematurely integrated into 3.0.STABLE.
-# This is done to keep the package list manageable by installing the same
-# set of error files for every language:
-	@for d in Ukrainian-1251 Ukrainian-koi8-u Ukrainian-utf8 templates; \
-		do ${RM} -f ${WRKSRC}/errors/$${d}/ERR_SECURE_CONNECT_FAIL; \
-	 done
 
 pre-su-install:
 	@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} \
Index: distinfo
===================================================================
--- distinfo	(.../squid30)	(revision 1611)
+++ distinfo	(.../squid31)	(revision 1611)
@@ -1,3 +1,3 @@
-MD5 (squid3.0/squid-3.0.STABLE15.tar.bz2) = 5830a3c8e8d64f3483b38093da2a96fa
-SHA256 (squid3.0/squid-3.0.STABLE15.tar.bz2) = 31fe133debe4f0876c65250c2e8588f5616f1174954ec7371cb860bedc752caf
-SIZE (squid3.0/squid-3.0.STABLE15.tar.bz2) = 1782217
+MD5 (squid3.1/squid-3.1.0.8.tar.bz2) = 468fc9677a8771f9423ddb15fcd2e03d
+SHA256 (squid3.1/squid-3.1.0.8.tar.bz2) = 57964f7d5f9fe9cf37a4178807c169b714335ce132f7f53aee894a638a19d735
+SIZE (squid3.1/squid-3.1.0.8.tar.bz2) = 2345063
Index: pkg-descr
===================================================================
--- pkg-descr	(.../squid30)	(revision 1611)
+++ pkg-descr	(.../squid31)	(revision 1611)
@@ -7,4 +7,7 @@
 By using the lightweight Internet Cache Protocol, Squid caches can be
 arranged in a hierarchy or mesh for additional bandwidth savings.
 
+NOTE: This is a beta version. Stable Squid versions are located in
+      www/squid (2.7 series) and www/squid30 (3.0 series).
+
 WWW: http://www.squid-cache.org/
Index: files/pkg-deinstall.in
===================================================================
--- files/pkg-deinstall.in	(.../squid30)	(revision 1611)
+++ files/pkg-deinstall.in	(.../squid31)	(revision 1611)
@@ -8,7 +8,7 @@
 case $2 in
 DEINSTALL)
 	cd ${PKG_PREFIX}/etc/squid || exit 1
-	for f in cachemgr.conf mime.conf msntauth.conf squid.conf; do
+	for f in cachemgr.conf errorpage.css mime.conf msntauth.conf squid.conf; do
 		cmp -s -z ${f} ${f}.default && rm ${f}
 	done
 	;;
Index: files/pkg-message.in
===================================================================
--- files/pkg-message.in	(.../squid30)	(revision 1611)
+++ files/pkg-message.in	(.../squid31)	(revision 1611)
@@ -24,8 +24,11 @@
 
      Note:
      If you just updated your Squid installation from an earlier version,
-     make sure to check your Squid configuration against the 3.0 default
+     make sure to check your Squid configuration against the 3.1 default
      configuration file %%PREFIX%%/etc/squid/squid.conf.default.
+     
+     %%PREFIX%%/etc/squid/squid.conf.documented is a fully annotated
+     configuration file you can consult for further reference.
 
      Additionally, you should check your configuration by calling
      'squid -f /path/to/squid.conf -k parse' before starting Squid.
Index: files/pkg-install.in
===================================================================
--- files/pkg-install.in	(.../squid30)	(revision 1611)
+++ files/pkg-install.in	(.../squid31)	(revision 1611)
@@ -50,6 +50,18 @@
 		echo "I will use the existing user '${squid_user}':"
 	fi
 	pw usershow ${squid_user}
+	# Starting with 3.1, Squid's PID file moved from
+	# ${squid_base}/logs/squid.pid to ${squid_base}/squid.pid.
+	# Since we usually start the Squid master process as ${squid_user},
+	# make sure that ${squid_base} is writable for it.
+	if [ ! -d ${squid_base} ]; then
+		echo "Creating ${squid_base}..."
+		install -d -o root -g ${squid_group} \
+		    -m 0775 ${squid_base}
+	else
+		chgrp ${squid_group} ${squid_base}
+		chmod g+w ${squid_base}
+	fi
 	for dir in cache logs; do
 	if [ ! -d ${squid_base}/${dir} ]; then
 		echo "Creating ${squid_base}/${dir}..."
@@ -64,7 +76,7 @@
 	fi
 	;;
 POST-INSTALL)
-	for file in cachemgr.conf mime.conf squid.conf; do
+	for file in cachemgr.conf errorpage.css mime.conf msntauth.conf squid.conf; do
 		if [ ! -f ${squid_confdir}/${file} \
 		    -a -f ${squid_confdir}/${file}.default ]; then
 			echo "Creating ${file} from default..."
Index: files/squid.in
===================================================================
--- files/squid.in	(.../squid30)	(revision 1611)
+++ files/squid.in	(.../squid31)	(revision 1611)
@@ -37,10 +37,9 @@
 
 load_rc_config ${name}
 
-squid_chdir=${squid_chdir:-"%%PREFIX%%/squid/logs"}
+squid_chdir=${squid_chdir:-"%%PREFIX%%/squid"}
 squid_enable=${squid_enable:-"NO"}
-squid_flags=${squid_flags-"-D"}
-squid_pidfile=${squid_pidfile:-"%%PREFIX%%/squid/logs/squid.pid"}
+squid_pidfile=${squid_pidfile:-"%%PREFIX%%/squid/squid.pid"}
 squid_user=${squid_user:-%%SQUID_UID%%}
 default_config=%%PREFIX%%/etc/squid/squid.conf
 
Index: files/patch-squid_kerb_auth
===================================================================
--- files/patch-squid_kerb_auth	(.../squid30)	(revision 1611)
+++ files/patch-squid_kerb_auth	(.../squid31)	(revision 1611)
@@ -1,490 +0,0 @@
-This file contains various patches that in general try to enable the
-compilation of the squid_kerb_auth authentication helper program on
-all versions of FreeBSD that are currently supported by the FreeBSD
-ports framework where Heimdal is part of the base system.
-
---- configure.orig	2008-12-23 05:19:34.000000000 +0100
-+++ configure	2008-12-24 15:05:33.000000000 +0100
-@@ -964,6 +964,9 @@
- NTLM_AUTH_HELPERS
- NEGOTIATE_AUTH_HELPERS
- DIGEST_AUTH_HELPERS
-+KRB5CONFIG
-+KERBLIBS
-+KERBINC
- EXTERNAL_ACL_HELPERS
- LIBSASL
- ENABLE_UNLINKD_TRUE
-@@ -23261,6 +23264,368 @@
- fi
- 
- 
-+
-+if `echo "$NEGOTIATE_AUTH_HELPERS" | grep -q squid_kerb_auth`; then
-+    # Extract the first word of "krb5-config", so it can be a program name with args.
-+set dummy krb5-config; ac_word=$2
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_path_KRB5CONFIG+set}" = set; then
-+  $as_echo_n "(cached) " >&6
-+else
-+  case $KRB5CONFIG in
-+  [\\/]* | ?:[\\/]*)
-+  ac_cv_path_KRB5CONFIG="$KRB5CONFIG" # Let the user override the test with a path.
-+  ;;
-+  *)
-+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for ac_exec_ext in '' $ac_executable_extensions; do
-+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-+    ac_cv_path_KRB5CONFIG="$as_dir/$ac_word$ac_exec_ext"
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+IFS=$as_save_IFS
-+
-+  test -z "$ac_cv_path_KRB5CONFIG" && ac_cv_path_KRB5CONFIG="false"
-+  ;;
-+esac
-+fi
-+KRB5CONFIG=$ac_cv_path_KRB5CONFIG
-+if test -n "$KRB5CONFIG"; then
-+  { $as_echo "$as_me:$LINENO: result: $KRB5CONFIG" >&5
-+$as_echo "$KRB5CONFIG" >&6; }
-+else
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+    if test -z "$KRB5CONFIG"; then
-+	{ { $as_echo "$as_me:$LINENO: error: sorry" >&5
-+$as_echo "$as_me: error: sorry" >&2;}
-+   { (exit need krb5-config to determine compilation settings); exit need krb5-config to determine compilation settings; }; }
-+    else
-+	KERBLIBS=`$KRB5CONFIG --libs gssapi`
-+	KERBINC=`$KRB5CONFIG --cflags`
-+
-+
-+    fi
-+
-+for ac_header in gssapi/gssapi.h
-+do
-+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-+$as_echo_n "checking for $ac_header... " >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+  $as_echo_n "(cached) " >&6
-+fi
-+ac_res=`eval 'as_val=${'$as_ac_Header'}
-+		 $as_echo "$as_val"'`
-+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+else
-+  # Is the header compilable?
-+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+$as_echo_n "checking $ac_header usability... " >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+	 test -z "$ac_c_werror_flag" ||
-+	 test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  ac_header_compiler=yes
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+	ac_header_compiler=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+$as_echo "$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+$as_echo_n "checking $ac_header presence... " >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <$ac_header>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } >/dev/null && {
-+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+	 test ! -s conftest.err
-+       }; then
-+  ac_header_preproc=yes
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+  ac_header_preproc=no
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+$as_echo "$ac_header_preproc" >&6; }
-+
-+# So?  What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+  yes:no: )
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=yes
-+    ;;
-+  no:yes:* )
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-+    ( cat <<\_ASBOX
-+## ----------------------------------------------- ##
-+## Report this to http://www.squid-cache.org/bugs/ ##
-+## ----------------------------------------------- ##
-+_ASBOX
-+     ) | sed "s/^/$as_me: WARNING:     /" >&2
-+    ;;
-+esac
-+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-+$as_echo_n "checking for $ac_header... " >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+  $as_echo_n "(cached) " >&6
-+else
-+  eval "$as_ac_Header=\$ac_header_preproc"
-+fi
-+ac_res=`eval 'as_val=${'$as_ac_Header'}
-+		 $as_echo "$as_val"'`
-+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+
-+fi
-+if test `eval 'as_val=${'$as_ac_Header'}
-+		 $as_echo "$as_val"'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+
-+done
-+
-+    if test x"$ac_cv_header_gssapi_gssapi_h" != x"yes"; then
-+
-+for ac_header in gssapi.h
-+do
-+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-+$as_echo_n "checking for $ac_header... " >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+  $as_echo_n "(cached) " >&6
-+fi
-+ac_res=`eval 'as_val=${'$as_ac_Header'}
-+		 $as_echo "$as_val"'`
-+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+else
-+  # Is the header compilable?
-+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+$as_echo_n "checking $ac_header usability... " >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+	 test -z "$ac_c_werror_flag" ||
-+	 test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  ac_header_compiler=yes
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+	ac_header_compiler=no
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-+$as_echo "$ac_header_compiler" >&6; }
-+
-+# Is the header present?
-+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-+$as_echo_n "checking $ac_header presence... " >&6; }
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <$ac_header>
-+_ACEOF
-+if { (ac_try="$ac_cpp conftest.$ac_ext"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } >/dev/null && {
-+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-+	 test ! -s conftest.err
-+       }; then
-+  ac_header_preproc=yes
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+  ac_header_preproc=no
-+fi
-+
-+rm -f conftest.err conftest.$ac_ext
-+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-+$as_echo "$ac_header_preproc" >&6; }
-+
-+# So?  What about this header?
-+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-+  yes:no: )
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=yes
-+    ;;
-+  no:yes:* )
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-+    ( cat <<\_ASBOX
-+## ----------------------------------------------- ##
-+## Report this to http://www.squid-cache.org/bugs/ ##
-+## ----------------------------------------------- ##
-+_ASBOX
-+     ) | sed "s/^/$as_me: WARNING:     /" >&2
-+    ;;
-+esac
-+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-+$as_echo_n "checking for $ac_header... " >&6; }
-+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-+  $as_echo_n "(cached) " >&6
-+else
-+  eval "$as_ac_Header=\$ac_header_preproc"
-+fi
-+ac_res=`eval 'as_val=${'$as_ac_Header'}
-+		 $as_echo "$as_val"'`
-+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+
-+fi
-+if test `eval 'as_val=${'$as_ac_Header'}
-+		 $as_echo "$as_val"'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+else
-+  { { $as_echo "$as_me:$LINENO: error: neither <gssapi/gssapi.h> nor <gssapi.h> found" >&5
-+$as_echo "$as_me: error: neither <gssapi/gssapi.h> nor <gssapi.h> found" >&2;}
-+   { (exit 1); exit 1; }; }
-+
-+fi
-+
-+done
-+
-+    fi
-+fi
-+
- # Check whether --enable-ntlm-fail-open was given.
- if test "${enable_ntlm_fail_open+set}" = set; then
-   enableval=$enable_ntlm_fail_open;  if test "$enableval" = "yes" ; then
---- include/autoconf.h.in.orig	2008-12-23 05:19:29.000000000 +0100
-+++ include/autoconf.h.in	2008-12-24 15:05:33.000000000 +0100
-@@ -188,6 +188,12 @@
- /* Define to 1 if you have the `htole16' function. */
- #undef HAVE_HTOLE16
- 
-+/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
-+#undef HAVE_GSSAPI_GSSAPI_H
-+
-+/* Define to 1 if you have the <gssapi.h> header file. */
-+#undef HAVE_GSSAPI_H
-+
- /* Define to 1 if you have the `initgroups' function. */
- #undef HAVE_INITGROUPS
- 
---- helpers/negotiate_auth/squid_kerb_auth/Makefile.in.orig	2008-12-23 05:19:26.000000000 +0100
-+++ helpers/negotiate_auth/squid_kerb_auth/Makefile.in	2008-12-24 15:05:33.000000000 +0100
-@@ -154,6 +154,18 @@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+#-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS)
-+
-+# HEIMDAL
-+#KERBINC = -DHEIMDAL -I/usr/include/heimdal
-+#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken
-+
-+# MIT
-+#KERBINC = 
-+#KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err
-+KERBINC = -DHEIMDAL @KERBINC@
-+KERBLIBS = @KERBLIBS@
-+KRB5CONFIG = @KRB5CONFIG@
- LDFLAGS = @LDFLAGS@
- LIBADD_DL = @LIBADD_DL@
- LIBOBJS = @LIBOBJS@
-@@ -305,15 +317,6 @@
- squid_kerb_auth_SOURCES = $(SOURCE) $(SPNEGO)
- #-I$(top_srcdir)/include -I$(top_srcdir)/src
- LDADD = $(KERBLIBS)
--#-L$(top_builddir)/lib -lmiscutil $(XTRA_LIBS)
--
--# HEIMDAL
--#KERBINC = -DHEIMDAL -I/usr/include/heimdal
--#KERBLIBS = -lgssapi -lkrb5 -lcom_err -lasn1 -lroken
--
--# MIT
--KERBINC = 
--KERBLIBS = -lgssapi_krb5 -lkrb5 -lcom_err
- all: all-am
- 
- .SUFFIXES:
---- helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c.orig	2008-12-23 05:19:29.000000000 +0100
-+++ helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c	2008-12-24 15:05:33.000000000 +0100
-@@ -24,6 +24,7 @@
- /*
-  * Hosted at http://sourceforge.net/projects/squidkerbauth
-  */
-+#include "config.h"
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -31,6 +32,7 @@
- #include <unistd.h>
- #include <time.h>
- #include <sys/time.h>
-+#include <sys/param.h>
- 
- #include "base64.h"
- #ifndef HAVE_SPNEGO
-@@ -51,7 +53,11 @@
- #define PROGRAM "squid_kerb_auth"
- 
- #ifdef HEIMDAL
-+#ifdef HAVE_GSSAPI_GSSAPI_H
-+#include <gssapi/gssapi.h>
-+#else
- #include <gssapi.h>
-+#endif
- #define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE
- #else
- #include <gssapi/gssapi.h>
---- helpers/negotiate_auth/squid_kerb_auth/spnegohelp/derparse.c.orig	2009-03-28 17:01:45.000000000 +0100
-+++ helpers/negotiate_auth/squid_kerb_auth/spnegohelp/derparse.c	2009-03-28 17:06:55.000000000 +0100
-@@ -22,12 +22,19 @@
- //
- /////////////////////////////////////////////////////////////
- 
-+#include "config.h"
- #include <stdlib.h>
- #include <stdio.h>
- #include <memory.h>
- #include "spnego.h"
- #include "derparse.h"
- 
-+#ifdef WORDS_BIGENDIAN
-+#undef __LITTLE_ENDIAN__
-+#else
-+#define __LITTLE_ENDIAN__ 1
-+#endif
-+
- //
- // The GSS Mechanism OID enumeration values (SPNEGO_MECH_OID) control which offset in
- // the array below, that a mechanism can be found.
	


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906140856.n5E8ubxW005853>