summaryrefslogtreecommitdiff
path: root/extra/squid
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-05-07 22:35:21 +0000
committerroot <root@rshg047.dnsready.net>2011-05-07 22:35:21 +0000
commitfe6dc99352fe2b801d251e55b2b8baa71441908e (patch)
treeb57122dcf7e7901a912aaf1783a7c8b9a4bd1085 /extra/squid
parentb0145a13655cdf02f228f07b376e58a825e28b78 (diff)
Sat May 7 22:35:21 UTC 2011
Diffstat (limited to 'extra/squid')
-rw-r--r--extra/squid/PKGBUILD68
-rw-r--r--extra/squid/squid-3.1.11-unused.patch296
-rw-r--r--extra/squid/squid.conf.d2
-rw-r--r--extra/squid/squid.install4
4 files changed, 334 insertions, 36 deletions
diff --git a/extra/squid/PKGBUILD b/extra/squid/PKGBUILD
index ab4cca63d..e3611bc0f 100644
--- a/extra/squid/PKGBUILD
+++ b/extra/squid/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 79502 2010-05-04 00:58:56Z kevin $
+# $Id: PKGBUILD 122870 2011-05-07 00:40:13Z kevin $
# Maintainer: Kevin Piche <kevin@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=squid
-pkgver=2.7.STABLE9
+pkgver=3.1.12
pkgrel=1
pkgdesc="A full-featured Web proxy cache server."
arch=(i686 x86_64)
@@ -12,51 +12,55 @@ depends=('openssl' 'pam' 'cron' 'perl')
makedepends=('libcap>=2.16')
license=('GPL')
backup=(etc/squid/squid.conf etc/squid/mime.conf etc/conf.d/squid)
-install=${pkgname}.install
-source=(http://www.squid-cache.org/Versions/v2/2.7/${pkgname}-${pkgver}.tar.bz2
- squid-makefiles.patch squid squid.conf.d squid.pam
- squid.cron fix-for-new-cap-headers.patch)
-md5sums=('3c6642c85470b1079207d43bba25a819'
- '082e53bb6e2c79bc44ac95c3d69145da'
- 'd213b0cc1db72b749bb8c88716fdab39'
- '81f9a446d143f42c6a3f30304e91c39f'
- '270977cdd9b47ef44c0c427ab9034777'
- '5e17df989e2a74e869790c066f61225b'
- '9b7586646c8a81730029798895a0eaca')
+install=squid.install
+source=(http://www.squid-cache.org/Versions/v3/3.1/${pkgname}-${pkgver}.tar.bz2
+ squid squid.conf.d squid.pam squid.cron squid-3.1.11-unused.patch)
+md5sums=('3b4979e4b44f46d4e13f50326c537d89' 'd213b0cc1db72b749bb8c88716fdab39'
+ '2383772ef94efddc7b920628bc7ac5b0' '270977cdd9b47ef44c0c427ab9034777'
+ '5e17df989e2a74e869790c066f61225b' '8e59089e4a8556fc18df51979f1cfbff')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i ${srcdir}/squid-makefiles.patch || return 1
+
+ # gcc 4.6 doesn't support -fhuge-objects.
+ sed '/^ HUGE_OBJECT_FLAG=/ s/"-fhuge-objects"//' -i configure
+ # fix compile errors with gcc 4.6
+ # http://bugs.squid-cache.org/show_bug.cgi?id=3178
+ patch -Np1 -i ${srcdir}/squid-3.1.11-unused.patch
+
+ # fix cache_dir, cache_dir size, and effective group.
+ sed '/^DEFAULT_SWAP_DIR/ s@/cache@/cache/squid@' -i src/Makefile.in
+ sed '/^#cache_dir/ s/100/256/
+ /^NAME: cache_effective_group/ {n;n;s/none/proxy/}' -i src/cf.data.pre
./configure --prefix=/usr --datadir=/usr/share/squid \
--sysconfdir=/etc/squid --libexecdir=/usr/lib/squid \
- --localstatedir=/var --enable-auth="basic,digest,ntlm" \
- --enable-removal-policies="lru,heap" \
- --enable-digest-auth-helpers="password" \
- --enable-storeio="aufs,ufs,diskd,coss,null" \
+ --localstatedir=/var --with-logdir=/var/log/squid \
+ --enable-auth="basic,digest,ntlm" --enable-removal-policies="lru,heap" \
+ --enable-digest-auth-helpers="password" --enable-storeio="aufs,ufs,diskd" \
--enable-basic-auth-helpers="getpwnam,YP,NCSA,SMB,MSNT,PAM,multi-domain-NTLM" \
--enable-external-acl-helpers="ip_user,unix_group,wbinfo_group" \
- --enable-ntlm-auth-helpers="SMB,fakeauth,no_check" \
+ --enable-ntlm-auth-helpers="smb_lm,fakeauth,no_check" \
--enable-delay-pools --enable-arp-acl --enable-ssl --enable-snmp \
--enable-linux-netfilter --enable-ident-lookups \
--enable-useragent-log --enable-cache-digests --enable-referer-log \
- --enable-async-io --enable-truncate --enable-arp-acl \
- --enable-htcp --enable-carp --enable-epoll --with-maxfd=4096
- --with-large-files
+ --enable-arp-acl --enable-htcp --enable-carp --enable-epoll \
+ --with-filedescriptors=4096 --with-large-files --enable-arp-acl \
+ --with-default-user=proxy \
+ --enable-async-io --enable-truncate
#some versions have build problems with both async and truncate enabled:
-# --enable-async-io --enable-arp-acl \
-
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- rm -rf ${pkgdir}/var
- mv ${pkgdir}/usr/bin/Run* ${pkgdir}/usr/lib/squid
- mkdir -p ${pkgdir}/var/cache/squid
- mkdir -p ${pkgdir}/var/log/squid
+# --enable-async-io
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
install -D -m755 ${srcdir}/squid ${pkgdir}/etc/rc.d/squid
install -D -m755 ${srcdir}/squid.cron ${pkgdir}/etc/cron.weekly/squid
install -D -m644 ${srcdir}/squid.conf.d ${pkgdir}/etc/conf.d/squid
install -D -m644 ${srcdir}/squid.pam ${pkgdir}/etc/pam.d/squid
- install -D -m644 ${pkgdir}/etc/squid/squid.conf \
- ${pkgdir}/etc/squid/squid.conf.default
}
# vim: ts=2 sw=2 et ft=sh
diff --git a/extra/squid/squid-3.1.11-unused.patch b/extra/squid/squid-3.1.11-unused.patch
new file mode 100644
index 000000000..698ce5fe5
--- /dev/null
+++ b/extra/squid/squid-3.1.11-unused.patch
@@ -0,0 +1,296 @@
+diff -up squid-3.1.11/helpers/external_acl/ldap_group/squid_ldap_group.c.unused squid-3.1.11/helpers/external_acl/ldap_group/squid_ldap_group.c
+--- squid-3.1.11/helpers/external_acl/ldap_group/squid_ldap_group.c.unused 2011-02-10 10:04:50.422205003 +0100
++++ squid-3.1.11/helpers/external_acl/ldap_group/squid_ldap_group.c 2011-02-10 10:05:48.020204424 +0100
+@@ -219,7 +219,6 @@ main(int argc, char **argv)
+ int use_extension_dn = 0;
+ int strip_nt_domain = 0;
+ int strip_kerberos_realm = 0;
+- int err = 0;
+
+ setbuf(stdout, NULL);
+
+@@ -602,7 +601,6 @@ error:
+ tryagain = 1;
+ }
+ }
+- err = 0;
+ }
+ if (ld)
+ ldap_unbind(ld);
+diff -up squid-3.1.11/helpers/ntlm_auth/fakeauth/fakeauth_auth.c.unused squid-3.1.11/helpers/ntlm_auth/fakeauth/fakeauth_auth.c
+--- squid-3.1.11/helpers/ntlm_auth/fakeauth/fakeauth_auth.c.unused 2011-02-10 09:57:56.170205002 +0100
++++ squid-3.1.11/helpers/ntlm_auth/fakeauth/fakeauth_auth.c 2011-02-10 09:58:39.039205002 +0100
+@@ -141,7 +141,6 @@ ntlmMakeChallenge(struct ntlm_challenge
+ {
+ static unsigned hash;
+ int r;
+- char *d;
+ int i;
+
+ debug("ntlmMakeChallenge: flg %08x\n", flags);
+@@ -158,7 +157,6 @@ ntlmMakeChallenge(struct ntlm_challenge
+ chal->flags = flags;
+ chal->unknown[6] = htole16(0x003a);
+
+- d = (char *) chal + 48;
+ i = 0;
+
+ if (authenticate_ntlm_domain != NULL)
+diff -up squid-3.1.11/src/auth/negotiate/auth_negotiate.cc.unused squid-3.1.11/src/auth/negotiate/auth_negotiate.cc
+--- squid-3.1.11/src/auth/negotiate/auth_negotiate.cc.unused 2011-02-10 07:57:04.293205769 +0100
++++ squid-3.1.11/src/auth/negotiate/auth_negotiate.cc 2011-02-10 07:58:22.643205463 +0100
+@@ -544,7 +544,6 @@ AuthNegotiateUserRequest::module_start(R
+ {
+ authenticateStateData *r = NULL;
+ static char buf[MAX_AUTHTOKEN_LEN];
+- negotiate_user_t *negotiate_user;
+ AuthUser *auth_user = user();
+
+ assert(data);
+@@ -552,8 +551,6 @@ AuthNegotiateUserRequest::module_start(R
+ assert(auth_user);
+ assert(auth_user->auth_type == AUTH_NEGOTIATE);
+
+- negotiate_user = dynamic_cast<negotiate_user_t *>(user());
+-
+ debugs(29, 8, "AuthNegotiateUserRequest::module_start: auth state is '" << auth_state << "'");
+
+ if (negotiateConfig.authenticate == NULL) {
+@@ -655,12 +652,10 @@ AuthNegotiateUserRequest::authenticate(H
+
+ /** \todo rename this!! */
+ AuthUser *local_auth_user;
+- negotiate_user_t *negotiate_user;
+
+ local_auth_user = user();
+ assert(local_auth_user);
+ assert(local_auth_user->auth_type == AUTH_NEGOTIATE);
+- negotiate_user = dynamic_cast<negotiate_user_t *>(local_auth_user);
+ assert (this);
+
+ /** Check that we are in the client side, where we can generate
+diff -up squid-3.1.11/src/auth/ntlm/auth_ntlm.cc.unused squid-3.1.11/src/auth/ntlm/auth_ntlm.cc
+--- squid-3.1.11/src/auth/ntlm/auth_ntlm.cc.unused 2011-02-10 08:07:21.181205066 +0100
++++ squid-3.1.11/src/auth/ntlm/auth_ntlm.cc 2011-02-10 08:08:52.188204812 +0100
+@@ -460,7 +460,6 @@ AuthNTLMUserRequest::module_start(RH * h
+ {
+ authenticateStateData *r = NULL;
+ static char buf[8192];
+- ntlm_user_t *ntlm_user;
+ AuthUser *auth_user = user();
+
+ assert(data);
+@@ -468,8 +467,6 @@ AuthNTLMUserRequest::module_start(RH * h
+ assert(auth_user);
+ assert(auth_user->auth_type == AUTH_NTLM);
+
+- ntlm_user = dynamic_cast<ntlm_user_t *>(user());
+-
+ debugs(29, 8, "AuthNTLMUserRequest::module_start: auth state is '" << auth_state << "'");
+
+ if (ntlmConfig.authenticate == NULL) {
+@@ -572,12 +569,10 @@ AuthNTLMUserRequest::authenticate(HttpRe
+
+ /* TODO: rename this!! */
+ AuthUser *local_auth_user;
+- ntlm_user_t *ntlm_user;
+
+ local_auth_user = user();
+ assert(local_auth_user);
+ assert(local_auth_user->auth_type == AUTH_NTLM);
+- ntlm_user = dynamic_cast<ntlm_user_t *>(local_auth_user);
+ assert (this);
+
+ /* Check that we are in the client side, where we can generate
+diff -up squid-3.1.11/src/auth/User.cc.unused squid-3.1.11/src/auth/User.cc
+--- squid-3.1.11/src/auth/User.cc.unused 2011-02-10 08:14:08.623207125 +0100
++++ squid-3.1.11/src/auth/User.cc 2011-02-10 08:14:52.305205340 +0100
+@@ -158,13 +158,11 @@ AuthUser::CachedACLsReset()
+ */
+ AuthUserHashPointer *usernamehash;
+ AuthUser *auth_user;
+- char const *username = NULL;
+ debugs(29, 3, "AuthUser::CachedACLsReset: Flushing the ACL caches for all users.");
+ hash_first(proxy_auth_username_cache);
+
+ while ((usernamehash = ((AuthUserHashPointer *) hash_next(proxy_auth_username_cache)))) {
+ auth_user = usernamehash->user();
+- username = auth_user->username();
+ /* free cached acl results */
+ aclCacheMatchFlush(&auth_user->proxy_match_cache);
+
+diff -up squid-3.1.11/src/client_side_reply.cc.unused squid-3.1.11/src/client_side_reply.cc
+--- squid-3.1.11/src/client_side_reply.cc.unused 2011-02-10 08:28:52.861205280 +0100
++++ squid-3.1.11/src/client_side_reply.cc 2011-02-10 08:37:22.530205334 +0100
+@@ -1056,14 +1056,6 @@ clientReplyContext::storeNotOKTransferDo
+ /* haven't found end of headers yet */
+ return 0;
+
+- int sending = SENDING_BODY;
+-
+- if (curReply->sline.status == HTTP_NO_CONTENT ||
+- curReply->sline.status == HTTP_NOT_MODIFIED ||
+- curReply->sline.status < HTTP_OK ||
+- http->request->method == METHOD_HEAD)
+- sending = SENDING_HDRSONLY;
+-
+ /*
+ * Figure out how much data we are supposed to send.
+ * If we are sending a body and we don't have a content-length,
+@@ -2028,13 +2020,10 @@ clientReplyContext::sendMoreData (StoreI
+
+ char *buf = next()->readBuffer.data;
+
+- char *body_buf = buf;
+-
+ if (buf != result.data) {
+ /* we've got to copy some data */
+ assert(result.length <= next()->readBuffer.length);
+ xmemcpy(buf, result.data, result.length);
+- body_buf = buf;
+ }
+
+ #if USE_ZPH_QOS
+diff -up squid-3.1.11/src/comm.cc.unused squid-3.1.11/src/comm.cc
+--- squid-3.1.11/src/comm.cc.unused 2011-02-10 08:20:37.942204904 +0100
++++ squid-3.1.11/src/comm.cc 2011-02-10 08:21:43.940205003 +0100
+@@ -706,7 +706,6 @@ comm_openex(int sock_type,
+ {
+ int new_socket;
+ fde *F = NULL;
+- int tos = 0;
+ struct addrinfo *AI = NULL;
+
+ PROF_start(comm_open);
+@@ -756,11 +755,6 @@ comm_openex(int sock_type,
+
+ debugs(50, 3, "comm_openex: Opened socket FD " << new_socket << " : family=" << AI->ai_family << ", type=" << AI->ai_socktype << ", protocol=" << AI->ai_protocol );
+
+- /* set TOS if needed */
+- if (TOS && comm_set_tos(new_socket, TOS) ) {
+- tos = TOS;
+- }
+-
+ if ( Ip::EnableIpv6&IPV6_SPECIAL_SPLITSTACK && addr.IsIPv6() )
+ comm_set_v6only(new_socket, 1);
+
+diff -up squid-3.1.11/src/DiskIO/AIO/AIODiskIOStrategy.cc.unused squid-3.1.11/src/DiskIO/AIO/AIODiskIOStrategy.cc
+--- squid-3.1.11/src/DiskIO/AIO/AIODiskIOStrategy.cc.unused 2011-02-10 09:42:07.029205002 +0100
++++ squid-3.1.11/src/DiskIO/AIO/AIODiskIOStrategy.cc 2011-02-10 09:42:37.171205594 +0100
+@@ -123,7 +123,6 @@ AIODiskIOStrategy::callback()
+ void *cbdata;
+ int callback_valid;
+ void *buf;
+- int filedescriptor;
+ async_queue_entry_t *aqe;
+ async_queue_entry_type_t type;
+
+@@ -148,7 +147,6 @@ AIODiskIOStrategy::callback()
+ /* Get the callback parameters */
+ freefunc = aqe->aq_e_free;
+ buf = aqe->aq_e_buf;
+- filedescriptor = aqe->aq_e_fd;
+ type = aqe->aq_e_type;
+ callback_valid = cbdataReferenceValidDone(aqe->aq_e_callback_data, &cbdata);
+ AIODiskFile * theFile = NULL;
+diff -up squid-3.1.11/src/dns_internal.cc.unused squid-3.1.11/src/dns_internal.cc
+--- squid-3.1.11/src/dns_internal.cc.unused 2011-02-10 09:15:50.096204636 +0100
++++ squid-3.1.11/src/dns_internal.cc 2011-02-10 09:16:39.951205440 +0100
+@@ -1360,8 +1360,6 @@ idnsInit(void)
+ CBDATA_INIT_TYPE(idns_query);
+
+ if (DnsSocketA < 0 && DnsSocketB < 0) {
+- int port;
+-
+ IpAddress addrA; // since we don't want to alter Config.Addrs.udp_* and dont have one of our own.
+
+ if (!Config.Addrs.udp_outgoing.IsNoAddr())
+@@ -1397,12 +1395,10 @@ idnsInit(void)
+ * statement. Doing so messes up the internal Debug::level
+ */
+ if (DnsSocketB >= 0) {
+- port = comm_local_port(DnsSocketB);
+ debugs(78, 1, "DNS Socket created at " << addrB << ", FD " << DnsSocketB);
+ commSetSelect(DnsSocketB, COMM_SELECT_READ, idnsRead, NULL, 0);
+ }
+ if (DnsSocketA >= 0) {
+- port = comm_local_port(DnsSocketA);
+ debugs(78, 1, "DNS Socket created at " << addrA << ", FD " << DnsSocketA);
+ commSetSelect(DnsSocketA, COMM_SELECT_READ, idnsRead, NULL, 0);
+ }
+diff -up squid-3.1.11/src/errorpage.cc.unused squid-3.1.11/src/errorpage.cc
+--- squid-3.1.11/src/errorpage.cc.unused 2011-02-10 08:42:44.965205002 +0100
++++ squid-3.1.11/src/errorpage.cc 2011-02-10 08:43:50.597205002 +0100
+@@ -515,7 +515,6 @@ int
+ ErrorState::Dump(MemBuf * mb)
+ {
+ MemBuf str;
+- const char *p = NULL; /* takes priority over mb if set */
+ char ntoabuf[MAX_IPSTRLEN];
+
+ str.reset();
+@@ -570,10 +569,6 @@ ErrorState::Dump(MemBuf * mb)
+ packerToMemInit(&pck, &str);
+ request->header.packInto(&pck);
+ packerClean(&pck);
+- } else if (request_hdrs) {
+- p = request_hdrs;
+- } else {
+- p = "[none]";
+ }
+
+ str.Printf("\r\n");
+diff -up squid-3.1.11/src/fqdncache.cc.unused squid-3.1.11/src/fqdncache.cc
+--- squid-3.1.11/src/fqdncache.cc.unused 2011-02-10 09:29:50.426205631 +0100
++++ squid-3.1.11/src/fqdncache.cc 2011-02-10 09:30:57.407204865 +0100
+@@ -497,10 +497,8 @@ fqdncacheHandleReply(void *data, char *r
+ fqdncacheHandleReply(void *data, rfc1035_rr * answers, int na, const char *error_message)
+ #endif
+ {
+- int n;
+ fqdncache_entry *f;
+ static_cast<generic_cbdata *>(data)->unwrap(&f);
+- n = ++FqdncacheStats.replies;
+ const int age = f->age();
+ statHistCount(&statCounter.dns.svc_time, age);
+ #if USE_DNSSERVERS
+diff -up squid-3.1.11/src/ftp.cc.unused squid-3.1.11/src/ftp.cc
+--- squid-3.1.11/src/ftp.cc.unused 2011-02-10 09:22:52.118205001 +0100
++++ squid-3.1.11/src/ftp.cc 2011-02-10 09:23:56.324205001 +0100
+@@ -2453,7 +2453,6 @@ ftpReadEPSV(FtpStateData* ftpState)
+ {
+ int code = ftpState->ctrl.replycode;
+ char h1, h2, h3, h4;
+- int n;
+ u_short port;
+ IpAddress ipa_remote;
+ int fd = ftpState->data.fd;
+@@ -2521,7 +2520,7 @@ ftpReadEPSV(FtpStateData* ftpState)
+
+ buf = ftpState->ctrl.last_reply + strcspn(ftpState->ctrl.last_reply, "(");
+
+- n = sscanf(buf, "(%c%c%c%hu%c)", &h1, &h2, &h3, &port, &h4);
++ sscanf(buf, "(%c%c%c%hu%c)", &h1, &h2, &h3, &port, &h4);
+
+ if (h1 != h2 || h1 != h3 || h1 != h4) {
+ debugs(9, DBG_IMPORTANT, "Invalid EPSV reply from " <<
+diff -up squid-3.1.11/src/neighbors.cc.unused squid-3.1.11/src/neighbors.cc
+--- squid-3.1.11/src/neighbors.cc.unused 2011-02-10 09:36:24.432205185 +0100
++++ squid-3.1.11/src/neighbors.cc 2011-02-10 09:36:51.359204616 +0100
+@@ -827,7 +827,6 @@ neighborsDigestSelect(HttpRequest * requ
+ peer *best_p = NULL;
+ #if USE_CACHE_DIGESTS
+
+- const cache_key *key;
+ int best_rtt = 0;
+ int choice_count = 0;
+ int ichoice_count = 0;
+@@ -838,8 +837,6 @@ neighborsDigestSelect(HttpRequest * requ
+ if (!request->flags.hierarchical)
+ return NULL;
+
+- key = storeKeyPublicByRequest(request);
+-
+ for (i = 0, p = first_ping; i++ < Config.npeers; p = p->next) {
+ lookup_t lookup;
+
diff --git a/extra/squid/squid.conf.d b/extra/squid/squid.conf.d
index b41916a1d..ea248b76c 100644
--- a/extra/squid/squid.conf.d
+++ b/extra/squid/squid.conf.d
@@ -1,4 +1,4 @@
#
# Parameters to be passed to squid
#
-SQUID_ARGS="-D -sYC"
+SQUID_ARGS="-sYC"
diff --git a/extra/squid/squid.install b/extra/squid/squid.install
index 85776358c..44c9130bf 100644
--- a/extra/squid/squid.install
+++ b/extra/squid/squid.install
@@ -9,9 +9,7 @@ post_install() {
chown proxy.proxy var/{cache,log}/squid
cat << EOF
-Release notes for version 2.7:
- http://www.squid-cache.org/Versions/v2/2.7/RELEASENOTES.html
-
+Release notes: http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html
EOF
}