lkundrak / rpms / squid

Forked from rpms/squid 4 years ago
Clone
Blob Blame History Raw
------------------------------------------------------------
revno: 8930
revision-id: squid3@treenet.co.nz-20081201053029-k18urfbqvmmo1whl
parent: squid3@treenet.co.nz-20081128120843-juy12m80zdtusl5v
committer: Amos Jeffries <squid3@treenet.co.nz>
branch nick: SQUID_3_0
timestamp: Mon 2008-12-01 18:30:29 +1300
message:
  Rollback rev 8909
  
  This change to StoreIO overlooked the signedness of the StoreIO* length
  parameter. It may have resulted in objects that should not have been
  store making their way into the cache.
  
  Caches created by 3.0.STABLE10 release are known to contain many invalid
  entries when rolled back to STABLE9 release. Whether or not these entries
  are fatal to Squid is still unknown. It is currently expected that they
  will be erased properly, but cause a lot of cache.log warnings while that
  is happening. It is left to admin to decide if its worth purging their
  cache on upgrade.
------------------------------------------------------------
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: squid3@treenet.co.nz-20081201053029-k18urfbqvmmo1whl
# target_branch: http://www.squid-cache.org/bzr/squid3/branches\
#   /SQUID_3_0/
# testament_sha1: 491d242447b01a6ec90eb9983cc9384b050fae73
# timestamp: 2008-12-01 05:47:46 +0000
# source_branch: http://www.squid-cache.org/bzr/squid3/branches\
#   /SQUID_3_0
# base_revision_id: squid3@treenet.co.nz-20081128120843-\
#   juy12m80zdtusl5v
# 
# Begin patch
=== modified file 'src/StoreIOBuffer.h'
--- src/StoreIOBuffer.h	2008-10-06 11:35:50 +0000
+++ src/StoreIOBuffer.h	2008-12-01 05:30:29 +0000
@@ -46,17 +46,9 @@
     StoreIOBuffer():length(0), offset (0), data (NULL) {flags.error = 0;}
 
     StoreIOBuffer(size_t aLength, int64_t anOffset, char *someData) :
-            offset (anOffset), data (someData)
+            length (aLength), offset (anOffset), data (someData)
     {
-        /* maintain own state: detect size errors now */
-        if (aLength <0) {
-            flags.error = 1;
-            length = 0;
-        }
-        else {
-            flags.error = 0;
-            length = aLength;
-        }
+        flags.error = 0;
     }
 
     /* Create a StoreIOBuffer from a MemBuf and offset */

=== modified file 'src/store_client.cc'
--- src/store_client.cc	2008-10-06 11:35:50 +0000
+++ src/store_client.cc	2008-12-01 05:30:29 +0000
@@ -145,8 +145,11 @@
 {
     StoreIOBuffer result(sz, 0 ,copyInto.data);
 
-    if (error) {
+    if (sz < 0) {
         result.flags.error = 1;
+        result.length = 0;
+    } else {
+        result.flags.error = error ? 1 : 0;
     }
 
     result.offset = cmp_offset;