#include "squid.h"
#include "acl/AclDenyInfoList.h"
#include "acl/Gadgets.h"
#include "acl/Tree.h"
#include "cache_cf.h"
#include "ConfigParser.h"
#include "errorpage.h"
#include "globals.h"
#include "HttpRequest.h"
#include "src/sbuf/Stream.h"
#include <set>
#include <algorithm>
Go to the source code of this file.
Typedefs | |
typedef std::set< ACL * > | AclSet |
Functions | |
err_type | aclGetDenyInfoPage (AclDenyInfoList **head, const char *name, int redirect_allowed) |
int | aclIsProxyAuth (const char *name) |
void | aclParseDenyInfoLine (AclDenyInfoList **head) |
void | aclParseAccessLine (const char *directive, ConfigParser &, acl_access **treep) |
size_t | aclParseAclList (ConfigParser &, Acl::Tree **treep, const char *label) |
void | aclRegister (ACL *acl) |
static void | aclDeregister (ACL *acl) |
remove registered acl from the centralized deletion set More... | |
void | aclDestroyAcls (ACL **head) |
called to delete ALL Acls. More... | |
void | aclDestroyAclList (ACLList **list) |
void | aclDestroyAccessList (acl_access **list) |
void | aclDestroyDenyInfoList (AclDenyInfoList **list) |
Variables | |
static AclSet * | RegisteredAcls |
Accumulates all ACLs to facilitate their clean deletion despite reuse. More... | |
Typedef Documentation
◆ AclSet
Definition at line 33 of file Gadgets.cc.
Function Documentation
◆ aclDeregister()
|
static |
Definition at line 234 of file Gadgets.cc.
References ACL::registered, and RegisteredAcls.
Referenced by aclDestroyAcls().
◆ aclParseAccessLine()
void aclParseAccessLine | ( | const char * | directive, |
ConfigParser & | , | ||
acl_access ** | treep | ||
) |
Definition at line 135 of file Gadgets.cc.
References ACCESS_ALLOWED, ACCESS_DENIED, ACCESS_DUNNO, action(), Packable::appendf(), assert, cfg_filename, config_input_line, config_lineno, MemBuf::content(), ACL::context(), DBG_CRITICAL, debugs, Acl::InnerNode::empty(), MemBuf::init(), Acl::InnerNode::lineParse(), ConfigParser::NextToken(), and MemBuf::terminate().
Referenced by HttpUpgradeProtocolAccess::configureGuard(), Adaptation::AccessRule::parse(), parse_acl_access(), parse_ftp_epsv(), parse_http_header_access(), parse_peer_access(), ClientDelayConfig::parsePoolAccess(), DelayConfig::parsePoolAccess(), and MessageDelayConfig::parseResponseDelayPoolAccess().
◆ aclParseAclList()
size_t aclParseAclList | ( | ConfigParser & | parser, |
Acl::Tree ** | treep, | ||
const char * | label | ||
) |
Parses a single line of a "some context followed by acls" directive (e.g., note n v). The label parameter identifies the context (for debugging).
- Returns
- the number of parsed ACL names
Definition at line 188 of file Gadgets.cc.
References Acl::Tree::add(), Packable::appendf(), assert, cfg_directive, config_input_line, MemBuf::content(), ACL::context(), MemBuf::init(), Acl::InnerNode::lineParse(), and MemBuf::terminate().
Referenced by aclParseAclList(), ConfigParser::optionalAclList(), Notes::parse(), parse_access_log(), parse_acl_address(), parse_acl_b_size_t(), parse_acl_tos(), parse_HeaderWithAclList(), parse_sslproxy_cert_adapt(), and parse_sslproxy_cert_sign().
Variable Documentation
◆ RegisteredAcls
|
static |
Definition at line 35 of file Gadgets.cc.
Referenced by aclDeregister(), aclDestroyAcls(), and aclRegister().