]>
Commit | Line | Data |
---|---|---|
5dee515e | 1 | /* |
b8ae064d | 2 | * Copyright (C) 1996-2023 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" |
4eac3407 | 12 | #include "acl/FilledChecklist.h" |
602d9612 | 13 | #include "acl/UrlPath.h" |
a2ac85d9 | 14 | #include "HttpRequest.h" |
1fa9b1a7 | 15 | #include "rfc1738.h" |
5dee515e | 16 | |
17 | int | |
8319d478 | 18 | Acl::UrlPathCheck::match(ACLChecklist * const ch) |
5dee515e | 19 | { |
8319d478 AR |
20 | const auto checklist = Filled(ch); |
21 | ||
51b5dcf5 | 22 | if (checklist->request->url.path().isEmpty()) |
7e56b602 AJ |
23 | return -1; |
24 | ||
3f0e38d6 | 25 | char *esc_buf = SBufToCstring(checklist->request->url.path()); |
5dee515e | 26 | rfc1738_unescape(esc_buf); |
27 | int result = data->match(esc_buf); | |
51b5dcf5 | 28 | xfree(esc_buf); |
5dee515e | 29 | return result; |
30 | } | |
31 |