|
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(' '))) |
|
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, |
|
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(): |