summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/squid/APKBUILD10
-rw-r--r--main/squid/bug-3678.patch62
-rw-r--r--main/squid/bug-3679.patch15
-rw-r--r--main/squid/squid-3.2.0.16-loggable-urlgroup.patch111
4 files changed, 2 insertions, 196 deletions
diff --git a/main/squid/APKBUILD b/main/squid/APKBUILD
index 332dfc41c..b66a8410a 100644
--- a/main/squid/APKBUILD
+++ b/main/squid/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=squid
-pkgver=3.2.6
+pkgver=3.2.7
pkgrel=1
pkgdesc="A full-featured Web proxy cache server."
url="http://www.squid-cache.org"
@@ -19,10 +19,7 @@ linguas="af ar az bg ca cs da de el es et fa fi fr he hu hy id it ja ko lt
langdir="/usr/share/squid/errors"
source="http://www.squid-cache.org/Versions/v3/3.2/squid-$pkgver.tar.bz2
- squid-3.2.0.16-loggable-urlgroup.patch
cf_gen-pthread.patch
- bug-3678.patch
- bug-3679.patch
squid.initd
squid.confd
$pkgname.logrotate
@@ -106,11 +103,8 @@ squid_kerb_auth() {
mv "$pkgdir"/usr/lib/squid/squid_kerb_auth "$subpkgdir"/usr/lib/squid/
}
-md5sums="87915ad83aebafc7af6871c770b23339 squid-3.2.6.tar.bz2
-16e3b38996d4c5858e1478f8eb650876 squid-3.2.0.16-loggable-urlgroup.patch
+md5sums="3e4d21b24c39d5066791017919866a64 squid-3.2.7.tar.bz2
c60237de253c02937f272d3b189d7679 cf_gen-pthread.patch
-526a4f0c3c2012577e2d22db388fec12 bug-3678.patch
-9e71076799d334faba6f4954594e7b4a bug-3679.patch
905e57c6d41414f54a75a5c0f9f7fac7 squid.initd
2897c725c201be53d3c9a7db0101bdf0 squid.confd
58823e0b86bc2dc71d270208b7b284b4 squid.logrotate"
diff --git a/main/squid/bug-3678.patch b/main/squid/bug-3678.patch
deleted file mode 100644
index 4d6a88e8c..000000000
--- a/main/squid/bug-3678.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-http://bugs.squid-cache.org/show_bug.cgi?id=3678
-
-diff --git a/src/external_acl.cc b/src/external_acl.cc
-index d6c4338..1f1f2b4 100644
---- a/src/external_acl.cc
-+++ b/src/external_acl.cc
-@@ -830,8 +830,11 @@ aclMatchExternal(external_acl_data *acl, ACLFilledChecklist *ch)
- if (acl->def->theHelper->stats.queue_size <= (int)acl->def->theHelper->childs.n_active) {
- debugs(82, 2, "aclMatchExternal: \"" << key << "\": queueing a call.");
- ch->changeState(ExternalACLLookup::Instance());
-- debugs(82, 2, "aclMatchExternal: \"" << key << "\": return -1.");
-- return -1; // to get here we have to have an expired cache entry. MUST not use.
-+ if (!entry) {
-+ debugs(82, 2, "aclMatchExternal: \"" << key << "\": return -1.");
-+ return -1; // to get here we have to have an expired cache entry. MUST not use.
-+ }
-+ /* Grace period fall thru to return cached entry */
- } else {
- if (!entry) {
- debugs(82, 1, "aclMatchExternal: '" << acl->def->name <<
-@@ -1409,8 +1412,7 @@ ACLExternal::ExternalAclLookup(ACLChecklist *checklist, ACLExternal * me, EAH *
- if (entry && external_acl_grace_expired(def, entry)) {
- if (oldstate) {
- debugs(82, 4, "externalAclLookup: in grace period, but already pending lookup ('" << key << "', ch=" << ch << ")");
-- callback(callback_data, entry);
-- return;
-+ goto return_grace;
- } else {
- graceful = 1; // grace expired, (neg)ttl did not, and we must start a new lookup.
- }
-@@ -1419,10 +1421,9 @@ ACLExternal::ExternalAclLookup(ACLChecklist *checklist, ACLExternal * me, EAH *
- // The entry is in the cache, grace_ttl did not expired.
- if (!graceful && entry && !external_acl_grace_expired(def, entry)) {
- /* Should not really happen, but why not.. */
-- callback(callback_data, entry);
- debugs(82, 4, "externalAclLookup: no lookup pending for '" << key << "', and grace not expired");
- debugs(82, 4, "externalAclLookup: (what tha' hell?)");
-- return;
-+ goto return_grace;
- }
-
- /* No pending lookup found. Sumbit to helper */
-@@ -1447,8 +1448,7 @@ ACLExternal::ExternalAclLookup(ACLChecklist *checklist, ACLExternal * me, EAH *
- if (def->theHelper->stats.queue_size >= (int)def->theHelper->childs.n_running) {
- debugs(82, 1, "externalAclLookup: '" << def->name << "' queue overload (ch=" << ch << ")");
- cbdataFree(state);
-- callback(callback_data, entry);
-- return;
-+ goto return_grace;
- }
-
- /* Send it off to the helper */
-@@ -1469,8 +1469,8 @@ ACLExternal::ExternalAclLookup(ACLChecklist *checklist, ACLExternal * me, EAH *
- /* No need to wait during grace period */
- debugs(82, 4, "externalAclLookup: no need to wait for the result of '" <<
- key << "' in '" << def->name << "' (ch=" << ch << ").");
-+return_grace:
- debugs(82, 4, "externalAclLookup: using cached entry " << entry);
--
- if (entry != NULL) {
- debugs(82, 4, "externalAclLookup: entry = { date=" <<
- (long unsigned int) entry->date <<
diff --git a/main/squid/bug-3679.patch b/main/squid/bug-3679.patch
deleted file mode 100644
index b71809381..000000000
--- a/main/squid/bug-3679.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://bugs.squid-cache.org/show_bug.cgi?id=3679
-
-diff --git a/src/external_acl.cc b/src/external_acl.cc
-index b3821c5..d6c4338 100644
---- a/src/external_acl.cc
-+++ b/src/external_acl.cc
-@@ -1152,7 +1152,7 @@ external_acl_entry_expired(external_acl * def, external_acl_entry * entry)
- if (def->cache_size <= 0)
- return 1;
-
-- if (entry->date + (entry->result == 1 ? def->ttl : def->negative_ttl) < squid_curtime)
-+ if (entry->date + (entry->result == 1 ? def->ttl : def->negative_ttl) <= squid_curtime)
- return 1;
- else
- return 0;
diff --git a/main/squid/squid-3.2.0.16-loggable-urlgroup.patch b/main/squid/squid-3.2.0.16-loggable-urlgroup.patch
deleted file mode 100644
index 41193ba85..000000000
--- a/main/squid/squid-3.2.0.16-loggable-urlgroup.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc
-index b464e65..0448078 100644
---- a/src/HttpRequest.cc
-+++ b/src/HttpRequest.cc
-@@ -107,6 +107,7 @@ HttpRequest::init()
- peer_login = NULL; // not allocated/deallocated by this class
- peer_domain = NULL; // not allocated/deallocated by this class
- vary_headers = NULL;
-+ urlgroup = null_string;
- myportname = null_string;
- tag = null_string;
- #if USE_AUTH
-@@ -155,6 +156,7 @@ HttpRequest::clean()
- range = NULL;
- }
-
-+ urlgroup.clean();
- myportname.clean();
-
- tag.clean();
-@@ -214,6 +216,7 @@ HttpRequest::clone() const
- copy->vary_headers = vary_headers ? xstrdup(vary_headers) : NULL;
- // XXX: what to do with copy->peer_domain?
-
-+ copy->urlgroup = urlgroup;
- copy->myportname = myportname;
- copy->tag = tag;
- #if USE_AUTH
-diff --git a/src/HttpRequest.h b/src/HttpRequest.h
-index dc44fea..989624d 100644
---- a/src/HttpRequest.h
-+++ b/src/HttpRequest.h
-@@ -187,6 +187,8 @@ public:
-
- char *peer_domain; /* Configured peer forceddomain */
-
-+ String urlgroup;
-+
- String myportname; // Internal tag name= value from port this requests arrived in.
-
- String tag; /* Internal tag for this request */
-diff --git a/src/client_side_request.cc b/src/client_side_request.cc
-index 0c3113b..d1947e9 100644
---- a/src/client_side_request.cc
-+++ b/src/client_side_request.cc
-@@ -1180,6 +1180,15 @@ ClientRequestContext::clientRedirectDone(char *result)
- redirect_state = REDIRECT_DONE;
-
- if (result) {
-+ if (result[0] == '!') {
-+ char *t = strchr(result+1, '!');
-+ if (t != NULL) {
-+ old_request->urlgroup.reset(NULL);
-+ old_request->urlgroup.append(result + 1, t - result - 1);
-+ result = t + 1;
-+ }
-+ }
-+
- http_status status = (http_status) atoi(result);
-
- if (status == HTTP_MOVED_PERMANENTLY
-@@ -1198,7 +1207,7 @@ ClientRequestContext::clientRedirectDone(char *result)
- else
- debugs(85, DBG_CRITICAL, "ERROR: URL-rewrite produces invalid 303 redirect Location: " << result);
- }
-- } else if (strcmp(result, http->uri)) {
-+ } else if (result[0] != 0 && strcmp(result, http->uri)) {
- // XXX: validate the URL properly *without* generating a whole new request object right here.
- // XXX: the clone() should be done only AFTER we know the new URL is valid.
- HttpRequest *new_request = old_request->clone();
-diff --git a/src/format/ByteCode.h b/src/format/ByteCode.h
-index 8e345df..ddb0f8f 100644
---- a/src/format/ByteCode.h
-+++ b/src/format/ByteCode.h
-@@ -65,6 +65,7 @@ typedef enum {
- /*LFT_REQUEST_QUERY, */
- LFT_REQUEST_VERSION_OLD_2X,
- LFT_REQUEST_VERSION,
-+ LFT_REQUEST_URLGROUP,
-
- /* request header details pre-adaptation */
- LFT_REQUEST_HEADER,
-diff --git a/src/format/Format.cc b/src/format/Format.cc
-index 18348e8..2e65886 100644
---- a/src/format/Format.cc
-+++ b/src/format/Format.cc
-@@ -907,6 +907,12 @@ Format::Format::assemble(MemBuf &mb, AccessLogEntry *al, int logSequenceNumber)
- out = tmp;
- break;
-
-+ case LFT_REQUEST_URLGROUP:
-+ if (al->request)
-+ out = al->request->urlgroup.termedBuf();
-+ quote = 1;
-+ break;
-+
- case LFT_SERVER_REQ_METHOD:
- if (al->adapted_request) {
- out = al->adapted_request->method.image();
-diff --git a/src/format/Token.cc b/src/format/Token.cc
-index 6859e0a..8a8e5e7 100644
---- a/src/format/Token.cc
-+++ b/src/format/Token.cc
-@@ -116,6 +116,7 @@ static TokenTableEntry TokenTable2C[] = {
- {"rp", LFT_REQUEST_URLPATH_OLD_31},
- /* { "rq", LFT_REQUEST_QUERY }, * / / * the query-string, INCLUDING the leading ? */
- {"rv", LFT_REQUEST_VERSION},
-+ {"rG", LFT_REQUEST_URLGROUP},
-
- {"<rm", LFT_SERVER_REQ_METHOD},
- {"<ru", LFT_SERVER_REQ_URI},