|
Squid Web Cache master
|
#include "squid.h"#include "acl/FilledChecklist.h"#include "acl/Gadgets.h"#include "base/EnumIterator.h"#include "fde.h"#include "globals.h"#include "http/RegisteredHeaders.h"#include "HttpHeader.h"#include "HttpRequest.h"#include "MemBuf.h"#include "sbuf/Stream.h"#include "sbuf/StringConvert.h"#include "SquidConfig.h"#include "Store.h"Go to the source code of this file.
Functions | |
| static void | httpHdrAdd (HttpHeader *heads, HttpRequest *request, const AccessLogEntryPointer &al, HeaderWithAclList &headersAdd) |
| static int | httpHdrMangle (HttpHeaderEntry *e, HttpRequest *request, HeaderManglers *hms, const AccessLogEntryPointer &al) |
| void | httpHdrMangleList (HttpHeader *l, HttpRequest *request, const AccessLogEntryPointer &al, req_or_rep_t req_or_rep) |
| static void | header_mangler_clean (headerMangler &m) |
| static void | header_mangler_dump_access (StoreEntry *entry, const char *option, const headerMangler &m, const char *name) |
| static void | header_mangler_dump_replacement (StoreEntry *entry, const char *option, const headerMangler &m, const char *name) |
|
static |
Definition at line 119 of file HeaderMangling.cc.
References headerMangler::access_list, aclDestroyAccessList(), headerMangler::replacement, and safe_free.
Referenced by HeaderManglers::~HeaderManglers().
|
static |
Definition at line 126 of file HeaderMangling.cc.
References headerMangler::access_list, dump_acl_access(), and storeAppendPrintf().
Referenced by HeaderManglers::dumpAccess().
|
static |
Definition at line 136 of file HeaderMangling.cc.
References headerMangler::replacement, and storeAppendPrintf().
Referenced by HeaderManglers::dumpReplacement().
|
static |
Definition at line 244 of file HeaderMangling.cc.
References HttpHeader::addEntry(), Acl::Answer::allowed(), MemBuf::content(), ACLChecklist::fastCheck(), MemBuf::init(), and ACLFilledChecklist::updateAle().
Referenced by httpHdrMangleList().
|
static |
Checks the anonymizer (header_access) configuration.
| 0 | Header is explicitly blocked for removal |
| 1 | Header is explicitly allowed |
| 1 | Header has been replaced, the current version can be used. |
| 1 | Header has no access controls to test |
Definition at line 37 of file HeaderMangling.cc.
References headerMangler::access_list, Acl::Answer::allowed(), assert, debugs, ACLChecklist::fastCheck(), HeaderManglers::find(), headerMangler::replacement, ACLFilledChecklist::updateAle(), and HttpHeaderEntry::value.
Referenced by httpHdrMangleList().
| void httpHdrMangleList | ( | HttpHeader * | l, |
| HttpRequest * | request, | ||
| const AccessLogEntryPointer & | al, | ||
| req_or_rep_t | req_or_rep | ||
| ) |
Mangles headers for a list of headers.
Definition at line 82 of file HeaderMangling.cc.
References Config, HttpHeader::delAt(), HttpHeader::getEntry(), httpHdrAdd(), httpHdrMangle(), HttpHeaderInitPos, HttpHeader::refreshMask(), SquidConfig::reply_header_access, SquidConfig::reply_header_add, SquidConfig::request_header_access, SquidConfig::request_header_add, ROR_REPLY, and ROR_REQUEST.
Referenced by clientReplyContext::buildReplyHeader(), HttpStateData::httpBuildRequestHeader(), and Http::One::Server::writeControlMsgAndCall().