]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug #1201: assertion failed: cbdata.cc:402: "c->locks > 0"
authorserassio <>
Thu, 9 Jun 2005 22:04:30 +0000 (22:04 +0000)
committerserassio <>
Thu, 9 Jun 2005 22:04:30 +0000 (22:04 +0000)
This is a short term patch that should allow the usage of broken acls, waiting
for full refactoring.

src/DelayId.cc
src/client_side.cc
src/forward.cc
src/http.cc
src/icp_v2.cc
src/neighbors.cc
src/snmp_core.cc
src/tunnel.cc

index 163aec420e998a9d7858d039e39021910245b87c..9a384a3b59d0d0387848f26461cef8027d6f8274 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: DelayId.cc,v 1.15 2003/09/21 00:30:48 robertc Exp $
+ * $Id: DelayId.cc,v 1.16 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 77    Delay Pools
  * AUTHOR: Robert Collins <robertc@squid-cache.org>
@@ -114,7 +114,7 @@ DelayId::DelayClient(clientHttpRequest * http)
 
         ch.request = requestLink(r);
 
-        ch.accessList = DelayPools::delay_data[pool].access;
+        ch.accessList = cbdataReference(DelayPools::delay_data[pool].access);
 
         if (DelayPools::delay_data[pool].theComposite().getRaw() &&
                 ch.fastCheck()) {
index cd1d49d0d391a41e6463be7e69f560b7e07c5119..50d829427e58cd5c5a52826938433415ecb97969 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side.cc,v 1.685 2005/06/05 23:29:02 hno Exp $
+ * $Id: client_side.cc,v 1.686 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 33    Client-side Routines
  * AUTHOR: Duane Wessels
@@ -2864,7 +2864,7 @@ httpAccept(int sock, int newfd, ConnectionDetail *details,
 
     identChecklist.my_port = ntohs(details->me.sin_port);
 
-    identChecklist.accessList = Config.accessList.identLookup;
+    identChecklist.accessList = cbdataReference(Config.accessList.identLookup);
 
     if (identChecklist.fastCheck())
         identStart(&details->me, &details->peer, clientIdentDone, connState);
@@ -3035,7 +3035,7 @@ httpsAccept(int sock, int newfd, ConnectionDetail *details,
 
     identChecklist.my_port = ntohs(details->me.sin_port);
 
-    identChecklist.accessList = Config.accessList.identLookup;
+    identChecklist.accessList = cbdataReference(Config.accessList.identLookup);
 
     if (identChecklist.fastCheck())
         identStart(&details->me, &details->peer, clientIdentDone, connState);
index a9ce3e55b4170c8e9ea5213e41802f2e0513d43d..47f7fa2541f68a4806ff9bea3e616ff9f3271cde 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: forward.cc,v 1.127 2005/04/18 21:52:42 hno Exp $
+ * $Id: forward.cc,v 1.128 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 17    Request Forwarding
  * AUTHOR: Duane Wessels
@@ -879,7 +879,7 @@ fwdStart(int fd, StoreEntry * e, HttpRequest * r)
         ch.my_addr = r->my_addr;
         ch.my_port = r->my_port;
         ch.request = requestLink(r);
-        ch.accessList = Config.accessList.miss;
+        ch.accessList = cbdataReference(Config.accessList.miss);
         answer = ch.fastCheck();
         ch.accessList = NULL;
 
index d27ee1c353b4363f9078e199ae4b664b44df67d2..97fba72236b0ed0a8175586d999e7c89e85ee09b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: http.cc,v 1.450 2005/05/09 17:11:57 hno Exp $
+ * $Id: http.cc,v 1.451 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
@@ -1819,7 +1819,9 @@ httpSendRequestEntityDone(int fd, void *data)
     ACLChecklist ch;
     debug(11, 5) ("httpSendRequestEntityDone: FD %d\n", fd);
     ch.request = requestLink(httpState->request);
-    ch.accessList = Config.accessList.brokenPosts;
+
+    if (Config.accessList.brokenPosts)
+        ch.accessList = cbdataReference(Config.accessList.brokenPosts);
 
     if (!Config.accessList.brokenPosts) {
         debug(11, 5) ("httpSendRequestEntityDone: No brokenPosts list\n");
index d0ca684efd84ca1faec30cdb93100cd224f3ee2c..f6076224a21214878534434a23df153f3c4a723b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: icp_v2.cc,v 1.86 2005/06/05 15:12:46 serassio Exp $
+ * $Id: icp_v2.cc,v 1.87 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 12    Internet Cache Protocol
  * AUTHOR: Duane Wessels
@@ -398,7 +398,7 @@ icpAccessAllowed(struct sockaddr_in *from, HttpRequest * icp_request)
     checklist.src_addr = from->sin_addr;
     checklist.my_addr = no_addr;
     checklist.request = requestLink(icp_request);
-    checklist.accessList = Config.accessList.icp;
+    checklist.accessList = cbdataReference(Config.accessList.icp);
     int result = checklist.fastCheck();
     checklist.accessList = NULL;
     return result;
index 9dbaad15aa7dc3e089e34c425773aea54493af9e..1bc96f104facd5000153216fcd0e68bd21ee3bde 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: neighbors.cc,v 1.330 2005/04/18 21:52:42 hno Exp $
+ * $Id: neighbors.cc,v 1.331 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 15    Neighbor Routines
  * AUTHOR: Harvest Derived
@@ -185,7 +185,7 @@ peerAllowedToUse(const peer * p, HttpRequest * request)
 
     checklist.request = requestLink(request);
 
-    checklist.accessList = p->access;
+    checklist.accessList = cbdataReference(p->access);
 
 #if 0 && USE_IDENT
     /*
index feabc58cec97b534b715496e49fbd86177bd3e19..ce951aee15cdad39b976ebf4756dc86bedf54045 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: snmp_core.cc,v 1.67 2005/05/05 15:44:45 serassio Exp $
+ * $Id: snmp_core.cc,v 1.68 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 49    SNMP support
  * AUTHOR: Glenn Chisholm
@@ -539,12 +539,12 @@ snmpDecodePacket(snmp_request_t * rq)
     ACLChecklist checklist;
     checklist.src_addr = rq->from.sin_addr;
     checklist.snmp_community = (char *) Community;
-    checklist.accessList = Config.accessList.snmp;
 
-    if (Community)
+    if (Community) {
+        checklist.accessList = cbdataReference(Config.accessList.snmp);
         allow = checklist.fastCheck();
-
-    checklist.accessList = NULL;
+        checklist.accessList = NULL;
+    }
 
     if ((snmp_coexist_V2toV1(PDU)) && (Community) && (allow)) {
         rq->community = Community;
index d6ace0e6226ba109cbd3ca128127dddecfc5eb42..d352c8197e1b964ab555f5be1782f3736325d9b4 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tunnel.cc,v 1.149 2004/12/27 15:59:55 hno Exp $
+ * $Id: tunnel.cc,v 1.150 2005/06/09 16:04:30 serassio Exp $
  *
  * DEBUG: section 26    Secure Sockets Layer Proxy
  * AUTHOR: Duane Wessels
@@ -602,7 +602,7 @@ sslStart(clientHttpRequest * http, size_t * size_ptr, int *status_ptr)
         ch.my_addr = request->my_addr;
         ch.my_port = request->my_port;
         ch.request = requestLink(request);
-        ch.accessList = Config.accessList.miss;
+        ch.accessList = cbdataReference(Config.accessList.miss);
         answer = ch.fastCheck();
         ch.accessList = NULL;