]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Summary: Fix outgoing_address and tos.
authorrobertc <>
Sun, 21 Sep 2003 18:06:06 +0000 (18:06 +0000)
committerrobertc <>
Sun, 21 Sep 2003 18:06:06 +0000 (18:06 +0000)
Keywords:

Fix outgoing_address and tos.

src/ACLChecklist.cc
src/ACLChecklist.h

index bde58fae93950ae3edc4f4c43584638b50df765d..ee579fb4aede322794b60b29a54592941f257663 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLChecklist.cc,v 1.15 2003/09/21 00:30:48 robertc Exp $
+ * $Id: ACLChecklist.cc,v 1.16 2003/09/21 12:06:06 robertc Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -191,9 +191,18 @@ ACLChecklist::markFinished()
     debug (28,3)("ACLChecklist::markFinished: %p checklist processing finished\n", this);
 }
 
+void
+ACLChecklist::preCheck()
+{
+    debug(28, 3) ("ACLChecklist::preCheck: %p checking '%s'\n", this, accessList->cfgline);
+    /* what is our result on a match? */
+    currentAnswer(accessList->allow);
+}
+
 void
 ACLChecklist::checkAccessList()
 {
+    preCheck();
     /* does the current AND clause match */
     matchAclListSlow(accessList->aclList);
 }
@@ -236,9 +245,6 @@ void
 ACLChecklist::matchAclList(const acl_list * head, bool const fast)
 {
     PROF_start(aclMatchAclList);
-    debug(28, 3) ("ACLChecklist::matchAclList: %p checking '%s'\n", this, accessList->cfgline);
-    /* what is our result on a match? */
-    currentAnswer(accessList->allow);
     const acl_list *node = head;
 
     while (node) {
@@ -399,6 +405,7 @@ ACLChecklist::fastCheck()
     debug(28, 5) ("aclCheckFast: list: %p\n", accessList);
 
     while (accessList) {
+        preCheck();
         matchAclListFast(accessList->aclList);
 
         if (finished()) {
index 544411e02f91d83cb783aae537f3bef59c838ee9..0e06f3a46893fe104d1496d13feb30d52850b80e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ACLChecklist.h,v 1.18 2003/09/21 00:30:48 robertc Exp $
+ * $Id: ACLChecklist.h,v 1.19 2003/09/21 12:06:06 robertc Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -93,6 +93,7 @@ class NullState : public AsyncState
     void nonBlockingCheck(PF * callback, void *callback_data);
     int fastCheck();
     void checkCallback(allow_t answer);
+    void preCheck();
     _SQUID_INLINE_ bool matchAclListFast(const acl_list * list);
     _SQUID_INLINE_ void matchAclListSlow(const acl_list * list);
     ConnStateData::Pointer conn();