[Bug 503777] [NEW] Loop with moved_temporarily and when using storeurl
frenet
renet.f at gmail.com
Wed Jan 6 12:58:06 GMT 2010
Public bug reported:
Binary package hint: squid
As described at : http://wiki.squid-cache.org/ConfigExamples/DynamicContent/YouTube/Discussion there is a bug with http 302 response moved_temporarily when using storeurl.
The storeurl stores the 302 instead of following the redirect and then a loop occurs.
The fix to ignore small sized object : minimum_object_size 512 bytes is
not always working, just burnt myself with 302 bigger than 512 bytes
from youtube.
The patch described works perfectly on squid_2.7.STABLE7-1ubuntu1 from
lucid. Both Lucid and Karmic are affected by this bug.
The patch is small :
--- src/client_side.c 2008-10-30 07:37:56 +0800
+++ src/client_side.c 2008-11-05 23:44:55 +0800
@@ -2399,6 +2399,18 @@
is_modified = 0;
}
}
+ /* bug fix for 302 moved_temporarily loop bug when using storeurl*/
+ if (mem->reply->sline.status == HTTP_MOVED_TEMPORARILY) {
+ const char *cloc = httpHeaderGetStr(&e->mem_obj->reply->header, HDR_LOCATION);
+ if (!strcmp(http->uri,cloc)) {
+ debug(33, 1) ("Loop Detected: %s Redirect to: %s\n",
+ http->uri,cloc);
+ http->log_type = LOG_TCP_MISS;
+ clientProcessMiss(http);
+ return;
+ }
+ }
+ /* bug fix end here*/
stale = refreshCheckHTTPStale(e, r);
debug(33, 2) ("clientCacheHit: refreshCheckHTTPStale returned %d\n", stale);
if (stale == 0) {
It was not integrated upstream even in the last head branch. Hope to
have it included in Ubuntu LTS.
** Affects: squid (Ubuntu)
Importance: Undecided
Status: New
--
Loop with moved_temporarily and when using storeurl
https://bugs.launchpad.net/bugs/503777
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to squid in ubuntu.
More information about the Ubuntu-server-bugs
mailing list