2 diff -c squid/src/acl.c:1.270.2.15 squid/src/acl.c:1.270.2.16
3 *** squid/src/acl.c:1.270.2.15 Wed May 7 13:55:00 2003
4 --- squid/src/acl.c Sat May 10 16:17:44 2003
11 + checklist->current_acl = list->acl;
12 AclMatchedName = list->acl->name;
13 debug(28, 3) ("aclMatchAclList: checking %s%s\n",
14 list->op ? null_string : "!", list->acl->name);
18 cbdataUnlock(checklist->extacl_entry);
19 checklist->extacl_entry = NULL;
21 + checklist->current_acl = NULL;
29 else if (checklist->state[ACL_EXTERNAL] == ACL_LOOKUP_NEEDED) {
30 ! acl *acl = aclFindByName(AclMatchedName);
31 externalAclLookup(checklist, acl->data, aclLookupExternalDone, checklist);
37 else if (checklist->state[ACL_EXTERNAL] == ACL_LOOKUP_NEEDED) {
38 ! acl *acl = checklist->current_acl;
39 ! assert(acl->type == ACL_EXTERNAL);
40 externalAclLookup(checklist, acl->data, aclLookupExternalDone, checklist);
43 Index: squid/src/external_acl.c
44 diff -c squid/src/external_acl.c:1.1.2.22 squid/src/external_acl.c:1.1.2.23
45 *** squid/src/external_acl.c:1.1.2.22 Wed Apr 9 06:35:25 2003
46 --- squid/src/external_acl.c Sat May 10 16:17:44 2003
49 debug(82, 1) ("aclMatchExternal: '%s' queue overload. Request rejected.\n", acl->def->name);
51 ch->state[ACL_EXTERNAL] = ACL_LOOKUP_NEEDED;
54 external_acl_cache_touch(acl->def, entry);
55 result = entry->result;
57 debug(82, 1) ("aclMatchExternal: '%s' queue overload. Request rejected.\n", acl->def->name);
59 ch->state[ACL_EXTERNAL] = ACL_LOOKUP_NEEDED;
62 external_acl_cache_touch(acl->def, entry);
63 result = entry->result;
64 Index: squid/src/structs.h
65 diff -c squid/src/structs.h:1.408.2.10 squid/src/structs.h:1.408.2.11
66 *** squid/src/structs.h:1.408.2.10 Tue May 6 14:13:03 2003
67 --- squid/src/structs.h Sat May 10 16:17:44 2003
73 external_acl_entry *extacl_entry;
74 + acl *current_acl; /* private, used by aclCheck */