Index: head/www/squid-devel/Makefile =================================================================== --- head/www/squid-devel/Makefile (revision 429219) +++ head/www/squid-devel/Makefile (revision 429220) @@ -1,316 +1,320 @@ # $FreeBSD$ PORTNAME= squid -PORTVERSION= 4.0.14 +PORTVERSION= 4.0.17 CATEGORIES= www ipv6 MASTER_SITES= http://www.squid-cache.org/Versions/v4/ \ http://www2.us.squid-cache.org/Versions/v4/ \ http://www1.at.squid-cache.org/Versions/v4/ \ http://www.eu.squid-cache.org/Versions/v4/ \ http://www1.jp.squid-cache.org/Versions/v4/ PKGNAMESUFFIX= -devel DIST_SUBDIR= squid${PORTVERSION:R} PATCH_SITES= http://www.squid-cache.org/%SUBDIR%/ \ http://www2.us.squid-cache.org/%SUBDIR%/ \ http://www1.at.squid-cache.org/%SUBDIR%/ \ http://www.eu.squid-cache.org/%SUBDIR%/ \ http://www1.jp.squid-cache.org/%SUBDIR%/ \ http://master.squid-cache.org/~amosjeffries/patches/:nosid PATCH_SITE_SUBDIR= Versions/v4/changesets #PATCHFILES= MAINTAINER= timp87@gmail.com COMMENT= HTTP Caching Proxy LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING CONFLICTS= squid*-3.* USES= compiler:c++11-lib cpe perl5 shebangfix tar:xz CPE_VENDOR= squid-cache SHEBANG_FILES= scripts/*.pl contrib/*.pl tools/*.pl GNU_CONFIGURE= yes USE_RC_SUBR= squid USERS= squid GROUPS= squid MYDOCS= QUICKSTART README RELEASENOTES.html doc/debug-sections.txt PORTDOCS= ${MYDOCS:T} PORTEXAMPLES= * SUB_FILES+= pkg-install pkg-message OPTIONS_SUB= yes OPTIONS_GROUP= AUTH OPTIONS_RADIO= FW OPTIONS_GROUP_AUTH=AUTH_LDAP AUTH_NIS AUTH_SASL AUTH_SMB AUTH_SQL OPTIONS_RADIO_FW=TP_IPF TP_IPFW TP_PF OPTIONS_DEFINE= ARP_ACL CACHE_DIGESTS DEBUG DELAY_POOLS ECAP ESI \ FOLLOW_XFF FS_AUFS FS_DISKD FS_ROCK HTCP ICAP ICMP IDENT IPV6 \ KQUEUE LARGEFILE NETTLE SNMP SSL SSL_CRTD STACKTRACES LAX_HTTP \ VIA_DB WCCP WCCPV2 DOCS EXAMPLES OPTIONS_SINGLE= GSSAPI OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT OPTIONS_DEFAULT=ARP_ACL AUTH_NIS CACHE_DIGESTS DELAY_POOLS FOLLOW_XFF \ FS_AUFS FS_DISKD FS_ROCK HTCP ICAP ICMP IDENT KQUEUE LARGEFILE \ LAX_HTTP SNMP SSL SSL_CRTD TP_IPFW VIA_DB WCCP WCCPV2 GSSAPI_BASE ARP_ACL_CONFIGURE_ENABLE= eui AUTH_LDAP_CFLAGS= -I${LOCALBASE}/include AUTH_LDAP_LDFLAGS= -L${LOCALBASE}/lib AUTH_LDAP_USE= OPENLDAP=yes AUTH_LDAP_VARS= BASIC_AUTH+=LDAP EXTERNAL_ACL+=LDAP_group AUTH_SASL_CFLAGS= -I${LOCALBASE}/include AUTH_SASL_CPPFLAGS= -I${LOCALBASE}/include AUTH_SASL_LDFLAGS= -L${LOCALBASE}/lib AUTH_SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 AUTH_SASL_VARS= BASIC_AUTH+=SASL AUTH_SMB_RUN_DEPENDS= smbclient:net/samba43 AUTH_SMB_VARS= BASIC_AUTH+=SMB EXTERNAL_ACL+=wbinfo_group AUTH_SQL_RUN_DEPENDS= p5-DBI>=1.08:databases/p5-DBI AUTH_SQL_VARS= EXTERNAL_ACL+=SQL_session CACHE_DIGESTS_CONFIGURE_ENABLE= cache-digests DELAY_POOLS_CONFIGURE_ENABLE= delay-pools ECAP_CFLAGS= -I${LOCALBASE}/include ECAP_CONFIGURE_ENABLE= ecap ECAP_LDFLAGS= -L${LOCALBASE}/lib ECAP_LIB_DEPENDS= libecap.so:www/libecap ECAP_USES= pkgconfig:build ESI_CFLAGS= -I${LOCALBASE}/include -I${LOCALBASE}/include/libxml2 ESI_CONFIGURE_ENABLE= esi ESI_LDFLAGS= -L${LOCALBASE}/lib ESI_LIB_DEPENDS= libexpat.so:textproc/expat2 \ libxml2.so:textproc/libxml2 FOLLOW_XFF_CONFIGURE_ENABLE= follow-x-forwarded-for HTCP_CONFIGURE_ENABLE= htcp ICAP_CONFIGURE_ENABLE= icap-client ICMP_CONFIGURE_ENABLE= icmp IDENT_CONFIGURE_ENABLE= ident-lookups IPV6_CONFIGURE_ENABLE= ipv6 KQUEUE_CONFIGURE_ENABLE= kqueue LARGEFILE_CONFIGURE_WITH= large-files LAX_HTTP_CONFIGURE_ENABLE= http-violations FS_AUFS_VARS= STORAGE_SCHEMES+=aufs DISKIO_MODULES+=DiskThreads # Nil aufs threads is default, set any other value via SQUID_CONFIGURE_ARGS, # e.g. SQUID_CONFIGURE_ARGS=--with-aufs-threads=N FS_AUFS_LDFLAGS= -pthread FS_AUFS_CONFIGURE_OFF= --without-pthreads FS_DISKD_VARS= STORAGE_SCHEMES+=diskd DISKIO_MODULES+=DiskDaemon FS_ROCK_VARS= STORAGE_SCHEMES+=rock NETTLE_LIB_DEPENDS= libnettle.so:security/nettle NETTLE_CONFIGURE_OFF= --without-nettle SNMP_CONFIGURE_ENABLE= snmp SSL_CONFIGURE_ENABLE= ssl SSL_CONFIGURE_ON= --with-openssl=${OPENSSLBASE} \ --enable-security-cert-generators="file" \ LIBOPENSSL_CFLAGS=-I${OPENSSLINC} \ LIBOPENSSL_LIBS="-lcrypto -lssl" SSL_USES= ssl SSL_CRTD_CONFIGURE_ENABLE= ssl-crtd SSL_CRTD_IMPLIES= SSL STACKTRACES_CONFIGURE_ENABLE= stacktraces STACKTRACES_EXTRA_PATCHES= ${FILESDIR}/extra-patch-gen-stacktrace STACKTRACES_LIB_DEPENDS= libunwind.so:devel/libunwind STACKTRACES_CONFIGURE_ON= --disable-strict-error-checking STACKTRACES_CFLAGS= -g STACKTRACES_LDFLAGS= -lunwind -L${LOCALBASE}/lib STACKTRACES_VARS= STRIP="" TP_IPFW_CONFIGURE_ENABLE= ipfw-transparent TP_IPF_CONFIGURE_ENABLE= ipf-transparent TP_PF_CONFIGURE_ENABLE= pf-transparent TP_PF_CONFIGURE_WITH= nat-devpf VIA_DB_CONFIGURE_ENABLE= forw-via-db WCCPV2_CONFIGURE_ENABLE= wccpv2 WCCP_CONFIGURE_ENABLE= wccp GSSAPI_NONE_CONFIGURE_ON= --without-heimdal-krb5 \ --without-mit-krb5 \ --without-gss GSSAPI_BASE_USES= gssapi GSSAPI_BASE_CONFIGURE_ON= --with-heimdal-krb5=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} GSSAPI_BASE_PLIST_SUB= AUTH_KERB="" # Make it build on FreeBSD < 10 GSSAPI_BASE_EXTRA_PATCHES= ${FILESDIR}/extra-patch-build-8-9 GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_HEIMDAL_CONFIGURE_ON= --with-heimdal-krb5=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} GSSAPI_HEIMDAL_PLIST_SUB= AUTH_KERB="" GSSAPI_MIT_USES= gssapi:mit GSSAPI_MIT_CONFIGURE_ON= --with-mit-krb5=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS} GSSAPI_MIT_PLIST_SUB= AUTH_KERB="" # TODO: # add an option for external_acl/session (requires some kind of external # Berkeley DB support, unsure which one) ARP_ACL_DESC= ARP/MAC/EUI based authentification AUTH_DESC= Authentication helpers AUTH_LDAP_DESC= Install LDAP authentication helpers AUTH_NIS_DESC= Install NIS/YP authentication helpers AUTH_SASL_DESC= Install SASL authentication helpers AUTH_SMB_DESC= Install SMB auth. helpers (req. Samba) AUTH_SQL_DESC= Install SQL based auth CACHE_DIGESTS_DESC= Use cache digests DEBUG_DESC= Build with extended debugging support DELAY_POOLS_DESC= Delay pools (bandwidth limiting) ECAP_DESC= Loadable content adaptation modules ESI_DESC= ESI support FOLLOW_XFF_DESC= Support for the X-Following-For header FS_AUFS_DESC= AUFS (threaded-io) support FS_DISKD_DESC= DISKD storage engine controlled by separate service FS_ROCK_DESC= ROCK storage engine HTCP_DESC= HTCP support ICAP_DESC= the ICAP client ICMP_DESC= ICMP pinging and network measurement IDENT_DESC= Ident lookups (RFC 931) KQUEUE_DESC= Kqueue(2) support LARGEFILE_DESC= Support large (>2GB) cache and log files NETTLE_DESC= Nettle MD5 algorithm support SNMP_DESC= SNMP support SSL_CRTD_DESC= Use ssl_crtd to handle SSL cert requests SSL_DESC= SSL gatewaying support STACKTRACES_DESC= Enable automatic backtraces on fatal errors LAX_HTTP_DESC= Do not enforce strict HTTP compliance TP_IPFW_DESC= Transparent proxying with IPFW TP_IPF_DESC= Transparent proxying with IPFilter TP_PF_DESC= Transparent proxying with PF VIA_DB_DESC= Forward/Via database WCCPV2_DESC= Web Cache Coordination Protocol v2 WCCP_DESC= Web Cache Coordination Protocol change_files= ChangeLog \ contrib/nextstep/makepkg \ contrib/nextstep/post_install \ errors/Makefile.am \ errors/Makefile.in \ src/auth/basic/SMB_LM/README.html \ src/Makefile.am \ src/Makefile.in \ src/cf_gen.cc \ src/squid.8.in \ test-suite/Makefile.in \ tools/Makefile.am \ tools/Makefile.in .if !defined(SQUID_CONFIGURE_ARGS) \ || ${SQUID_CONFIGURE_ARGS:M*--disable-unlinkd*} == "" PLIST_SUB+= UNLINKD="" .else PLIST_SUB+= UNLINKD="@comment " .endif CONFIGURE_ARGS= --with-default-user=squid \ --bindir=${PREFIX}/sbin \ --sbindir=${PREFIX}/sbin \ --datadir=${ETCDIR} \ --libexecdir=${PREFIX}/libexec/squid \ --localstatedir=/var \ --sysconfdir=${ETCDIR} \ --with-logdir=/var/log/squid \ --with-pidfile=/var/run/squid/squid.pid \ --with-swapdir=/var/squid/cache \ --without-gnutls \ --enable-auth \ + --enable-zph-qos \ --enable-build-info \ --enable-loadable-modules \ --enable-removal-policies="lru heap" \ --disable-epoll \ --disable-linux-netfilter \ --disable-linux-tproxy \ --disable-translation \ --disable-arch-native .include .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000 IGNORE= doesn't build, messes C++ headers and libs .endif # Authentication methods and modules: BASIC_AUTH+= DB SMB_LM NCSA PAM POP3 RADIUS fake getpwnam EXTERNAL_ACL+= file_userip time_quota unix_group # POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too: .if ${PORT_OPTIONS:MAUTH_NIS} && !defined(NO_NIS) && !defined(WITHOUT_NIS) BASIC_AUTH+= NIS .endif # POLA: allow the old global make.conf(5) (pre src.conf(5)) defines, too: .if ${PORT_OPTIONS:MGSSAPI_NONE} || defined(NO_KERBEROS) || defined(WITHOUT_KERBEROS) NEGOTIATE_AUTH= none PLIST_SUB+= AUTH_KERB="@comment " .else # The kerberos_ldap_group external helper also depends on LDAP and SASL: . if ${PORT_OPTIONS:MAUTH_LDAP} && ${PORT_OPTIONS:MAUTH_SASL} EXTERNAL_ACL+= kerberos_ldap_group . endif NEGOTIATE_AUTH= kerberos wrapper .endif # Storage schemes: STORAGE_SCHEMES+= ufs DISKIO_MODULES+= AIO Blocking IpcIo Mmapped CONFIGURE_ARGS+= --enable-auth-basic="${BASIC_AUTH}" \ --enable-auth-digest="file" \ --enable-external-acl-helpers="${EXTERNAL_ACL}" \ --enable-auth-negotiate="${NEGOTIATE_AUTH}" \ --enable-auth-ntlm="fake SMB_LM" \ --enable-storeio="${STORAGE_SCHEMES}" \ --enable-disk-io="${DISKIO_MODULES}" \ --enable-log-daemon-helpers="file" \ --enable-url-rewrite-helpers="fake" \ --enable-storeid-rewrite-helpers="file" \ --enable-security-cert-validators="fake" # Other options set via 'make config': .if ${PORT_OPTIONS:MDEBUG} || defined(WITH_DEBUG) CONFIGURE_ARGS+= --disable-optimizations --enable-debug-cbdata WITH_DEBUG?= yes .endif # Finally, add additional user specified configuration options: CONFIGURE_ARGS+= ${SQUID_CONFIGURE_ARGS} post-patch: @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \ ${WRKSRC}/src/cf.data.pre @(cd ${WRKSRC} && ${REINPLACE_CMD} \ -e 's|\.conf\.default|.conf.sample|' \ -e 's|)\.default|).sample|' \ ${change_files}) @(cd ${WRKSRC} && ${MV} src/mime.conf.default src/mime.conf.sample) -.if !${PORT_OPTIONS:MIPV6} +post-patch-IPV6-off: @${REINPLACE_CMD} -e's/ ::1//' -e's/ fc00::\/7//' \ -e's/ fe80::\/10//' -e's/ 2001:DB8::2//' \ -e's/ 2001:DB8::a:0\/64//' \ -e'/tcp_outgoing_address 2001:db8::c001 good_service_net/d' \ -e'/tcp_outgoing_address 2001:db8::beef normal_service_net/d' \ -e'/tcp_outgoing_address 2001:db8::1/d' \ ${WRKSRC}/src/cf.data.pre -.endif post-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/src/auth/basic/DB/passwd.sql \ ${STAGEDIR}${EXAMPLESDIR} @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} ${MYDOCS} ${STAGEDIR}${DOCSDIR}) .include + +.if ${PORT_OPTIONS:MSSL} && ${SSL_DEFAULT:Mopenssl-devel} +BROKEN= Does not build with openssl-devel +.endif .if ${CHOSEN_COMPILER_TYPE} == clang #CXXFLAGS+= -Wno-unused-private-field CXXFLAGS+= -Wno-unknown-warning-option CXXFLAGS+= -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -Wno-dynamic-class-memaccess .endif .include Index: head/www/squid-devel/distinfo =================================================================== --- head/www/squid-devel/distinfo (revision 429219) +++ head/www/squid-devel/distinfo (revision 429220) @@ -1,3 +1,3 @@ TIMESTAMP = 1467941699 -SHA256 (squid4.0/squid-4.0.14.tar.xz) = c0e9e2d1bc2e18b2317aff165d3d697eac253977a6c37b9659de3ed81d004d1a -SIZE (squid4.0/squid-4.0.14.tar.xz) = 2404528 +SHA256 (squid4.0/squid-4.0.17.tar.xz) = 8b1f3487495d1b02892bd63d6bdd97862be62a9cebc27245426de4543876239c +SIZE (squid4.0/squid-4.0.17.tar.xz) = 2410244 Index: head/www/squid-devel/files/patch-compat_compat.h =================================================================== --- head/www/squid-devel/files/patch-compat_compat.h (revision 429219) +++ head/www/squid-devel/files/patch-compat_compat.h (revision 429220) @@ -1,20 +1,20 @@ ---- compat/compat.h.orig 2015-11-01 10:44:25 UTC +--- compat/compat.h.orig 2016-12-16 10:06:20 UTC +++ compat/compat.h -@@ -42,17 +42,6 @@ - #endif - #endif +@@ -29,17 +29,6 @@ + /******************************************************/ + #include "compat/osdetect.h" -/* Solaris 10 has a broken definition for minor_t in IPFilter compat. - * We must pre-define before doing anything with OS headers so the OS - * do not. Then un-define it before using the IPFilter *_compat.h headers. - */ -#if IPF_TRANSPARENT && USE_SOLARIS_IPFILTER_MINOR_T_HACK -/* But we only need do this nasty thing for src/ip/Intercept.cc */ -#if BUILDING_SQUID_IP_INTERCEPT_CC -#define minor_t solaris_minor_t_fubar -#endif -#endif - /*****************************************************/ /* FDSETSIZE is messy and needs to be done before */ /* sys/types.h are defined. */ Index: head/www/squid-devel/files/patch-compat_shm.cc =================================================================== --- head/www/squid-devel/files/patch-compat_shm.cc (revision 429219) +++ head/www/squid-devel/files/patch-compat_shm.cc (revision 429220) @@ -1,11 +1,11 @@ ---- compat/shm.cc.orig 2015-11-01 10:44:25 UTC +--- compat/shm.cc.orig 2016-12-16 10:06:20 UTC +++ compat/shm.cc @@ -29,6 +29,8 @@ shm_portable_segment_name_is_path() size_t len = sizeof(jailed); ::sysctlbyname("security.jail.jailed", &jailed, &len, NULL, 0); return !jailed; +#elif defined (__DragonFly__) + return true; #else return false; #endif Index: head/www/squid-devel/files/patch-configure =================================================================== --- head/www/squid-devel/files/patch-configure (revision 429219) +++ head/www/squid-devel/files/patch-configure (revision 429220) @@ -1,82 +1,82 @@ ---- configure.orig 2015-11-01 10:46:19 UTC +--- configure.orig 2016-12-16 10:19:31 UTC +++ configure -@@ -32038,7 +32040,7 @@ done +@@ -33043,7 +33043,7 @@ done ## BUILD_HELPER="NIS" -for ac_header in sys/types.h rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h crypt.h +for ac_header in sys/types.h rpc/rpc.h rpcsvc/ypclnt.h rpcsvc/yp_prot.h rpcsvc/crypt.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " -@@ -32053,8 +32055,10 @@ if eval test \"x\$"$as_ac_Header"\" = x" +@@ -33058,8 +33058,10 @@ if eval test \"x\$"$as_ac_Header"\" = x" #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF -else - BUILD_HELPER="" +# XXX: On FreeBSD we have to do this to make NIS work +# until https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=188247 +# is resolved. + BUILD_HELPER="NIS" fi done -@@ -32519,7 +32523,7 @@ done +@@ -33532,7 +33534,7 @@ done # unconditionally requires crypt(3), for now if test "x$ac_cv_func_crypt" != "x"; then - for ac_header in unistd.h crypt.h shadow.h + for ac_header in unistd.h rpcsvc/crypt.h shadow.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -@@ -34574,7 +34578,7 @@ for ac_header in \ +@@ -35882,7 +35884,7 @@ for ac_header in \ arpa/nameser.h \ assert.h \ bstring.h \ - crypt.h \ + rpcsvc/crypt.h \ ctype.h \ direct.h \ errno.h \ -@@ -34785,6 +34789,7 @@ ac_fn_cxx_check_header_compile "$LINENO" +@@ -36092,6 +36094,7 @@ ac_fn_cxx_check_header_compile "$LINENO" #include #endif #if HAVE_NETINET_IP_COMPAT_H +#include /* IFNAMSIZ */ #include #endif #if HAVE_NETINET_IP_FIL_H -@@ -38773,6 +38778,7 @@ if test "x$enable_ipf_transparent" != "x +@@ -40315,6 +40318,7 @@ if test "x$enable_ipf_transparent" != "x # include # include +# include /* IFNAMSIZ */ # include # include # include -@@ -38803,6 +38809,7 @@ else +@@ -40345,6 +40349,7 @@ else # include # include #undef minor_t +# include /* IFNAMSIZ */ # include # include # include -@@ -38847,6 +38854,7 @@ _ACEOF +@@ -40389,6 +40394,7 @@ _ACEOF ip_fil_compat.h \ ip_fil.h \ ip_nat.h \ + net/if.h \ netinet/ip_compat.h \ netinet/ip_fil_compat.h \ netinet/ip_fil.h \ -@@ -38876,6 +38884,7 @@ ac_fn_cxx_check_header_compile "$LINENO" +@@ -40418,6 +40424,7 @@ ac_fn_cxx_check_header_compile "$LINENO" #if HAVE_IP_COMPAT_H #include #elif HAVE_NETINET_IP_COMPAT_H +#include /* IFNAMSIZ */ #include #endif #if HAVE_IP_FIL_H Index: head/www/squid-devel/files/patch-src-cf.data.pre =================================================================== --- head/www/squid-devel/files/patch-src-cf.data.pre (revision 429219) +++ head/www/squid-devel/files/patch-src-cf.data.pre (revision 429220) @@ -1,13 +1,13 @@ ---- src/cf.data.pre.orig 2015-11-01 10:44:25 UTC +--- src/cf.data.pre.orig 2016-12-16 10:06:20 UTC +++ src/cf.data.pre -@@ -4558,6 +4558,10 @@ DEFAULT: @DEFAULT_PID_FILE@ +@@ -4754,6 +4754,10 @@ DEFAULT: @DEFAULT_PID_FILE@ LOC: Config.pidFilename DOC_START A filename to write the process-id to. To disable, enter "none". + + Note: If you change this setting, you need to set squid_pidfile + in /etc/rc.conf to reflect the new value. Please see + /usr/local/etc/rc.d/squid for details. DOC_END NAME: client_netmask Index: head/www/squid-devel/files/patch-src_DiskIO_Mmapped_MmappedFile.cc =================================================================== --- head/www/squid-devel/files/patch-src_DiskIO_Mmapped_MmappedFile.cc (revision 429219) +++ head/www/squid-devel/files/patch-src_DiskIO_Mmapped_MmappedFile.cc (revision 429220) @@ -1,11 +1,11 @@ ---- src/DiskIO/Mmapped/MmappedFile.cc.orig 2015-11-01 10:44:25 UTC +--- src/DiskIO/Mmapped/MmappedFile.cc.orig 2016-12-16 10:06:20 UTC +++ src/DiskIO/Mmapped/MmappedFile.cc -@@ -235,7 +235,7 @@ Mmapping::map() +@@ -236,7 +236,7 @@ Mmapping::map() static const int pageSize = getpagesize(); delta = offset % pageSize; - buf = mmap(NULL, length + delta, prot, flags, fd, offset - delta); + buf = mmap(NULL, length + delta, prot, flags | MAP_NOSYNC, fd, offset - delta); if (buf == MAP_FAILED) { const int errNo = errno; Index: head/www/squid-devel/files/patch-src__ip__Intercept.cc =================================================================== --- head/www/squid-devel/files/patch-src__ip__Intercept.cc (revision 429219) +++ head/www/squid-devel/files/patch-src__ip__Intercept.cc (revision 429220) @@ -1,53 +1,15 @@ ---- src/ip/Intercept.cc.orig 2015-11-01 10:44:25 UTC +--- src/ip/Intercept.cc.orig 2016-12-16 10:06:20 UTC +++ src/ip/Intercept.cc -@@ -202,10 +202,10 @@ Ip::Intercept::IpfInterception(const Com +@@ -206,10 +206,10 @@ Ip::Intercept::IpfInterception(const Com // for NAT lookup set local and remote IP:port's if (newConn->remote.isIPv6()) { #if IPFILTER_VERSION < 5000003 - // warn once every 10 at critical level, then push down a level each repeated event + // warn once every million at critical level, then push down a level each repeated event static int warningLevel = DBG_CRITICAL; debugs(89, warningLevel, "IPF (IPFilter v4) NAT does not support IPv6. Please upgrade to IPFilter v5.1"); - warningLevel = (warningLevel + 1) % 10; + warningLevel = (warningLevel + 1) % 1048576; return false; - #else - natLookup.nl_v = 6; -@@ -323,13 +323,21 @@ } - - memset(&nl, 0, sizeof(struct pfioc_natlook)); -- newConn->remote.getInAddr(nl.saddr.v4); -+ if (newConn->remote.isIPv4()) { -+ newConn->remote.getInAddr(nl.saddr.v4); -+ } else { -+ newConn->remote.getInAddr(nl.saddr.v6); -+ } - nl.sport = htons(newConn->remote.port()); - -- newConn->local.getInAddr(nl.daddr.v4); -+ if (newConn->local.isIPv4()) { -+ newConn->local.getInAddr(nl.daddr.v4); -+ } else { -+ newConn->local.getInAddr(nl.daddr.v6); -+ } - nl.dport = htons(newConn->local.port()); - -- nl.af = AF_INET; -+ nl.af = newConn->remote.isIPv4() ? AF_INET : AF_INET6; - nl.proto = IPPROTO_TCP; - nl.direction = PF_OUT; - -@@ -345,7 +353,11 @@ - debugs(89, 9, HERE << "address: " << newConn); - return false; - } else { -- newConn->local = nl.rdaddr.v4; -+ if (nl.af == AF_INET) { -+ newConn->local = nl.rdaddr.v4; -+ } else { -+ newConn->local = nl.rdaddr.v6; -+ } - newConn->local.port(ntohs(nl.rdport)); - debugs(89, 5, HERE << "address NAT: " << newConn); - return true; + newConn->local.getInAddr(natLookup.nl_inip); Index: head/www/squid-devel/files/patch-src_ipc_mem_Segment.cc =================================================================== --- head/www/squid-devel/files/patch-src_ipc_mem_Segment.cc (revision 429219) +++ head/www/squid-devel/files/patch-src_ipc_mem_Segment.cc (revision 429220) @@ -1,11 +1,11 @@ ---- src/ipc/mem/Segment.cc.orig 2015-11-01 10:44:25 UTC +--- src/ipc/mem/Segment.cc.orig 2016-12-16 10:06:20 UTC +++ src/ipc/mem/Segment.cc -@@ -150,7 +150,7 @@ Ipc::Mem::Segment::attach() +@@ -173,7 +173,7 @@ Ipc::Mem::Segment::attach() assert(theSize == static_cast(static_cast(theSize))); void *const p = - mmap(NULL, theSize, PROT_READ | PROT_WRITE, MAP_SHARED, theFD, 0); + mmap(NULL, theSize, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_NOSYNC, theFD, 0); if (p == MAP_FAILED) { - debugs(54, 5, HERE << "mmap " << theName << ": " << xstrerror()); - fatalf("Ipc::Mem::Segment::attach failed to mmap(%s): %s\n", + int xerrno = errno; + debugs(54, 5, "mmap " << theName << ": " << xstrerr(xerrno)); Index: head/www/squid-devel/files/patch-src_tools.cc =================================================================== --- head/www/squid-devel/files/patch-src_tools.cc (revision 429219) +++ head/www/squid-devel/files/patch-src_tools.cc (revision 429220) @@ -1,11 +1,11 @@ ---- src/tools.cc.orig 2015-11-01 10:44:25 UTC +--- src/tools.cc.orig 2016-12-16 10:06:20 UTC +++ src/tools.cc @@ -603,7 +603,7 @@ no_suid(void) uid = geteuid(); debugs(21, 3, "no_suid: PID " << getpid() << " giving up root priveleges forever"); - if (setuid(0) < 0) { + if (setuid(0) < 0 && TheProcessKind != pkHelper) { int xerrno = errno; debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerr(xerrno)); }