Reinstate www/squid-devel port after repo-copy of www/squid ->
www/squid-devel Reported by: danfe
This commit is contained in:
parent
440a80588d
commit
115a497c13
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=414771
378
www/squid-devel/Makefile
Normal file
378
www/squid-devel/Makefile
Normal file
@ -0,0 +1,378 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= squid
|
||||
PORTVERSION= 4.0.9
|
||||
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-lang 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 DOCS EXAMPLES FOLLOW_XFF \
|
||||
FS_AUFS FS_DISKD FS_ROCK HTCP ICAP ICMP IDENT IPV6 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_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_SMB_RUN_DEPENDS= smbclient:net/samba42
|
||||
AUTH_SQL_RUN_DEPENDS= p5-DBI>=1.08:databases/p5-DBI
|
||||
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
|
||||
NETTLE_LIB_DEPENDS= libnettle.so:security/nettle
|
||||
NETTLE_CONFIGURE_OFF= --without-nettle
|
||||
SNMP_CONFIGURE_ENABLE= snmp
|
||||
SSL_CONFIGURE_ENABLE= ssl
|
||||
SSL_CRTD_CONFIGURE_ENABLE= ssl-crtd
|
||||
STACKTRACES_CONFIGURE_ENABLE= stacktraces
|
||||
STACKTRACES_LIB_DEPENDS= libunwind.so:devel/libunwind
|
||||
STACKTRACES_CONFIGURE_ON= --disable-strict-error-checking
|
||||
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_HEIMDAL_USES= gssapi:heimdal
|
||||
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-heimdal-krb5=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
|
||||
|
||||
GSSAPI_MIT_USES= gssapi:mit
|
||||
GSSAPI_MIT_CONFIGURE_ON= --with-mit-krb5=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
|
||||
|
||||
# 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
|
||||
GSSAPI_DESC= Install Kerberos authentication helpers
|
||||
GSSAPI_NONE_DESC= Build without Kerberos support
|
||||
GSSAPI_BASE_DESC= Build with Kerberos support from base
|
||||
GSSAPI_HEIMDAL_DESC= Build with Kerberos support from security/heimdal
|
||||
GSSAPI_MIT_DESC= Build with Kerberos support from security/krb5
|
||||
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-build-info \
|
||||
--enable-loadable-modules \
|
||||
--enable-removal-policies="lru heap" \
|
||||
--disable-epoll \
|
||||
--disable-linux-netfilter \
|
||||
--disable-linux-tproxy \
|
||||
--disable-translation \
|
||||
--disable-arch-native
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# Authentication methods and modules:
|
||||
|
||||
basic_auth= DB SMB_LM NCSA PAM POP3 RADIUS fake getpwnam
|
||||
digest_auth= file
|
||||
external_acl= file_userip time_quota unix_group
|
||||
ntlm_auth= fake SMB_LM
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_LDAP}
|
||||
basic_auth+= LDAP
|
||||
external_acl+= LDAP_group
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_SASL}
|
||||
basic_auth+= SASL
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_SMB}
|
||||
basic_auth+= SMB
|
||||
external_acl+= wbinfo_group
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MAUTH_SQL}
|
||||
external_acl+= SQL_session
|
||||
.endif
|
||||
|
||||
# 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
|
||||
PLIST_SUB+= AUTH_KERB=""
|
||||
.endif
|
||||
|
||||
# Make it build on FreeBSD < 10
|
||||
.if ${PORT_OPTIONS:MGSSAPI_BASE}
|
||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-build-8-9
|
||||
.endif
|
||||
|
||||
CONFIGURE_ARGS+= --enable-auth-basic="${basic_auth}" \
|
||||
--enable-auth-digest="${digest_auth}" \
|
||||
--enable-external-acl-helpers="${external_acl}" \
|
||||
--enable-auth-negotiate="${negotiate_auth}" \
|
||||
--enable-auth-ntlm="${ntlm_auth}"
|
||||
|
||||
# Storage schemes:
|
||||
storage_schemes= ufs
|
||||
diskio_modules= AIO Blocking IpcIo Mmapped
|
||||
|
||||
.if ${PORT_OPTIONS:MFS_AUFS}
|
||||
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
|
||||
LDFLAGS+= -pthread
|
||||
.else
|
||||
CONFIGURE_ARGS+= --without-pthreads
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MFS_DISKD}
|
||||
storage_schemes+= diskd
|
||||
diskio_modules+= DiskDaemon
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MFS_ROCK}
|
||||
storage_schemes+= rock
|
||||
.endif
|
||||
|
||||
CONFIGURE_ARGS+= --enable-storeio="${storage_schemes}" \
|
||||
--enable-disk-io="${diskio_modules}"
|
||||
|
||||
# Log daemon helpers:
|
||||
logdaemon_helpers= file
|
||||
CONFIGURE_ARGS+= --enable-log-daemon-helpers="${logdaemon_helpers}"
|
||||
|
||||
# URL rewrite helpers:
|
||||
url_rewrite_helpers= fake
|
||||
CONFIGURE_ARGS+= --enable-url-rewrite-helpers="${url_rewrite_helpers}"
|
||||
|
||||
# Storeid rewrite helpers:
|
||||
storeid_rewrite_helpers= file
|
||||
CONFIGURE_ARGS+= --enable-storeid-rewrite-helpers="${storeid_rewrite_helpers}"
|
||||
|
||||
# Security certificate validator helpers:
|
||||
security_cert_validators= fake
|
||||
CONFIGURE_ARGS+= --enable-security-cert-validators="${security_cert_validators}"
|
||||
|
||||
# Other options set via 'make config':
|
||||
|
||||
.if ${PORT_OPTIONS:MSSL}
|
||||
# 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.
|
||||
# This makes it currently impossible to combine this macro with OPTIONS to
|
||||
# conditionally include OpenSSL support.
|
||||
# XXX: is this still true with OptionsNG as of 2015-03?
|
||||
#.include "${.CURDIR}/../../Mk/bsd.openssl.mk"
|
||||
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
|
||||
CONFIGURE_ARGS+= --with-openssl="${OPENSSLBASE}"
|
||||
CFLAGS+= -I${OPENSSLINC}
|
||||
LDFLAGS+= -L${OPENSSLLIB}
|
||||
|
||||
# Security certificate generator helpers:
|
||||
security_cert_generators= file
|
||||
CONFIGURE_ARGS+= --enable-security-cert-generators="${security_cert_generators}"
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSSL_CRTD} && !${PORT_OPTIONS:MSSL}
|
||||
IGNORE=SSL_CRTD option can be used only if SSL option is enabled
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MSTACKTRACES}
|
||||
CFLAGS+= -g
|
||||
LDFLAGS+= -lunwind -L${LOCALBASE}/lib
|
||||
STRIP=
|
||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-gen-stacktrace
|
||||
.endif
|
||||
|
||||
.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}
|
||||
@${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 <bsd.port.pre.mk>
|
||||
|
||||
.if ${COMPILER_TYPE} == clang
|
||||
#CXXFLAGS+= -Wno-unused-private-field
|
||||
.if ${COMPILER_VERSION} >= 35
|
||||
CXXFLAGS+= -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -Wno-dynamic-class-memaccess
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
2
www/squid-devel/distinfo
Normal file
2
www/squid-devel/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (squid4.0/squid-4.0.9.tar.xz) = cfc42dcd3a50096f25a4514ef8ad16290098e6d150cd56d171bb481f115b95d9
|
||||
SIZE (squid4.0/squid-4.0.9.tar.xz) = 2382228
|
11
www/squid-devel/files/extra-patch-build-8-9
Normal file
11
www/squid-devel/files/extra-patch-build-8-9
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/auth/negotiate/kerberos/negotiate_kerberos.h.orig 2015-08-01 06:08:17 UTC
|
||||
+++ src/auth/negotiate/kerberos/negotiate_kerberos.h
|
||||
@@ -140,7 +140,7 @@ int check_gss_err(OM_uint32 major_status
|
||||
|
||||
char *gethost_name(void);
|
||||
|
||||
-#if (HAVE_GSSKRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT || HAVE_GSS_MAP_NAME_TO_ANY) && HAVE_KRB5_PAC
|
||||
+#if (HAVE_GSSKRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT || HAVE_GSS_MAP_NAME_TO_ANY) && HAVE_KRB5_PAC && __FreeBSD__ >= 10
|
||||
#define HAVE_PAC_SUPPORT 1
|
||||
#define MAX_PAC_GROUP_SIZE 200*60
|
||||
typedef struct {
|
62
www/squid-devel/files/extra-patch-gen-stacktrace
Normal file
62
www/squid-devel/files/extra-patch-gen-stacktrace
Normal file
@ -0,0 +1,62 @@
|
||||
--- src/tools.cc.orig 2014-10-31 12:36:43.000000000 +0300
|
||||
+++ src/tools.cc 2014-11-21 14:11:25.000000000 +0300
|
||||
@@ -71,6 +71,13 @@
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
+#if PRINT_STACK_TRACE
|
||||
+#ifdef __FreeBSD__
|
||||
+#define UNW_LOCAL_ONLY
|
||||
+#include <libunwind.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#define DEAD_MSG "\
|
||||
The Squid Cache (version %s) died.\n\
|
||||
\n\
|
||||
@@ -411,6 +418,45 @@
|
||||
}
|
||||
|
||||
#endif
|
||||
+#ifdef __FreeBSD__
|
||||
+ do {
|
||||
+ unw_context_t unw_ctx;
|
||||
+ unw_cursor_t unw_cp;
|
||||
+ unw_word_t sp, ip, off;
|
||||
+ int rc = 0;
|
||||
+ char procname[256];
|
||||
+ size_t frame;
|
||||
+
|
||||
+ bzero((void *)&unw_ctx, sizeof(unw_ctx));
|
||||
+ bzero((void *)&unw_cp, sizeof(unw_cp));
|
||||
+
|
||||
+ if ((rc = unw_getcontext(&unw_ctx))) {
|
||||
+ fprintf(debug_log, "Failed to trace own stack: "
|
||||
+ "unw_context() said '%s'.\n", unw_strerror(rc));
|
||||
+ break;
|
||||
+ }
|
||||
+ if ((rc = unw_init_local(&unw_cp, &unw_ctx))) {
|
||||
+ fprintf(debug_log, "Failed to trace own stack: "
|
||||
+ "unw_init_local() said '%s'.\n", unw_strerror(rc));
|
||||
+ break;
|
||||
+ }
|
||||
+ frame = 0;
|
||||
+ fprintf(debug_log, "Backtrace follows (deepest frame first):\n");
|
||||
+ while ((rc = unw_step(&unw_cp)) > 0) {
|
||||
+ frame++;
|
||||
+ ip = 0; sp = 0;
|
||||
+ unw_get_reg(&unw_cp, UNW_REG_IP, &ip);
|
||||
+ unw_get_reg(&unw_cp, UNW_REG_SP, &sp);
|
||||
+ off = 0;
|
||||
+ rc = unw_get_proc_name(&unw_cp, procname, sizeof(procname), &off);
|
||||
+ if (rc)
|
||||
+ snprintf (procname, sizeof(procname), "[unknown]");
|
||||
+ fprintf(debug_log, "#%zd: %s + 0x%zx, ip = 0x%zx, sp = 0x%zx\n",
|
||||
+ frame, procname, (size_t)off, (size_t)ip, (size_t)sp);
|
||||
+ }
|
||||
+ fprintf(debug_log, "Use addr2line of similar to translate offsets to line information.\n");
|
||||
+ } while (0);
|
||||
+#endif /* __FreeBSD__ */
|
||||
#endif /* PRINT_STACK_TRACE */
|
||||
|
||||
#if SA_RESETHAND == 0 && !_SQUID_WINDOWS_
|
20
www/squid-devel/files/patch-compat_compat.h
Normal file
20
www/squid-devel/files/patch-compat_compat.h
Normal file
@ -0,0 +1,20 @@
|
||||
--- compat/compat.h.orig 2015-11-01 10:44:25 UTC
|
||||
+++ compat/compat.h
|
||||
@@ -42,17 +42,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-/* 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. */
|
11
www/squid-devel/files/patch-compat_shm.cc
Normal file
11
www/squid-devel/files/patch-compat_shm.cc
Normal file
@ -0,0 +1,11 @@
|
||||
--- compat/shm.cc.orig 2015-11-01 10:44:25 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
|
82
www/squid-devel/files/patch-configure
Normal file
82
www/squid-devel/files/patch-configure
Normal file
@ -0,0 +1,82 @@
|
||||
--- configure.orig 2015-11-01 10:46:19 UTC
|
||||
+++ configure
|
||||
@@ -32038,7 +32040,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"
|
||||
#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
|
||||
|
||||
# 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 \
|
||||
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"
|
||||
#include <netinet/ip.h>
|
||||
#endif
|
||||
#if HAVE_NETINET_IP_COMPAT_H
|
||||
+#include <net/if.h> /* IFNAMSIZ */
|
||||
#include <netinet/ip_compat.h>
|
||||
#endif
|
||||
#if HAVE_NETINET_IP_FIL_H
|
||||
@@ -38773,6 +38778,7 @@ if test "x$enable_ipf_transparent" != "x
|
||||
# include <sys/ioccom.h>
|
||||
# include <netinet/in.h>
|
||||
|
||||
+# include <net/if.h> /* IFNAMSIZ */
|
||||
# include <netinet/ip_compat.h>
|
||||
# include <netinet/ip_fil.h>
|
||||
# include <netinet/ip_nat.h>
|
||||
@@ -38803,6 +38809,7 @@ else
|
||||
# include <sys/ioccom.h>
|
||||
# include <netinet/in.h>
|
||||
#undef minor_t
|
||||
+# include <net/if.h> /* IFNAMSIZ */
|
||||
# include <netinet/ip_compat.h>
|
||||
# include <netinet/ip_fil.h>
|
||||
# include <netinet/ip_nat.h>
|
||||
@@ -38847,6 +38854,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"
|
||||
#if HAVE_IP_COMPAT_H
|
||||
#include <ip_compat.h>
|
||||
#elif HAVE_NETINET_IP_COMPAT_H
|
||||
+#include <net/if.h> /* IFNAMSIZ */
|
||||
#include <netinet/ip_compat.h>
|
||||
#endif
|
||||
#if HAVE_IP_FIL_H
|
13
www/squid-devel/files/patch-src-cf.data.pre
Normal file
13
www/squid-devel/files/patch-src-cf.data.pre
Normal file
@ -0,0 +1,13 @@
|
||||
--- src/cf.data.pre.orig 2015-11-01 10:44:25 UTC
|
||||
+++ src/cf.data.pre
|
||||
@@ -4558,6 +4558,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
|
@ -0,0 +1,11 @@
|
||||
--- src/DiskIO/Mmapped/MmappedFile.cc.orig 2015-11-01 10:44:25 UTC
|
||||
+++ src/DiskIO/Mmapped/MmappedFile.cc
|
||||
@@ -235,7 +235,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;
|
53
www/squid-devel/files/patch-src__ip__Intercept.cc
Normal file
53
www/squid-devel/files/patch-src__ip__Intercept.cc
Normal file
@ -0,0 +1,53 @@
|
||||
--- src/ip/Intercept.cc.orig 2015-11-01 10:44:25 UTC
|
||||
+++ src/ip/Intercept.cc
|
||||
@@ -202,10 +202,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;
|
@ -0,0 +1,11 @@
|
||||
--- src/adaptation/ecap/ServiceRep.cc.orig 2016-04-20 13:19:59 UTC
|
||||
+++ src/adaptation/ecap/ServiceRep.cc
|
||||
@@ -236,7 +236,7 @@ bool Adaptation::Ecap::ServiceRep::probe
|
||||
|
||||
bool Adaptation::Ecap::ServiceRep::up() const
|
||||
{
|
||||
- return theService;
|
||||
+ return theService != NULL;
|
||||
}
|
||||
|
||||
bool Adaptation::Ecap::ServiceRep::wantsUrl(const SBuf &urlPath) const
|
11
www/squid-devel/files/patch-src_ipc_mem_Segment.cc
Normal file
11
www/squid-devel/files/patch-src_ipc_mem_Segment.cc
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/ipc/mem/Segment.cc.orig 2015-11-01 10:44:25 UTC
|
||||
+++ src/ipc/mem/Segment.cc
|
||||
@@ -150,7 +150,7 @@ Ipc::Mem::Segment::attach()
|
||||
assert(theSize == static_cast<off_t>(static_cast<size_t>(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",
|
11
www/squid-devel/files/patch-src_tools.cc
Normal file
11
www/squid-devel/files/patch-src_tools.cc
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/tools.cc.orig 2015-11-01 10:44:25 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));
|
||||
}
|
70
www/squid-devel/files/pkg-install.in
Normal file
70
www/squid-devel/files/pkg-install.in
Normal file
@ -0,0 +1,70 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PATH=/bin:/usr/bin:/usr/sbin
|
||||
pkgname=$1
|
||||
squid_homedir="/var/squid"
|
||||
squid_cache_basedir="${squid_homedir}/cache"
|
||||
squid_confdir="${PKG_PREFIX:-%%PREFIX%%}/etc/squid"
|
||||
squid_logdir="/var/log/squid"
|
||||
# these are hardcoded, see /usr/ports/UIDs and /usr/ports/GIDs:
|
||||
squid_user=squid
|
||||
squid_group=squid
|
||||
squid_gid=100
|
||||
squid_uid=100
|
||||
case $2 in
|
||||
PRE-INSTALL)
|
||||
echo "===> Pre-installation configuration for ${pkgname}"
|
||||
;;
|
||||
POST-INSTALL)
|
||||
# Since we usually start the Squid master process as ${squid_user}
|
||||
# instead of root make sure that ${squid_homedir} is writable for it.
|
||||
if [ ! -d ${squid_homedir} ]; then
|
||||
echo "Creating ${squid_homedir}..."
|
||||
install -d -o root -g ${squid_group} \
|
||||
-m 0775 ${squid_homedir}
|
||||
else
|
||||
chgrp ${squid_group} ${squid_homedir}
|
||||
chmod g+w ${squid_homedir}
|
||||
fi
|
||||
if [ ! -d ${squid_cache_basedir} ]; then
|
||||
echo "Creating ${squid_cache_basedir} ..."
|
||||
install -d -o ${squid_user} -g ${squid_group} \
|
||||
-m 0750 ${squid_cache_basedir}
|
||||
else
|
||||
chown ${squid_user} ${squid_cache_basedir}
|
||||
chgrp ${squid_group} ${squid_cache_basedir}
|
||||
chmod 0750 ${squid_cache_basedir}
|
||||
fi
|
||||
if [ ! -d ${squid_confdir} ]; then
|
||||
echo "Creating ${squid_confdir}..."
|
||||
install -d -o root -g ${squid_group} \
|
||||
-m 0755 ${squid_confdir}
|
||||
else
|
||||
chgrp ${squid_group} ${squid_confdir}
|
||||
fi
|
||||
if [ ! -d ${squid_logdir} ]; then
|
||||
echo "Creating ${squid_logdir}..."
|
||||
install -d -o ${squid_user} -g ${squid_group} \
|
||||
-m 0750 ${squid_logdir}
|
||||
else
|
||||
chown ${squid_user} ${squid_logdir}
|
||||
chgrp ${squid_group} ${squid_logdir}
|
||||
fi
|
||||
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..."
|
||||
install -c -o root -g ${squid_group} -m 0640 \
|
||||
${squid_confdir}/${file}.default \
|
||||
${squid_confdir}/${file}
|
||||
fi
|
||||
done
|
||||
;;
|
||||
*)
|
||||
exit 64
|
||||
;;
|
||||
esac
|
||||
exit 0
|
48
www/squid-devel/files/pkg-message.in
Normal file
48
www/squid-devel/files/pkg-message.in
Normal file
@ -0,0 +1,48 @@
|
||||
o You can find the configuration files for this package in the
|
||||
directory %%PREFIX%%/etc/squid.
|
||||
|
||||
o The default cache directory is /var/squid/cache/.
|
||||
The default log directory is /var/log/squid/.
|
||||
|
||||
Note:
|
||||
You must initialize new cache directories before you can start
|
||||
squid. Do this by running "squid -z" as 'root' or 'squid'.
|
||||
If your cache directories are already initialized (e.g. after an
|
||||
upgrade of squid) you do not need to initialize them again.
|
||||
|
||||
o When using DiskD storage scheme remember to read documentation:
|
||||
http://wiki.squid-cache.org/Features/DiskDaemon
|
||||
and alter your kern.ipc defaults in /boot/loader.conf. DiskD will not
|
||||
work reliably without this. Last recomendations were:
|
||||
|
||||
kern.ipc.msgmnb=8192
|
||||
kern.ipc.msgssz=64
|
||||
kern.ipc.msgtql=2048
|
||||
|
||||
o The default configuration will deny everyone but the local host and
|
||||
local networks as defined in RFC 1918 for IPv4 and RFCs 4193 and
|
||||
4291 for IPv6 access to the proxy service. Edit the "http_access
|
||||
allow/deny" directives in %%PREFIX%%/etc/squid/squid.conf
|
||||
to suit your needs.
|
||||
|
||||
o If AUTH_SQL option is set, please, don't forget to install one of
|
||||
following perl modules depending on database you like:
|
||||
databases/p5-DBD-mysql
|
||||
databases/p5-DBD-Pg
|
||||
databases/p5-DBD-SQLite
|
||||
|
||||
To enable Squid, set squid_enable=yes in either
|
||||
/etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/squid
|
||||
Please see %%PREFIX%%/etc/rc.d/squid for further details.
|
||||
|
||||
Note:
|
||||
If you just updated your Squid installation from an earlier version,
|
||||
make sure to check your Squid configuration against the 3.4 default
|
||||
configuration file %%PREFIX%%/etc/squid/squid.conf.sample.
|
||||
|
||||
%%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.
|
||||
|
149
www/squid-devel/files/squid.in
Normal file
149
www/squid-devel/files/squid.in
Normal file
@ -0,0 +1,149 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: squid
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Note:
|
||||
# Set "squid_enable=yes" in either /etc/rc.conf, /etc/rc.conf.local or
|
||||
# /etc/rc.conf.d/squid to activate Squid.
|
||||
#
|
||||
# Additional variables you can define in one of these files:
|
||||
#
|
||||
# squid_chdir: the directory into which the rc system moves into before
|
||||
# starting Squid. Default: /var/squid
|
||||
#
|
||||
# squid_conf: The configuration file that Squid should use.
|
||||
# Default: %%PREFIX%%/etc/squid/squid.conf
|
||||
#
|
||||
# squid_fib: The alternative routing table id that Squid should use.
|
||||
# Default: none
|
||||
# See setfib(1) for further details. Note that the setfib(2)
|
||||
# system call is not available in FreeBSD versions prior to 7.1.
|
||||
#
|
||||
# squid_user: The user id that should be used to run the Squid master
|
||||
# process. Default: squid.
|
||||
# Note that you probably need to define "squid_user=root" if
|
||||
# you want to run Squid in reverse proxy setups or if you want
|
||||
# Squid to listen on a "privileged" port < 1024.
|
||||
#
|
||||
# squid_pidfile:
|
||||
# The name (including the full path) of the Squid
|
||||
# master process' PID file.
|
||||
# Default: /var/run/squid/squid.pid.
|
||||
# You only need to change this if you changed the
|
||||
# corresponding entry in your Squid configuration.
|
||||
#
|
||||
# squid_flags: Additional commandline arguments for Squid you might want to
|
||||
# use. See squid(8) for further details.
|
||||
#
|
||||
# squid_krb5_ktname:
|
||||
# Alternative Kerberos 5 Key Table.
|
||||
# Default: none
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name=squid
|
||||
rcvar=squid_enable
|
||||
|
||||
# Make sure that we invoke squid with "-f ${squid_conf}"; define this
|
||||
# variable early so reload_cmd and stop_precmd pick it up:
|
||||
|
||||
extra_commands="reload configtest"
|
||||
reload_cmd=squid_reload
|
||||
start_precmd=squid_prestart
|
||||
start_postcmd=squid_getpid
|
||||
stop_precmd=squid_prestop
|
||||
configtest_cmd=squid_configtest
|
||||
reload_precmd=squid_configtest
|
||||
restart_precmd=squid_configtest
|
||||
|
||||
# squid(8) will not start if ${squid_conf} is not present so try
|
||||
# to catch that beforehand via ${required_files} rather than make
|
||||
# squid(8) crash.
|
||||
|
||||
squid_load_rc_config()
|
||||
{
|
||||
: ${squid_chdir:=/var/squid}
|
||||
: ${squid_conf:=%%PREFIX%%/etc/squid/squid.conf}
|
||||
: ${squid_enable:=NO}
|
||||
: ${squid_program:=%%PREFIX%%/sbin/squid}
|
||||
: ${squid_pidfile:=/var/run/squid/squid.pid}
|
||||
: ${squid_user:=squid}
|
||||
|
||||
required_args="-f ${squid_conf}"
|
||||
required_dirs=$chdir
|
||||
required_files=$squid_conf
|
||||
command_args="${required_args} ${squid_flags}"
|
||||
# We used to need it in squid3 to match pid and proc name
|
||||
# procname="?squid-*"
|
||||
pidfile=$squid_pidfile
|
||||
}
|
||||
|
||||
squid_prestart()
|
||||
{
|
||||
# setup KRB5_KTNAME:
|
||||
squid_krb5_ktname=${squid_krb5_ktname:-"NONE"}
|
||||
if [ "${squid_krb5_ktname}" != "NONE" ]; then
|
||||
export KRB5_KTNAME=${squid_krb5_ktname}
|
||||
fi
|
||||
|
||||
# setup FIB tables:
|
||||
if command -v check_namevarlist > /dev/null 2>&1; then
|
||||
check_namevarlist fib && return 0
|
||||
fi
|
||||
|
||||
${SYSCTL} net.fibs >/dev/null 2>&1 || return 0
|
||||
|
||||
squid_fib=${squid_fib:-"NONE"}
|
||||
if [ "${squid_fib}" != "NONE" ]; then
|
||||
command="setfib -F $squid_fib $command"
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
squid_configtest
|
||||
}
|
||||
|
||||
squid_reload()
|
||||
{
|
||||
$command $required_args $squid_flags -k reconfigure
|
||||
}
|
||||
|
||||
squid_configtest()
|
||||
{
|
||||
echo "Performing sanity check on ${name} configuration."
|
||||
if $command $required_args $squid_flags -k check; then
|
||||
echo "Configuration for ${name} passes."
|
||||
return 0
|
||||
else
|
||||
return $?
|
||||
fi
|
||||
}
|
||||
|
||||
squid_getpid()
|
||||
{
|
||||
# retrieve the PID of the Squid master process explicitly here
|
||||
# in case rc.subr was unable to determine it:
|
||||
if [ -z "$rc_pid" ]; then
|
||||
while ! [ -f ${pidfile} ]; do
|
||||
sleep 1
|
||||
done
|
||||
read _pid _junk <${pidfile}
|
||||
[ -z "${_pid}" ] || pid=${_pid}
|
||||
else
|
||||
pid=${rc_pid}
|
||||
fi
|
||||
}
|
||||
|
||||
squid_prestop()
|
||||
{
|
||||
command_args="$command_args -k shutdown"
|
||||
squid_configtest
|
||||
}
|
||||
|
||||
load_rc_config $name
|
||||
squid_load_rc_config
|
||||
run_rc_command $1
|
5
www/squid-devel/pkg-descr
Normal file
5
www/squid-devel/pkg-descr
Normal file
@ -0,0 +1,5 @@
|
||||
Squid is a fully-featured HTTP/1.0 proxy which is almost (but not quite)
|
||||
HTTP/1.1 compliant. Squid offers a rich access control, authorization and
|
||||
logging environment to develop web proxy and content serving applications.
|
||||
|
||||
WWW: http://www.squid-cache.org/
|
2229
www/squid-devel/pkg-plist
Normal file
2229
www/squid-devel/pkg-plist
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user