Loop with moved_temporarily and when using storeurl
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
squid (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned | ||
Bug Description
Binary package hint: squid
As described at : http://
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.
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 @@
}
}
+ /* bug fix for 302 moved_temporarily loop bug when using storeurl*/
+ if (mem->reply-
+ const char *cloc = httpHeaderGetSt
+ if (!strcmp(
+ debug(33, 1) ("Loop Detected: %s Redirect to: %s\n",
+ http->uri,cloc);
+ http->log_type = LOG_TCP_MISS;
+ clientProcessMi
+ return;
+ }
+ }
+ /* bug fix end here*/
stale = refreshCheckHTT
debug(33, 2) ("clientCacheHit: refreshCheckHTT
if (stale == 0) {
It was not integrated upstream even in the last head branch. Hope to have it included in Ubuntu LTS.
Changed in squid (Ubuntu): | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
I disagree with the importance assigned to this bug. Working with a small rural ISP in northern India, youtube is more than 25% of our bandwidth and content delivery network (hi5, facebook, yimg....) are another 10%. Without the ability of using storeurl it means that more than one third of the traffic is not cacheable.
I'd like to see this bug raised to critic and that's why I nominate it for release.