]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Copyright (C) 1996-2025 The Squid Software Foundation and contributors | |
3 | * | |
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. | |
7 | */ | |
8 | ||
9 | /* DEBUG: section 28 Access Control */ | |
10 | ||
11 | #include "squid.h" | |
12 | #include "acl/FilledChecklist.h" | |
13 | #include "acl/UrlPath.h" | |
14 | #include "HttpRequest.h" | |
15 | #include "rfc1738.h" | |
16 | ||
17 | int | |
18 | Acl::UrlPathCheck::match(ACLChecklist * const ch) | |
19 | { | |
20 | const auto checklist = Filled(ch); | |
21 | ||
22 | if (checklist->request->url.path().isEmpty()) | |
23 | return -1; | |
24 | ||
25 | char *esc_buf = SBufToCstring(checklist->request->url.path()); | |
26 | rfc1738_unescape(esc_buf); | |
27 | int result = data->match(esc_buf); | |
28 | xfree(esc_buf); | |
29 | return result; | |
30 | } | |
31 |