]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/UrlPath.cc
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / acl / UrlPath.cc
1 /*
2 * Copyright (C) 1996-2020 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/RegexData.h"
14 #include "acl/UrlPath.h"
15 #include "HttpRequest.h"
16 #include "rfc1738.h"
17
18 int
19 ACLUrlPathStrategy::match (ACLData<char const *> * &data, ACLFilledChecklist *checklist)
20 {
21 if (checklist->request->url.path().isEmpty())
22 return -1;
23
24 char *esc_buf = SBufToCstring(checklist->request->url.path());
25 rfc1738_unescape(esc_buf);
26 int result = data->match(esc_buf);
27 xfree(esc_buf);
28 return result;
29 }
30