]>
Commit | Line | Data |
---|---|---|
5dee515e | 1 | /* |
ef57eb7b | 2 | * Copyright (C) 1996-2016 The Squid Software Foundation and contributors |
5dee515e | 3 | * |
bbc27441 AJ |
4 | * Squid software is distributed under GPLv2+ license and includes |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
5dee515e | 7 | */ |
8 | ||
bbc27441 AJ |
9 | /* DEBUG: section 28 Access Control */ |
10 | ||
582c2af2 | 11 | #include "squid.h" |
127dce76 AR |
12 | #include "acl/Checklist.h" |
13 | #include "acl/RegexData.h" | |
602d9612 | 14 | #include "acl/Url.h" |
851feda6 | 15 | #include "HttpRequest.h" |
1fa9b1a7 | 16 | #include "rfc1738.h" |
c9c46c8b | 17 | #include "src/URL.h" |
5dee515e | 18 | |
19 | int | |
33810b1d | 20 | ACLUrlStrategy::match (ACLData<char const *> * &data, ACLFilledChecklist *checklist, ACLFlags &) |
5dee515e | 21 | { |
3f0e38d6 | 22 | char *esc_buf = SBufToCstring(checklist->request->effectiveRequestUri()); |
5dee515e | 23 | rfc1738_unescape(esc_buf); |
24 | int result = data->match(esc_buf); | |
851feda6 | 25 | xfree(esc_buf); |
5dee515e | 26 | return result; |
27 | } | |
28 | ||
29 | ACLUrlStrategy * | |
30 | ACLUrlStrategy::Instance() | |
31 | { | |
32 | return &Instance_; | |
33 | } | |
34 | ||
35 | ACLUrlStrategy ACLUrlStrategy::Instance_; | |
f53969cc | 36 |