Merge lp:~michael.nelson/ubuntu/trusty/squid3/1336742-cache-repsonses-with-vary-headers into lp:ubuntu/trusty/squid3

Proposed by Michael Nelson
Status: Rejected
Rejected by: Brian Murray
Proposed branch: lp:~michael.nelson/ubuntu/trusty/squid3/1336742-cache-repsonses-with-vary-headers
Merge into: lp:ubuntu/trusty/squid3
Diff against target: 88 lines (+68/-0)
3 files modified
debian/changelog (+7/-0)
debian/patches/91-caching-with-vary-3806.patch (+60/-0)
debian/patches/series (+1/-0)
To merge this branch: bzr merge lp:~michael.nelson/ubuntu/trusty/squid3/1336742-cache-repsonses-with-vary-headers
Reviewer Review Type Date Requested Status
Sebastien Bacher Needs Information
Review via email: mp+225488@code.launchpad.net

Description of the change

This patches the trusty version of squid3 with the upstream patch for "Caching responses with 'Vary' header":

http://bugs.squid-cache.org/show_bug.cgi?id=3806

I'm not proposing that this be included as an SRU in trusty necessarily, but need this in a private repo. If there's interest in an SRU, I'd be happy to update the patch as needed.

To post a comment you must log in.
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks but the issue should be fixed in vivid before being SRUed, could you work on that as well?

review: Needs Information
Revision history for this message
Michael Nelson (michael.nelson) wrote :

Thanks Seb. There's nothing to fix in vivid is there? (I mean, assuming someone will sync squid3 in vivid from debian). Or is that what you mean? (Debian is already on 3.4.8 which is well beyond the fix landing upstream in 3.3.12).

Revision history for this message
Oleg Strikov (strikov-deactivatedaccount) wrote :

This issue has been fixed in vivid.

Revision history for this message
Brian Murray (brian-murray) wrote :

Oleg is correct this is neither fixed in Vivid nor Wily.

Revision history for this message
Brian Murray (brian-murray) wrote :

Oh, I misread it has been fixed in Vivid and Wily.

Revision history for this message
Brian Murray (brian-murray) wrote :

Given that bug 1336742 has a patch and that patch references the bug number, something that is necessary for an SRU, I'm going to go ahead and use that instead of this merge proposal.

Unmerged revisions

56. By Michael Nelson

Apply patch for squid bug #3806 which doesn't land upstream until 3.3.12 (LP: #1336742)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2014-02-17 20:13:30 +0000
3+++ debian/changelog 2014-07-03 14:28:09 +0000
4@@ -1,3 +1,10 @@
5+squid3 (3.3.8-1ubuntu7) UNRELEASED; urgency=medium
6+
7+ * debian/patches/91-caching-with-vary-3806.patch: Apply patch for upstream
8+ bug 3806 which doesn't land upstream until 3.3.12 (LP: #1336742)
9+
10+ -- Michael Nelson <michael.nelson@canonical.com> Thu, 03 Jul 2014 13:01:35 +0000
11+
12 squid3 (3.3.8-1ubuntu6) trusty; urgency=medium
13
14 * debian/rules: Force -O2 to work around build failure with -O3.
15
16=== added file 'debian/patches/91-caching-with-vary-3806.patch'
17--- debian/patches/91-caching-with-vary-3806.patch 1970-01-01 00:00:00 +0000
18+++ debian/patches/91-caching-with-vary-3806.patch 2014-07-03 14:28:09 +0000
19@@ -0,0 +1,60 @@
20+## Description: add some description
21+## Origin/Author: add some origin or author
22+## Bug: bug URL
23+Index: 3806-caching-responses-with-vary/src/MemStore.cc
24+===================================================================
25+--- 3806-caching-responses-with-vary.orig/src/MemStore.cc 2014-07-03 12:35:37.000000000 +0000
26++++ 3806-caching-responses-with-vary/src/MemStore.cc 2014-07-03 12:50:37.573140199 +0000
27+@@ -310,6 +310,12 @@
28+ return;
29+ }
30+
31++ if (e.mem_obj->vary_headers) {
32++ // XXX: We must store/load SerialisedMetaData to cache Vary in RAM
33++ debugs(20, 5, "Vary not yet supported: " << e.mem_obj->vary_headers);
34++ return;
35++ }
36++
37+ keep(e); // may still fail
38+ }
39+
40+Index: 3806-caching-responses-with-vary/src/client_side_reply.cc
41+===================================================================
42+--- 3806-caching-responses-with-vary.orig/src/client_side_reply.cc 2014-07-03 12:35:37.000000000 +0000
43++++ 3806-caching-responses-with-vary/src/client_side_reply.cc 2014-07-03 12:57:08.817140199 +0000
44+@@ -499,6 +499,7 @@
45+
46+ if (strcmp(e->mem_obj->url, urlCanonical(r)) != 0) {
47+ debugs(33, DBG_IMPORTANT, "clientProcessHit: URL mismatch, '" << e->mem_obj->url << "' != '" << urlCanonical(r) << "'");
48++ http->logType = LOG_TCP_MISS; // we lack a more precise LOG_*_MISS code
49+ processMiss();
50+ return;
51+ }
52+@@ -530,6 +531,7 @@
53+ case VARY_CANCEL:
54+ /* varyEvaluateMatch found a object loop. Process as miss */
55+ debugs(88, DBG_IMPORTANT, "clientProcessHit: Vary object loop!");
56++ http->logType = LOG_TCP_MISS; // we lack a more precise LOG_*_MISS code
57+ processMiss();
58+ return;
59+ }
60+Index: 3806-caching-responses-with-vary/src/store.cc
61+===================================================================
62+--- 3806-caching-responses-with-vary.orig/src/store.cc 2014-07-03 12:35:37.000000000 +0000
63++++ 3806-caching-responses-with-vary/src/store.cc 2014-07-03 12:50:37.581140199 +0000
64+@@ -780,12 +780,14 @@
65+ }
66+
67+ #endif
68+- pe->replaceHttpReply(rep);
69++ pe->replaceHttpReply(rep, false); // no write until key is public
70+
71+ pe->timestampsSet();
72+
73+ pe->makePublic();
74+
75++ pe->startWriting(); // after makePublic()
76++
77+ pe->complete();
78+
79+ pe->unlock();
80
81=== modified file 'debian/patches/series'
82--- debian/patches/series 2013-11-09 00:30:15 +0000
83+++ debian/patches/series 2014-07-03 14:28:09 +0000
84@@ -6,3 +6,4 @@
85 99-ubuntu-ssl-cert-snakeoil.patch
86 fix-pod2man-config.test.patch
87 fix-distribution.patch
88+91-caching-with-vary-3806.patch

Subscribers

People subscribed via source and target branches