Squid Web Cache master
Loading...
Searching...
No Matches
Gadgets.h
Go to the documentation of this file.
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#ifndef SQUID_SRC_ACL_GADGETS_H
10#define SQUID_SRC_ACL_GADGETS_H
11
12#include "acl/forward.h"
13#include "error/forward.h"
14#include "sbuf/forward.h"
15
16#include <optional>
17#include <sstream>
18
19class ConfigParser;
20class dlink_list;
21class StoreEntry;
22class wordlist;
23
28
30void aclParseAccessLine(const char *directive, ConfigParser &, acl_access **);
31
35size_t aclParseAclList(ConfigParser &, ACLList **, const char *label);
36
38template <class Any>
39inline size_t
40aclParseAclList(ConfigParser &parser, ACLList ** const tree, const Any any)
41{
42 std::ostringstream buf;
43 buf << any;
44 return aclParseAclList(parser, tree, buf.str().c_str());
45}
46
49bool aclIsProxyAuth(const std::optional<SBuf> &name);
50
53err_type FindDenyInfoPage(const Acl::Answer &, bool allowCustomStatus);
54
62void aclCacheMatchFlush(dlink_list * cache);
64void dump_acl_access(StoreEntry * entry, const char *name, acl_access * head);
66void dump_acl_list(StoreEntry * entry, ACLList * head);
67
68namespace Acl {
74const Tree &ToTree(const TreePointer *cfg);
75}
76
77#endif /* SQUID_SRC_ACL_GADGETS_H */
78
bool aclIsProxyAuth(const std::optional< SBuf > &name)
Definition Gadgets.cc:62
void aclParseAccessLine(const char *directive, ConfigParser &, acl_access **)
Parses a single line of a "action followed by acls" directive (e.g., http_access).
Definition Gadgets.cc:132
size_t aclParseAclList(ConfigParser &, ACLList **, const char *label)
Definition Gadgets.cc:184
err_type FindDenyInfoPage(const Acl::Answer &, bool allowCustomStatus)
Definition Gadgets.cc:34
squidaio_request_t * head
Definition aiops.cc:129
deny_info representation. Currently a POD.
err_type
Definition forward.h:14
void aclDestroyAccessList(acl_access **list)
Definition Gadgets.cc:223
wordlist * aclDumpGeneric(const Acl::Node *)
void aclDestroyDenyInfoList(AclDenyInfoList **)
Definition Gadgets.cc:236
void aclCacheMatchFlush(dlink_list *cache)
Definition Acl.cc:425
void dump_acl_list(StoreEntry *entry, ACLList *head)
Definition cache_cf.cc:1491
void aclDestroyAclList(ACLList **)
Definition Gadgets.cc:214
void aclParseDenyInfoLine(AclDenyInfoList **)
Definition Gadgets.cc:88
void dump_acl_access(StoreEntry *entry, const char *name, acl_access *head)
Definition cache_cf.cc:1499
Definition Acl.cc:33
const Tree & ToTree(const TreePointer *cfg)
Definition Gadgets.cc:123
RefCount< Acl::Tree > TreePointer
reconfiguration-safe storage of ACL rules
Definition forward.h:38