]>
Commit | Line | Data |
---|---|---|
a81b0ff6 AM |
1 | Index: squid/src/acl.c |
2 | diff -c squid/src/acl.c:1.270.2.18 squid/src/acl.c:1.270.2.19 | |
3 | *** squid/src/acl.c:1.270.2.18 Sat Nov 29 01:59:23 2003 | |
4 | --- squid/src/acl.c Fri Dec 19 09:34:22 2003 | |
5 | *************** | |
6 | *** 178,183 **** | |
7 | --- 178,185 ---- | |
8 | return ACL_MAX_USER_IP; | |
9 | if (!strcmp(s, "external")) | |
10 | return ACL_EXTERNAL; | |
11 | + if (!strcmp(s, "urllogin")) | |
12 | + return ACL_URLLOGIN; | |
13 | return ACL_NONE; | |
14 | } | |
15 | ||
16 | *************** | |
17 | *** 252,257 **** | |
18 | --- 254,261 ---- | |
19 | return "max_user_ip"; | |
20 | if (type == ACL_EXTERNAL) | |
21 | return "external"; | |
22 | + if (type == ACL_URLLOGIN) | |
23 | + return "urllogin"; | |
24 | return "ERROR"; | |
25 | } | |
26 | ||
27 | *************** | |
28 | *** 737,742 **** | |
29 | --- 741,747 ---- | |
30 | aclParseTimeSpec(&A->data); | |
31 | break; | |
32 | case ACL_URL_REGEX: | |
33 | + case ACL_URLLOGIN: | |
34 | case ACL_URLPATH_REGEX: | |
35 | case ACL_BROWSER: | |
36 | case ACL_REFERER_REGEX: | |
37 | *************** | |
38 | *** 1464,1469 **** | |
39 | --- 1469,1475 ---- | |
40 | case ACL_URLPATH_REGEX: | |
41 | case ACL_URL_PORT: | |
42 | case ACL_URL_REGEX: | |
43 | + case ACL_URLLOGIN: | |
44 | /* These ACL types require checklist->request */ | |
45 | if (NULL == r) { | |
46 | debug(28, 1) ("WARNING: '%s' ACL is used but there is no" | |
47 | *************** | |
48 | *** 1567,1572 **** | |
49 | --- 1573,1584 ---- | |
50 | k = aclMatchRegex(ae->data, esc_buf); | |
51 | safe_free(esc_buf); | |
52 | return k; | |
53 | + case ACL_URLLOGIN: | |
54 | + esc_buf = xstrdup(r->login); | |
55 | + rfc1738_unescape(esc_buf); | |
56 | + k = aclMatchRegex(ae->data, esc_buf); | |
57 | + safe_free(esc_buf); | |
58 | + return k; | |
59 | /* NOTREACHED */ | |
60 | case ACL_MAXCONN: | |
61 | k = clientdbEstablished(checklist->src_addr, 0); | |
62 | *************** | |
63 | *** 2114,2119 **** | |
64 | --- 2126,2132 ---- | |
65 | #endif | |
66 | case ACL_PROXY_AUTH_REGEX: | |
67 | case ACL_URL_REGEX: | |
68 | + case ACL_URLLOGIN: | |
69 | case ACL_URLPATH_REGEX: | |
70 | case ACL_BROWSER: | |
71 | case ACL_REFERER_REGEX: | |
72 | *************** | |
73 | *** 2529,2534 **** | |
74 | --- 2542,2548 ---- | |
75 | return aclDumpTimeSpecList(a->data); | |
76 | case ACL_PROXY_AUTH_REGEX: | |
77 | case ACL_URL_REGEX: | |
78 | + case ACL_URLLOGIN: | |
79 | case ACL_URLPATH_REGEX: | |
80 | case ACL_BROWSER: | |
81 | case ACL_REFERER_REGEX: | |
82 | Index: squid/src/cf.data.pre | |
83 | diff -c squid/src/cf.data.pre:1.245.2.56 squid/src/cf.data.pre:1.245.2.57 | |
84 | *** squid/src/cf.data.pre:1.245.2.56 Sun Dec 14 06:33:44 2003 | |
85 | --- squid/src/cf.data.pre Fri Dec 19 09:34:22 2003 | |
86 | *************** | |
87 | *** 1966,1971 **** | |
88 | --- 1966,1972 ---- | |
89 | h1:m1 must be less than h2:m2 | |
90 | acl aclname url_regex [-i] ^http:// ... # regex matching on whole URL | |
91 | acl aclname urlpath_regex [-i] \.gif$ ... # regex matching on URL path | |
92 | + acl aclname urllogin [-i] [^a-zA-Z0-9] ... # regex matching on URL login field | |
93 | acl aclname port 80 70 21 ... | |
94 | acl aclname port 0-1024 ... # ranges allowed | |
95 | acl aclname myport 3128 ... # (local socket TCP port) | |
96 | Index: squid/src/enums.h | |
97 | diff -c squid/src/enums.h:1.203.2.8 squid/src/enums.h:1.203.2.9 | |
98 | *** squid/src/enums.h:1.203.2.8 Mon Jan 20 17:06:39 2003 | |
99 | --- squid/src/enums.h Fri Dec 19 09:34:23 2003 | |
100 | *************** | |
101 | *** 136,141 **** | |
102 | --- 136,142 ---- | |
103 | ACL_REP_MIME_TYPE, | |
104 | ACL_MAX_USER_IP, | |
105 | ACL_EXTERNAL, | |
106 | + ACL_URLLOGIN, | |
107 | ACL_ENUM_MAX | |
108 | } squid_acl; | |
109 |