From fe6dc99352fe2b801d251e55b2b8baa71441908e Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 May 2011 22:35:21 +0000 Subject: Sat May 7 22:35:21 UTC 2011 --- extra/squid/PKGBUILD | 68 ++++---- extra/squid/squid-3.1.11-unused.patch | 296 ++++++++++++++++++++++++++++++++++ extra/squid/squid.conf.d | 2 +- extra/squid/squid.install | 4 +- 4 files changed, 334 insertions(+), 36 deletions(-) create mode 100644 extra/squid/squid-3.1.11-unused.patch (limited to 'extra/squid') 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 # Contributor: Tom Newsom 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(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(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(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(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(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 } -- cgit v1.2.3-54-g00ecf