UrlPath.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 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
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 
void SBufToCstring(char *d, const SBuf &s)
Definition: SBuf.h:756
void rfc1738_unescape(char *url)
Definition: rfc1738.c:146
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
#define xfree
int match(ACLChecklist *) override
Matches the actual data in checklist against this Acl::Node.
Definition: UrlPath.cc:18

 

Introduction

Documentation

Support

Miscellaneous