#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 "SquidConfig.h"#include "src/sbuf/Stream.h"#include <algorithm>
Go to the source code of this file.
| Functions | |
| err_type | FindDenyInfoPage (const Acl::Answer &answer, const bool redirect_allowed) | 
| bool | aclIsProxyAuth (const std::optional< SBuf > &name) | 
| void | aclParseDenyInfoLine (AclDenyInfoList **head) | 
| void | aclParseAccessLine (const char *directive, ConfigParser &, acl_access **config) | 
| Parses a single line of a "action followed by acls" directive (e.g., http_access).  More... | |
| size_t | aclParseAclList (ConfigParser &, ACLList **config, const char *label) | 
| void | aclDestroyAclList (ACLList **list) | 
| void | aclDestroyAccessList (acl_access **list) | 
| void | aclDestroyDenyInfoList (AclDenyInfoList **list) | 
Function Documentation
◆ aclIsProxyAuth()
| bool aclIsProxyAuth | ( | const std::optional< SBuf > & | name | ) | 
Whether the given name names an Acl::Node object with true isProxyAuth() result. This is a safe variation of Acl::Node::FindByName(*name)->isProxyAuth().
Definition at line 62 of file Gadgets.cc.
References debugs, and Acl::Node::FindByName().
Referenced by ClientRequestContext::clientAccessCheckDone().
◆ aclParseAccessLine()
| void aclParseAccessLine | ( | const char * | directive, | 
| ConfigParser & | , | ||
| acl_access ** | config | ||
| ) | 
Definition at line 132 of file Gadgets.cc.
References ACCESS_ALLOWED, ACCESS_DENIED, ACCESS_DUNNO, assert, cfg_filename, Acl::InnerNode::childrenCount(), config_input_line, config_lineno, Acl::Node::context(), DBG_CRITICAL, debugs, Acl::InnerNode::empty(), Acl::InnerNode::lineParse(), ConfigParser::NextToken(), ToSBuf(), and Acl::ToTree().
Referenced by HttpUpgradeProtocolAccess::configureGuard(), Adaptation::AccessRule::parse(), parse_acl_access(), parse_ftp_epsv(), parse_http_header_access(), parse_peer_access(), DelayConfig::parsePoolAccess(), ClientDelayConfig::parsePoolAccess(), and MessageDelayConfig::parseResponseDelayPoolAccess().
◆ aclParseAclList()
| size_t aclParseAclList | ( | ConfigParser & | , | 
| ACLList ** | , | ||
| 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 184 of file Gadgets.cc.
References Acl::Tree::add(), assert, cfg_directive, config_input_line, Acl::Node::context(), Acl::InnerNode::lineParse(), and ToSBuf().
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().
◆ FindDenyInfoPage()
| err_type FindDenyInfoPage | ( | const Acl::Answer & | , | 
| bool | allowCustomStatus | ||
| ) | 
The first configured deny_info error page ID matching the given access check outcome (or ERR_NONE).
- Parameters
- 
  allowCustomStatus whether to consider deny_info rules containing custom HTTP response status code 
Definition at line 34 of file Gadgets.cc.
References Config, debugs, SquidConfig::denyInfoList, ERR_NONE, Acl::Answer::lastCheckedName, and AclDenyInfoList::next.
Referenced by ClientRequestContext::clientAccessCheckDone(), Client::handleAdaptationBlocked(), clientReplyContext::processReplyAccessResult(), and FwdState::Start().
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products
