errorpage.cc File Reference
#include "squid.h"
#include "AccessLogEntry.h"
#include "cache_cf.h"
#include "clients/forward.h"
#include "comm/Connection.h"
#include "comm/Write.h"
#include "err_detail_type.h"
#include "errorpage.h"
#include "fde.h"
#include "format/Format.h"
#include "fs_io.h"
#include "html_quote.h"
#include "HttpHeaderTools.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "MemBuf.h"
#include "MemObject.h"
#include "rfc1738.h"
#include "sbuf/Stream.h"
#include "SquidConfig.h"
#include "SquidTime.h"
#include "Store.h"
#include "tools.h"
#include "wordlist.h"
#include "auth/UserRequest.h"
#include "ssl/ErrorDetailManager.h"
Include dependency graph for errorpage.cc:

Go to the source code of this file.

Classes

class  ErrorDynamicPageInfo
 an error page created from admin-configurable metadata (e.g. deny_info) More...
 
class  ErrorPage::Build
 state and parameters shared by several ErrorState::compile*() methods More...
 
class  ErrorPage::BuildErrorPrinter
 pretty-prints error page/deny_info building error More...
 
class  ErrorPageFile
 

Namespaces

 ErrorPage
 

Macros

#define DEFAULT_SQUID_ERROR_DIR   DEFAULT_SQUID_DATA_DIR"/errors"
 
#define CVT_BUF_SZ   512
 

Functions

static std::ostream & ErrorPage::operator<< (std::ostream &os, const BuildErrorPrinter &context)
 
static const char * ErrorPage::IsDenyInfoUri (const int page_id)
 
static void ErrorPage::ImportStaticErrorText (const int page_id, const char *text, const SBuf &inputLocation)
 add error page template to the global index More...
 
static void ErrorPage::ValidateStaticError (const int page_id, const SBuf &inputLocation)
 validate static error page More...
 
static const char * errorFindHardText (err_type type)
 
err_typeoperator++ (err_type &anErr)
 
int operator- (err_type const &anErr, err_type const &anErr2)
 
void errorInitialize (void)
 
void errorClean (void)
 
bool strHdrAcptLangGetItem (const String &hdr, char *lang, int langLen, size_t &pos)
 
static int errorPageId (const char *page_name)
 
err_type errorReservePageId (const char *page_name, const SBuf &cfgLocation)
 allocates a new slot for the error page More...
 
const char * errorPageName (int pageId)
 error ID to string More...
 
void errorAppendEntry (StoreEntry *entry, ErrorState *err)
 
void errorSend (const Comm::ConnectionPointer &conn, ErrorState *err)
 
static void errorSendComplete (const Comm::ConnectionPointer &conn, char *, size_t size, Comm::Flag errflag, int, void *data)
 

Variables

struct {
   int   type
 
   const char *   text
 
error_hard_text []
 
static std::vector< ErrorDynamicPageInfo * > ErrorDynamicPages
 
static const int error_hard_text_count = sizeof(error_hard_text) / sizeof(*error_hard_text)
 
static char ** error_text = NULL
 
static int error_page_count = 0
 
static MemBuf error_stylesheet
 
static IOCB errorSendComplete
 

Macro Definition Documentation

◆ DEFAULT_SQUID_ERROR_DIR

#define DEFAULT_SQUID_ERROR_DIR   DEFAULT_SQUID_DATA_DIR"/errors"

Where to look for errors if config path fails.

Note
Please use ./configure –datadir=/path instead of patching

Definition at line 57 of file errorpage.cc.

Referenced by TemplateFile::tryLoadTemplate().

Function Documentation

◆ errorReservePageId()

err_type errorReservePageId ( const char *  page_name,
const SBuf cfgLocation 
)

Definition at line 640 of file errorpage.cc.

Referenced by AclDenyInfoList::AclDenyInfoList().

◆ strHdrAcptLangGetItem()

bool strHdrAcptLangGetItem ( const String hdr,
char *  lang,
int  langLen,
size_t pos 
)

Parses the Accept-Language header value and return one language item on each call. Will ignore any whitespace, q-values, and detectably invalid language codes in the header.

Parameters
hdris the Accept-Language header value
langa buffer to store parsed language code in
langlenthe length of the lang buffer
posis used to store the offset state of parsing. Must be "0" on first call. Will be altered to point at the start of next field-value.
Returns
true if something looking like a language token has been placed in lang, false otherwise

Definition at line 460 of file errorpage.cc.

References debugs, String::size(), String::substr(), xisspace, and xtolower.

Referenced by Ssl::ErrorDetailsManager::getErrorDetail(), and TemplateFile::loadFor().

Variable Documentation

◆ errorSendComplete

IOCB errorSendComplete
static

Definition at line 203 of file errorpage.cc.

◆ text

◆ type

int type

Definition at line 152 of file errorpage.cc.

Referenced by Auth::UserRequest::AddReplyAuthHeader(), asn_build_header_with_truth(), asn_build_null(), asn_build_objid(), authDigestNoncePurge(), cbdataInternalAddType(), cbdataInternalAlloc(), cbdataInternalInitType(), cbdataInternalReferenceDoneValid(), commSetNonBlocking(), Format::Format::dump(), epolltype_atoi(), Ssl::Bio::fd(), fd_open(), find_fstype(), fqdncacheParse(), Entry::genParseAlias(), HttpHeader::getETag(), HttpHeader::getInt(), HttpHeader::getInt64(), HttpHeader::getLastStr(), getoid(), GetPool(), HttpHeader::getStr(), GetStrPool(), HttpHeader::getTime(), HttpHeader::getTimeOrTag(), store_client::getType(), PeerSelector::handleHtcpParentMiss(), PeerSelector::handleHtcpReply(), PeerSelector::handleIcpReply(), ipcacheParse(), ConfigParser::CfgFile::isOpen(), Security::HandshakeParser::isSslv2Record(), kq_update_events(), MimeIcon::load(), main(), memAllocBuf(), memFindBufSizeType(), memFreeBuf(), mimeInit(), HttpHdrSc::parse(), Format::Token::parse(), HttpHdrCc::parse(), parse(), parse_asntype(), parse_hostdomaintype(), parse_objectid(), parse_objecttype(), ProxyProtocol::Two::ParseTLVs(), HttpHeader::putInt(), HttpHeader::putInt64(), HttpHeader::putStr(), HttpHeader::putTime(), rfc1035SetQueryID(), rfc3596BuildPTRQuery6(), Format::Token::scanForToken(), FwdState::serverConnection(), snmp_msg_Decode(), snmp_var_new_integer(), snmpAggrType(), Ident::Start(), storeReplAdd(), unlinkdInit(), Mgr::QueryParams::unpack(), verifyByCA(), PeerSelector::wantsMoreDestinations(), xprof_start(), xprof_stop(), cbdata::~cbdata(), Icmp::~Icmp(), and Auth::SchemeConfig::~SchemeConfig().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors