#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) |
Function Documentation
◆ header_mangler_clean()
|
static |
Definition at line 119 of file HeaderMangling.cc.
References headerMangler::access_list, aclDestroyAccessList(), headerMangler::replacement, and safe_free.
Referenced by HeaderManglers::~HeaderManglers().
◆ header_mangler_dump_access()
|
static |
Definition at line 126 of file HeaderMangling.cc.
References headerMangler::access_list, dump_acl_access(), HappyOrderEnforcer::name, and storeAppendPrintf().
Referenced by HeaderManglers::dumpAccess().
◆ header_mangler_dump_replacement()
|
static |
Definition at line 136 of file HeaderMangling.cc.
References HappyOrderEnforcer::name, headerMangler::replacement, and storeAppendPrintf().
Referenced by HeaderManglers::dumpReplacement().
◆ httpHdrAdd()
|
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().
◆ httpHdrMangle()
|
static |
Checks the anonymizer (header_access) configuration.
- Return values
-
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().
◆ 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().
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