#include "squid.h"
#include "acl/Acl.h"
#include "acl/FilledChecklist.h"
#include "cache_cf.h"
#include "client_side.h"
#include "client_side_request.h"
#include "comm/Connection.h"
#include "ConfigParser.h"
#include "ExternalACL.h"
#include "ExternalACLEntry.h"
#include "fde.h"
#include "format/Token.h"
#include "helper.h"
#include "helper/Reply.h"
#include "http/Stream.h"
#include "HttpHeaderTools.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "ip/tools.h"
#include "MemBuf.h"
#include "mgr/Registration.h"
#include "rfc1738.h"
#include "SquidConfig.h"
#include "SquidString.h"
#include "Store.h"
#include "tools.h"
#include "wordlist.h"
#include "ssl/ServerBump.h"
#include "ssl/support.h"
#include "auth/Acl.h"
#include "auth/Gadgets.h"
#include "auth/UserRequest.h"
![](external__acl_8cc__incl.png)
Go to the source code of this file.
Classes | |
class | external_acl |
class | external_acl_data |
class | externalAclState |
Macros | |
#define | DEFAULT_EXTERNAL_ACL_TTL 1 * 60 * 60 |
#define | DEFAULT_EXTERNAL_ACL_CHILDREN 5 |
Macro Definition Documentation
◆ DEFAULT_EXTERNAL_ACL_CHILDREN
#define DEFAULT_EXTERNAL_ACL_CHILDREN 5 |
Definition at line 52 of file external_acl.cc.
◆ DEFAULT_EXTERNAL_ACL_TTL
#define DEFAULT_EXTERNAL_ACL_TTL 1 * 60 * 60 |
Definition at line 49 of file external_acl.cc.
Function Documentation
◆ copyResultsFromEntry()
|
static |
Definition at line 567 of file external_acl.cc.
References HttpRequest::clientConnectionManager, HttpRequest::extacl_log, HttpRequest::extacl_message, HttpRequest::extacl_passwd, HttpRequest::extacl_user, CbcPointer< Cbc >::get(), ExternalACLEntry::log, ExternalACLEntry::message, ExternalACLEntry::notes, ExternalACLEntry::password, String::size(), ExternalACLEntry::tag, HttpRequest::tag, UpdateRequestNotes(), and ExternalACLEntry::user.
Referenced by ACLExternal::aclMatchExternal().
◆ dump_externalAclHelper()
void dump_externalAclHelper | ( | StoreEntry * | sentry, |
const char * | name, | ||
const external_acl * | list | ||
) |
Definition at line 370 of file external_acl.cc.
References DEFAULT_EXTERNAL_ACL_CHILDREN, DEFAULT_EXTERNAL_ACL_TTL, wordlist::key, Format::LOG_QUOTE_SHELL, wordlist::next, node::next, and storeAppendPrintf().
◆ external_acl_cache_add()
|
static |
Definition at line 836 of file external_acl.cc.
References ACCESS_DUNNO, external_acl::add(), external_acl::cache, debugs, ExternalACLEntry::def, external_acl_cache_delete(), external_acl_cache_touch(), hash_lookup(), hash_link::key, external_acl::maybeCacheable(), MYNAME, ExternalACLEntryData::result, ExternalACLEntry::update(), and xstrdup.
Referenced by externalAclHandleReply().
◆ external_acl_cache_delete()
|
static |
Definition at line 874 of file external_acl.cc.
References assert, external_acl::cache, external_acl::cache_entries, external_acl::cache_size, ExternalACLEntry::def, dlinkDelete(), RefCount< C >::getRaw(), hash_remove_link(), ExternalACLEntry::lru, and external_acl::lru_list.
Referenced by external_acl_cache_add(), external_acl::trimCache(), and external_acl::~external_acl().
◆ external_acl_cache_touch()
|
static |
Definition at line 753 of file external_acl.cc.
References dlinkAdd(), dlinkDelete(), RefCount< C >::getRaw(), ExternalACLEntry::lru, external_acl::lru_list, external_acl::maybeCacheable(), and ExternalACLEntry::result.
Referenced by ACLExternal::aclMatchExternal(), and external_acl_cache_add().
◆ external_acl_entry_expired()
|
static |
Definition at line 808 of file external_acl.cc.
References ACCESS_DUNNO, Acl::Answer::allowed(), external_acl::cache_size, ExternalACLEntry::date, external_acl::negative_ttl, ExternalACLEntry::result, squid_curtime, and external_acl::ttl.
Referenced by ACLExternal::aclMatchExternal().
◆ external_acl_grace_expired()
|
static |
Definition at line 820 of file external_acl.cc.
References ACCESS_DUNNO, Acl::Answer::allowed(), external_acl::cache_size, ExternalACLEntry::date, external_acl::grace, external_acl::negative_ttl, ExternalACLEntry::result, squid_curtime, and external_acl::ttl.
Referenced by ACLExternal::aclMatchExternal().
◆ externalAclHandleReply()
|
static |
Definition at line 943 of file external_acl.cc.
References ACCESS_ALLOWED, ACCESS_DENIED, ACCESS_DUNNO, NotePairs::append(), externalAclState::callback, externalAclState::callback_data, cbdataReferenceValid(), cbdataReferenceValidDone, debugs, externalAclState::def, dlinkDelete(), Helper::Error, external_acl_cache_add(), NotePairs::findFirst(), externalAclState::key, externalAclState::list, ExternalACLEntryData::log, ExternalACLEntryData::message, ExternalACLEntryData::notes, Helper::Reply::notes, Helper::Okay, ExternalACLEntryData::password, external_acl::queue, externalAclState::queue, ExternalACLEntryData::result, Helper::Reply::result, ExternalACLEntryData::tag, and ExternalACLEntryData::user.
Referenced by ACLExternal::startLookup().
◆ externalAclInit()
void externalAclInit | ( | void | ) |
Definition at line 1105 of file external_acl.cc.
References Config, SquidConfig::externalAclHelperList, externalAclRegisterWithCacheManager(), hash4, hash_create(), hashPrime(), IPC_TCP_SOCKET, Helper::Client::Make(), and external_acl::next.
Referenced by mainInitialize(), mainReconfigureFinish(), and mainRotate().
◆ externalAclRegisterWithCacheManager()
|
static |
Definition at line 1097 of file external_acl.cc.
References externalAclStats(), and Mgr::RegisterAction().
Referenced by externalAclInit().
◆ externalAclShutdown()
void externalAclShutdown | ( | void | ) |
Definition at line 1129 of file external_acl.cc.
References Config, SquidConfig::externalAclHelperList, helperShutdown(), external_acl::next, and external_acl::theHelper.
Referenced by mainReconfigureStart(), mainRotate(), and SquidShutdown().
◆ externalAclStats()
|
static |
Definition at line 1085 of file external_acl.cc.
References assert, Config, SquidConfig::externalAclHelperList, external_acl::next, and storeAppendPrintf().
Referenced by externalAclRegisterWithCacheManager().
◆ find_externalAclHelper()
|
static |
Definition at line 427 of file external_acl.cc.
References Config, SquidConfig::externalAclHelperList, and node::next.
Referenced by ACLExternal::parse().
◆ free_externalAclHelper()
void free_externalAclHelper | ( | external_acl ** | list | ) |
Definition at line 420 of file external_acl.cc.
◆ parse_externalAclHelper()
void parse_externalAclHelper | ( | external_acl ** | list | ) |
Definition at line 175 of file external_acl.cc.
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