2 diff -c squid/src/acl.c:1.270.2.14 squid/src/acl.c:1.270.2.15
3 *** squid/src/acl.c:1.270.2.14 Tue May 6 13:54:28 2003
4 --- squid/src/acl.c Wed May 7 13:55:00 2003
8 debug(28, 4) ("aclMatchAcl: returning 0 sending credentials to helper.\n");
9 checklist->state[ACL_PROXY_AUTH] = ACL_LOOKUP_NEEDED;
11 case AUTH_ACL_CHALLENGE:
12 debug(28, 4) ("aclMatchAcl: returning 0 sending authentication challenge.\n");
13 checklist->state[ACL_PROXY_AUTH] = ACL_PROXY_AUTH_NEEDED;
16 fatal("unexpected authenticateAuthenticate reply\n");
20 debug(28, 4) ("aclMatchAcl: returning 0 sending credentials to helper.\n");
21 checklist->state[ACL_PROXY_AUTH] = ACL_LOOKUP_NEEDED;
23 case AUTH_ACL_CHALLENGE:
24 debug(28, 4) ("aclMatchAcl: returning 0 sending authentication challenge.\n");
25 checklist->state[ACL_PROXY_AUTH] = ACL_PROXY_AUTH_NEEDED;
28 fatal("unexpected authenticateAuthenticate reply\n");
32 aclMatchAclList(const acl_list * list, aclCheck_t * checklist)
35 AclMatchedName = list->acl->name;
36 debug(28, 3) ("aclMatchAclList: checking %s%s\n",
37 list->op ? null_string : "!", list->acl->name);
38 ! if (aclMatchAcl(list->acl, checklist) != list->op) {
39 ! debug(28, 3) ("aclMatchAclList: returning 0\n");
44 aclMatchAclList(const acl_list * list, aclCheck_t * checklist)
48 AclMatchedName = list->acl->name;
49 debug(28, 3) ("aclMatchAclList: checking %s%s\n",
50 list->op ? null_string : "!", list->acl->name);
51 ! answer = aclMatchAcl(list->acl, checklist);
53 ! debug(28, 3) ("aclMatchAclList: failure. returning -1\n");
56 ! if (answer != list->op) {
57 ! debug(28, 3) ("aclMatchAclList: no match, returning 0\n");
63 aclCheckFast(const acl_access * A, aclCheck_t * checklist)
65 allow_t allow = ACCESS_DENIED;
66 debug(28, 5) ("aclCheckFast: list: %p\n", A);
69 ! if (aclMatchAclList(A->acl_list, checklist)) {
70 aclCheckCleanup(checklist);
71 return allow == ACCESS_ALLOWED;
74 aclCheckFast(const acl_access * A, aclCheck_t * checklist)
76 allow_t allow = ACCESS_DENIED;
78 debug(28, 5) ("aclCheckFast: list: %p\n", A);
81 ! answer = aclMatchAclList(A->acl_list, checklist);
84 ! return ACCESS_DENIED;
85 aclCheckCleanup(checklist);
86 return allow == ACCESS_ALLOWED;
91 debug(28, 3) ("aclCheck: checking '%s'\n", A->cfgline);
93 match = aclMatchAclList(A->acl_list, checklist);
95 + allow = ACCESS_DENIED;
96 if (checklist->state[ACL_DST_IP] == ACL_LOOKUP_NEEDED) {
97 checklist->state[ACL_DST_IP] = ACL_LOOKUP_PENDING;
98 ipcache_nbgethostbyname(checklist->request->host,
101 debug(28, 1) ("aclCheck: Can't start ident lookup. No client connection\n");
102 cbdataUnlock(checklist->conn);
103 checklist->conn = NULL;
109 debug(28, 1) ("aclCheck: Can't start ident lookup. No client connection\n");
110 cbdataUnlock(checklist->conn);
111 checklist->conn = NULL;
112 ! allow = ACCESS_DENIED;