|
Lines 178-189
Link Here
|
| 178 |
return 'dstdom_regex' |
178 |
return 'dstdom_regex' |
| 179 |
def acl_dstdomain_regex_i(): |
179 |
def acl_dstdomain_regex_i(): |
| 180 |
return 'dstdom_regex -i' |
180 |
return 'dstdom_regex -i' |
|
|
181 |
def acl_proxy_auth_regex(): |
| 182 |
return 'proxy_auth_regex' |
| 183 |
def acl_rep_mime_type(): |
| 184 |
return 'rep_mime_type' |
| 185 |
def acl_rep_mime_type_i(): |
| 186 |
return 'rep_mime_type -i' |
| 187 |
def acl_urlpath_regex(): |
| 188 |
return 'urlpath_regex' |
| 189 |
def acl_urlpath_regex_i(): |
| 190 |
return 'urlpath_regex -i' |
| 191 |
def acl_dst(): |
| 192 |
return 'dst' |
| 181 |
acltypes = { |
193 |
acltypes = { |
| 182 |
'browser': acl_browser, |
194 |
'browser': acl_browser, |
| 183 |
'browser-i': acl_browser_i, |
195 |
'browser-i': acl_browser_i, |
| 184 |
'dstdomain': acl_dstdomain_regex, |
196 |
'dstdomain': acl_dstdomain_regex, |
| 185 |
'dstdomain-i': acl_dstdomain_regex_i, |
197 |
'dstdomain-i': acl_dstdomain_regex_i, |
| 186 |
'port': acl_port, |
198 |
'port': acl_port, |
|
|
199 |
'proxy': acl_proxy_auth_regex, |
| 200 |
'mime': acl_rep_mime_type, |
| 201 |
'mime-i': acl_rep_mime_type_i, |
| 202 |
'urlpath': acl_urlpath_regex, |
| 203 |
'urlpath-i': acl_urlpath_regex_i, |
| 204 |
'dst': acl_dst, |
| 187 |
} |
205 |
} |
| 188 |
def squid_re_escape(value): |
206 |
def squid_re_escape(value): |
| 189 |
return r'\x20'.join(map(re.escape, value.split(' '))) |
207 |
return r'\x20'.join(map(re.escape, value.split(' '))) |
|
Lines 202-207
Link Here
|
| 202 |
if not 0 <= value <= 65535: |
220 |
if not 0 <= value <= 65535: |
| 203 |
raise ValueError('Invalid port number %r' % (value, )) |
221 |
raise ValueError('Invalid port number %r' % (value, )) |
| 204 |
return '%d' % (value, ) |
222 |
return '%d' % (value, ) |
|
|
223 |
def value_network(value): |
| 224 |
return '%s' % (value, ) |
| 225 |
|
| 205 |
valuetypes_regex = { |
226 |
valuetypes_regex = { |
| 206 |
'string': value_string, |
227 |
'string': value_string, |
| 207 |
'substring': value_substring, |
228 |
'substring': value_substring, |
|
Lines 210-221
Link Here
|
| 210 |
valuetypes_port = { |
231 |
valuetypes_port = { |
| 211 |
'number': value_port_number, |
232 |
'number': value_port_number, |
| 212 |
} |
233 |
} |
|
|
234 |
valuetypes_network = { |
| 235 |
'network': value_network, |
| 236 |
} |
| 213 |
valuetypes = { |
237 |
valuetypes = { |
| 214 |
'browser': valuetypes_regex, |
238 |
'browser': valuetypes_regex, |
| 215 |
'browser-i': valuetypes_regex, |
239 |
'browser-i': valuetypes_regex, |
| 216 |
'dstdomain': valuetypes_regex, |
240 |
'dstdomain': valuetypes_regex, |
| 217 |
'dstdomain-i': valuetypes_regex, |
241 |
'dstdomain-i': valuetypes_regex, |
| 218 |
'port': valuetypes_port, |
242 |
'port': valuetypes_port, |
|
|
243 |
'proxy': valuetypes_regex, |
| 244 |
'mime': valuetypes_regex, |
| 245 |
'mime-i': valuetypes_regex, |
| 246 |
'urlpath': valuetypes_regex, |
| 247 |
'urlpath-i': valuetypes_regex, |
| 248 |
'dst': valuetypes_network, |
| 219 |
} |
249 |
} |
| 220 |
aclnames = set() |
250 |
aclnames = set() |
| 221 |
for key, value, in configRegistry.items(): |
251 |
for key, value, in configRegistry.items(): |