cache_cf.cc File Reference
#include "squid.h"
#include "acl/Acl.h"
#include "acl/AclDenyInfoList.h"
#include "acl/AclSizeLimit.h"
#include "acl/Address.h"
#include "acl/Gadgets.h"
#include "acl/MethodData.h"
#include "acl/Tree.h"
#include "anyp/PortCfg.h"
#include "anyp/UriScheme.h"
#include "auth/Config.h"
#include "auth/Scheme.h"
#include "AuthReg.h"
#include "base/PackableStream.h"
#include "base/RunnersRegistry.h"
#include "cache_cf.h"
#include "CachePeer.h"
#include "ConfigOption.h"
#include "ConfigParser.h"
#include "CpuAffinityMap.h"
#include "DebugMessages.h"
#include "DiskIO/DiskIOModule.h"
#include "eui/Config.h"
#include "ExternalACL.h"
#include "format/Format.h"
#include "ftp/Elements.h"
#include "globals.h"
#include "HttpHeaderTools.h"
#include "HttpUpgradeProtocolAccess.h"
#include "icmp/IcmpConfig.h"
#include "ident/Config.h"
#include "ip/Intercept.h"
#include "ip/NfMarkConfig.h"
#include "ip/QosConfig.h"
#include "ip/tools.h"
#include "ipc/Kids.h"
#include "log/Config.h"
#include "log/CustomLog.h"
#include "MemBuf.h"
#include "MessageDelayPools.h"
#include "mgr/ActionPasswordList.h"
#include "mgr/Registration.h"
#include "neighbors.h"
#include "NeighborTypeDomainList.h"
#include "Parsing.h"
#include "pconn.h"
#include "PeerDigest.h"
#include "PeerPoolMgr.h"
#include "redirect.h"
#include "RefreshPattern.h"
#include "rfc1738.h"
#include "sbuf/List.h"
#include "sbuf/Stream.h"
#include "SquidConfig.h"
#include "SquidString.h"
#include "ssl/ProxyCerts.h"
#include "Store.h"
#include "store/Disks.h"
#include "tools.h"
#include "util.h"
#include "wordlist.h"
#include "wccp2.h"
#include "adaptation/Config.h"
#include "adaptation/icap/Config.h"
#include "adaptation/ecap/Config.h"
#include "ssl/Config.h"
#include "ssl/support.h"
#include "esi/Parser.h"
#include "snmp.h"
#include <chrono>
#include <limits>
#include <list>
#include "ssl/gadgets.h"
#include "DelayConfig.h"
#include "DelayPools.h"
#include "ClientDelayConfig.h"
#include "cf_parser.cci"
#include "AccessLogEntry.h"

Go to the source code of this file.

Classes

class  sslBumpCfgRr
 

Macros

#define free_http_header_access   free_HeaderManglers
 
#define free_http_header_replace   free_HeaderManglers
 
#define parse_PortCfg(l)   parsePortCfg((l), token)
 
#define free_PortCfg(h)   *(h)=NULL
 
#define free_delay_pool_class(X)
 
#define free_delay_pool_access(X)
 
#define free_delay_pool_rates(X)
 
#define dump_delay_pool_class(X, Y, Z)
 
#define dump_delay_pool_access(X, Y, Z)
 
#define dump_delay_pool_rates(X, Y, Z)
 
#define free_client_delay_pool_access(X)
 
#define free_client_delay_pool_rates(X)
 
#define dump_client_delay_pool_access(X, Y, Z)
 
#define dump_client_delay_pool_rates(X, Y, Z)
 
#define free_onoff   free_int
 
#define free_tristate   free_int
 
#define free_pipelinePrefetch   free_int
 
#define dump_pipelinePrefetch   dump_int
 
#define dump_eol   dump_string
 
#define free_eol   free_string
 
#define dump_TokenOrQuotedString   dump_string
 
#define free_TokenOrQuotedString   free_string
 
#define free_b_size_t   free_size_t
 
#define free_b_ssize_t   free_ssize_t
 
#define free_kb_size_t   free_size_t
 
#define free_mb_size_t   free_size_t
 
#define free_gb_size_t   free_size_t
 
#define free_kb_int64_t   free_b_int64_t
 
#define free_wordlist   wordlistDestroy
 
#define free_uri_whitespace   free_int
 

Functions

static void parse_adaptation_service_set_type ()
 
static void parse_adaptation_service_chain_type ()
 
static void parse_adaptation_access_type ()
 
static void parse_icap_service_type (Adaptation::Icap::Config *)
 
static void dump_icap_service_type (StoreEntry *, const char *, const Adaptation::Icap::Config &)
 
static void free_icap_service_type (Adaptation::Icap::Config *)
 
static void parse_icap_class_type ()
 
static void parse_icap_access_type ()
 
static void parse_icap_service_failure_limit (Adaptation::Icap::Config *)
 
static void dump_icap_service_failure_limit (StoreEntry *, const char *, const Adaptation::Icap::Config &)
 
static void free_icap_service_failure_limit (Adaptation::Icap::Config *)
 
static void parse_ecap_service_type (Adaptation::Ecap::Config *)
 
static void dump_ecap_service_type (StoreEntry *, const char *, const Adaptation::Ecap::Config &)
 
static void free_ecap_service_type (Adaptation::Ecap::Config *)
 
static peer_t parseNeighborType (const char *s)
 
static void parse_cache_log_message (DebugMessages **messages)
 
static void dump_cache_log_message (StoreEntry *entry, const char *name, const DebugMessages *messages)
 
static void free_cache_log_message (DebugMessages **messages)
 
static void parse_access_log (CustomLog **customlog_definitions)
 
static int check_null_access_log (CustomLog *customlog_definitions)
 
static void dump_access_log (StoreEntry *entry, const char *name, CustomLog *definitions)
 
static void free_access_log (CustomLog **definitions)
 
static void configDoConfigure (void)
 
static void parse_refreshpattern (RefreshPattern **)
 
static void parse_u_short (unsigned short *var)
 
static void parse_string (char **)
 
static void default_all (void)
 
static void defaults_if_none (void)
 
static void defaults_postscriptum (void)
 
static int parse_line (char *)
 
static void parse_obsolete (const char *)
 
static void parseBytesLine (size_t *bptr, const char *units)
 
static void parseBytesLineSigned (ssize_t *bptr, const char *units)
 
static size_t parseBytesUnits (const char *unit)
 
static void free_all (void)
 
void requirePathnameExists (const char *name, const char *path)
 
static void free_HeaderManglers (HeaderManglers **pm)
 
static void dump_http_header_access (StoreEntry *entry, const char *name, const HeaderManglers *manglers)
 
static void parse_http_header_access (HeaderManglers **manglers)
 
static void dump_http_header_replace (StoreEntry *entry, const char *name, const HeaderManglers *manglers)
 
static void parse_http_header_replace (HeaderManglers **manglers)
 
static void dump_HeaderWithAclList (StoreEntry *entry, const char *name, HeaderWithAclList *headers)
 
static void parse_HeaderWithAclList (HeaderWithAclList **header)
 
static void free_HeaderWithAclList (HeaderWithAclList **header)
 
static void parse_note (Notes *)
 
static void dump_note (StoreEntry *, const char *, Notes &)
 
static void free_note (Notes *)
 
static void parse_denyinfo (AclDenyInfoList **var)
 
static void dump_denyinfo (StoreEntry *entry, const char *name, AclDenyInfoList *var)
 
static void free_denyinfo (AclDenyInfoList **var)
 
static void parse_IpAddress_list (Ip::Address_list **)
 
static void dump_IpAddress_list (StoreEntry *, const char *, const Ip::Address_list *)
 
static void free_IpAddress_list (Ip::Address_list **)
 
static void parsePortCfg (AnyP::PortCfgPointer *, const char *protocol)
 
static void dump_PortCfg (StoreEntry *, const char *, const AnyP::PortCfgPointer &)
 
static void parse_sslproxy_cert_sign (sslproxy_cert_sign **cert_sign)
 
static void dump_sslproxy_cert_sign (StoreEntry *entry, const char *name, sslproxy_cert_sign *cert_sign)
 
static void free_sslproxy_cert_sign (sslproxy_cert_sign **cert_sign)
 
static void parse_sslproxy_cert_adapt (sslproxy_cert_adapt **cert_adapt)
 
static void dump_sslproxy_cert_adapt (StoreEntry *entry, const char *name, sslproxy_cert_adapt *cert_adapt)
 
static void free_sslproxy_cert_adapt (sslproxy_cert_adapt **cert_adapt)
 
static void parse_sslproxy_ssl_bump (acl_access **ssl_bump)
 
static void dump_sslproxy_ssl_bump (StoreEntry *entry, const char *name, acl_access *ssl_bump)
 
static void free_sslproxy_ssl_bump (acl_access **ssl_bump)
 
static void parse_ftp_epsv (acl_access **ftp_epsv)
 
static void dump_ftp_epsv (StoreEntry *entry, const char *name, acl_access *ftp_epsv)
 
static void free_ftp_epsv (acl_access **ftp_epsv)
 
static void parse_b_size_t (size_t *var)
 
static void parse_b_int64_t (int64_t *var)
 
static void parse_CpuAffinityMap (CpuAffinityMap **const cpuAffinityMap)
 
static void dump_CpuAffinityMap (StoreEntry *const entry, const char *const name, const CpuAffinityMap *const cpuAffinityMap)
 
static void free_CpuAffinityMap (CpuAffinityMap **const cpuAffinityMap)
 
static void parse_UrlHelperTimeout (SquidConfig::UrlHelperTimeout *)
 
static void dump_UrlHelperTimeout (StoreEntry *, const char *, SquidConfig::UrlHelperTimeout &)
 
static void free_UrlHelperTimeout (SquidConfig::UrlHelperTimeout *)
 
static int parseOneConfigFile (const char *file_name, unsigned int depth)
 
static void parse_configuration_includes_quoted_values (bool *recognizeQuotedValues)
 
static void dump_configuration_includes_quoted_values (StoreEntry *const entry, const char *const name, bool recognizeQuotedValues)
 
static void free_configuration_includes_quoted_values (bool *recognizeQuotedValues)
 
static void parse_on_unsupported_protocol (acl_access **access)
 
static void dump_on_unsupported_protocol (StoreEntry *entry, const char *name, acl_access *access)
 
static void free_on_unsupported_protocol (acl_access **access)
 
static void ParseAclWithAction (acl_access **access, const Acl::Answer &action, const char *desc, ACL *acl=nullptr)
 
static void parse_http_upgrade_request_protocols (HttpUpgradeProtocolAccess **protoGuards)
 
static void dump_http_upgrade_request_protocols (StoreEntry *entry, const char *name, HttpUpgradeProtocolAccess *protoGuards)
 
static void free_http_upgrade_request_protocols (HttpUpgradeProtocolAccess **protoGuards)
 
void self_destruct (void)
 
static void SetConfigFilename (char const *file_name, bool is_pipe)
 
static const char * skip_ws (const char *s)
 
static int parseManyConfigFiles (char *files, int depth)
 
static void ReplaceSubstr (char *&str, int &len, unsigned substrIdx, unsigned substrLen, const char *newSubstr)
 
static void SubstituteMacro (char *&line, int &len, const char *macroName, const char *substStr)
 
static void ProcessMacros (char *&line, int &len)
 
static void trim_trailing_ws (char *str)
 
static const char * FindStatement (const char *line, const char *statement)
 
static bool StrToInt (const char *str, long &number)
 
static bool EvalBoolExpr (const char *expr)
 
static int parseConfigFileOrThrow (const char *file_name)
 
int parseConfigFile (const char *file_name)
 
template<typename T >
static bool SawDirective (const T &raw)
 whether we have seen (and, hence, configured) the given directive More...
 
template<typename T >
static void ParseDirective (T &raw, ConfigParser &parser)
 
template<typename T >
static void DumpDirective (const T &raw, StoreEntry *entry, const char *name)
 
template<typename T >
static void FreeDirective (T &raw)
 frees any resources associated with the given raw SquidConfig data member More...
 
template<class MinimalUnit >
static const char * TimeUnitToString ()
 
template<class MinimalUnit >
static bool parseTimeUnit (const char *unitName, std::chrono::nanoseconds &ns)
 
static std::chrono::nanoseconds ToNanoSeconds (const double value, const std::chrono::nanoseconds &unit)
 
template<class TimeUnit >
static TimeUnit FromNanoseconds (const std::chrono::nanoseconds &ns, const double parsedValue)
 
template<class TimeUnit >
static TimeUnit parseTimeLine ()
 
static void parseBytesLine64 (int64_t *bptr, const char *units)
 
void parseBytesOptionValue (size_t *bptr, const char *units, char const *value)
 Parse bytes number from a string. More...
 
static void parse_SBufList (SBufList *list)
 
static void dump_SBufList (StoreEntry *entry, const SBufList &words)
 
static void dump_SBufList (StoreEntry *entry, const char *name, SBufList &list)
 
static void free_SBufList (SBufList *list)
 
static void dump_acl (StoreEntry *entry, const char *name, ACL *ae)
 
static void parse_acl (ACL **ae)
 
static void free_acl (ACL **ae)
 
void dump_acl_list (StoreEntry *entry, ACLList *head)
 
void dump_acl_access (StoreEntry *entry, const char *name, acl_access *head)
 
static void parse_acl_access (acl_access **head)
 
static void free_acl_access (acl_access **head)
 
static void dump_address (StoreEntry *entry, const char *name, Ip::Address &addr)
 
static void parse_address (Ip::Address *addr)
 
static void free_address (Ip::Address *addr)
 
static void dump_acl_address (StoreEntry *entry, const char *name, Acl::Address *head)
 
static void parse_acl_address (Acl::Address **head)
 
static void free_acl_address (Acl::Address **head)
 
static void dump_acl_tos (StoreEntry *entry, const char *name, acl_tos *head)
 
static void parse_acl_tos (acl_tos **head)
 
static void free_acl_tos (acl_tos **head)
 
static void dump_acl_b_size_t (StoreEntry *entry, const char *name, AclSizeLimit *head)
 
static void parse_acl_b_size_t (AclSizeLimit **head)
 
static void free_acl_b_size_t (AclSizeLimit **head)
 
static void free_delay_pool_count (DelayConfig *cfg)
 
static void dump_delay_pool_count (StoreEntry *entry, const char *name, DelayConfig &cfg)
 
static void parse_delay_pool_count (DelayConfig *cfg)
 
static void parse_delay_pool_class (DelayConfig *cfg)
 
static void parse_delay_pool_rates (DelayConfig *cfg)
 
static void parse_delay_pool_access (DelayConfig *cfg)
 
static void free_client_delay_pool_count (ClientDelayConfig *cfg)
 
static void dump_client_delay_pool_count (StoreEntry *entry, const char *name, ClientDelayConfig &cfg)
 
static void parse_client_delay_pool_count (ClientDelayConfig *cfg)
 
static void parse_client_delay_pool_rates (ClientDelayConfig *cfg)
 
static void parse_client_delay_pool_access (ClientDelayConfig *cfg)
 
static void dump_cachedir (StoreEntry *entry, const char *name, const Store::DiskConfig &swap)
 
static int check_null_string (char *s)
 
static void parse_authparam (Auth::ConfigVector *config)
 
static void free_authparam (Auth::ConfigVector *cfg)
 
static void dump_authparam (StoreEntry *entry, const char *name, Auth::ConfigVector cfg)
 
static void parse_AuthSchemes (acl_access **authSchemes)
 
static void free_AuthSchemes (acl_access **authSchemes)
 
static void dump_AuthSchemes (StoreEntry *entry, const char *name, acl_access *authSchemes)
 
static void parse_cachedir (Store::DiskConfig *swap)
 
static const char * peer_type_str (const peer_t type)
 
static void dump_peer (StoreEntry *entry, const char *name, CachePeer *p)
 
static bool isUnsignedNumeric (const char *str, size_t len)
 
static unsigned short GetService (const char *proto)
 
unsigned short GetTcpService (void)
 
unsigned short GetUdpService (void)
 
static void parse_peer (CachePeer **head)
 
static void free_peer (CachePeer **P)
 
static void dump_cachemgrpasswd (StoreEntry *entry, const char *name, Mgr::ActionPasswordList *list)
 
static void parse_cachemgrpasswd (Mgr::ActionPasswordList **head)
 
static void free_cachemgrpasswd (Mgr::ActionPasswordList **head)
 
static void parse_peer_access (void)
 
static void parse_hostdomaintype (void)
 
static void dump_int (StoreEntry *entry, const char *name, int var)
 
void parse_int (int *var)
 
static void free_int (int *var)
 
static void dump_int64_t (StoreEntry *entry, const char *name, int64_t var)
 
static void parse_int64_t (int64_t *var)
 
static void free_int64_t (int64_t *var)
 
static void dump_onoff (StoreEntry *entry, const char *name, int var)
 
void parse_onoff (int *var)
 
static void dump_tristate (StoreEntry *entry, const char *name, int var)
 
static void parse_tristate (int *var)
 
static void parse_pipelinePrefetch (int *var)
 
static void dump_refreshpattern (StoreEntry *entry, const char *name, RefreshPattern *head)
 
static void free_refreshpattern (RefreshPattern **head)
 
static void dump_string (StoreEntry *entry, const char *name, char *var)
 
static void free_string (char **var)
 
void parse_eol (char *volatile *var)
 
static void parse_TokenOrQuotedString (char **var)
 
static void dump_time_t (StoreEntry *entry, const char *name, time_t var)
 
void parse_time_t (time_t *var)
 
static void free_time_t (time_t *var)
 
static void dump_time_msec (StoreEntry *entry, const char *name, time_msec_t var)
 
static void parse_time_msec (time_msec_t *var)
 
static void free_time_msec (time_msec_t *var)
 
static void dump_time_nanoseconds (StoreEntry *entry, const char *name, const std::chrono::nanoseconds &var)
 
static void parse_time_nanoseconds (std::chrono::nanoseconds *var)
 
static void free_time_nanoseconds (std::chrono::nanoseconds *var)
 
static void dump_b_size_t (StoreEntry *entry, const char *name, size_t var)
 
static void dump_b_ssize_t (StoreEntry *entry, const char *name, ssize_t var)
 
static void dump_b_int64_t (StoreEntry *entry, const char *name, int64_t var)
 
static void dump_kb_int64_t (StoreEntry *entry, const char *name, int64_t var)
 
static void parse_b_ssize_t (ssize_t *var)
 
static void parse_kb_int64_t (int64_t *var)
 
static void free_size_t (size_t *var)
 
static void free_ssize_t (ssize_t *var)
 
static void free_b_int64_t (int64_t *var)
 
static void dump_u_short (StoreEntry *entry, const char *name, unsigned short var)
 
static void free_u_short (unsigned short *u)
 
static void dump_wordlist (StoreEntry *entry, const char *name, wordlist *list)
 
void parse_wordlist (wordlist **list)
 
static int check_null_acl_access (acl_access *a)
 
static void parse_uri_whitespace (int *var)
 
static void dump_uri_whitespace (StoreEntry *entry, const char *name, int var)
 
static void free_removalpolicy (RemovalPolicySettings **settings)
 
static void parse_removalpolicy (RemovalPolicySettings **settings)
 
static void dump_removalpolicy (StoreEntry *entry, const char *name, RemovalPolicySettings *settings)
 
void free_YesNoNone (YesNoNone *)
 
static void parse_YesNoNone (YesNoNone *option)
 
static void dump_YesNoNone (StoreEntry *entry, const char *name, YesNoNone &option)
 
static void free_memcachemode (SquidConfig *)
 
static void parse_memcachemode (SquidConfig *)
 
static void dump_memcachemode (StoreEntry *entry, const char *name, SquidConfig &)
 
static void parsePortSpecification (const AnyP::PortCfgPointer &s, char *token)
 
static AnyP::ProtocolVersion parsePortProtocol (const SBuf &value)
 
static void parse_port_option (AnyP::PortCfgPointer &s, char *token)
 
void add_http_port (char *portspec)
 
static void dump_generic_port (StoreEntry *e, const char *n, const AnyP::PortCfgPointer &s)
 
void configFreeMemory (void)
 
 RunnerRegistrationEntry (sslBumpCfgRr)
 
static DebugMessageId ParseDebugMessageId (const char *value, const char eov)
 
static std::chrono::seconds ParseUrlRewriteTimeout ()
 

Variables

static const char *const T_NANOSECOND_STR = "nanosecond"
 
static const char *const T_MICROSECOND_STR = "microsecond"
 
static const char *const T_MILLISECOND_STR = "millisecond"
 
static const char *const T_SECOND_STR = "second"
 
static const char *const T_MINUTE_STR = "minute"
 
static const char *const T_HOUR_STR = "hour"
 
static const char *const T_DAY_STR = "day"
 
static const char *const T_WEEK_STR = "week"
 
static const char *const T_FORTNIGHT_STR = "fortnight"
 
static const char *const T_MONTH_STR = "month"
 
static const char *const T_YEAR_STR = "year"
 
static const char *const T_DECADE_STR = "decade"
 
static const char *const B_BYTES_STR = "bytes"
 
static const char *const B_KBYTES_STR = "KB"
 
static const char *const B_MBYTES_STR = "MB"
 
static const char *const B_GBYTES_STR = "GB"
 
static const double HoursPerYear = 24*365.2522
 
static OBJH dump_config
 
static ConfigParser LegacyParser = ConfigParser()
 
const char * cfg_directive = nullptr
 During parsing, the name of the current squid.conf directive being parsed. More...
 
const char * cfg_filename = nullptr
 
int config_lineno = 0
 
char config_input_line [BUFSIZ] = {}
 
static bool FtpEspvDeprecated = false
 

Macro Definition Documentation

◆ dump_client_delay_pool_access

#define dump_client_delay_pool_access (   X,
  Y,
 
)

Definition at line 1816 of file cache_cf.cc.

◆ dump_client_delay_pool_rates

#define dump_client_delay_pool_rates (   X,
  Y,
 
)

Definition at line 1817 of file cache_cf.cc.

◆ dump_delay_pool_access

#define dump_delay_pool_access (   X,
  Y,
 
)

Definition at line 1767 of file cache_cf.cc.

◆ dump_delay_pool_class

#define dump_delay_pool_class (   X,
  Y,
 
)

Definition at line 1766 of file cache_cf.cc.

◆ dump_delay_pool_rates

#define dump_delay_pool_rates (   X,
  Y,
 
)

Definition at line 1768 of file cache_cf.cc.

◆ dump_eol

#define dump_eol   dump_string

Definition at line 2997 of file cache_cf.cc.

◆ dump_pipelinePrefetch

#define dump_pipelinePrefetch   dump_int

Definition at line 2709 of file cache_cf.cc.

◆ dump_TokenOrQuotedString

#define dump_TokenOrQuotedString   dump_string

Definition at line 3014 of file cache_cf.cc.

◆ free_b_size_t

#define free_b_size_t   free_size_t

Definition at line 3145 of file cache_cf.cc.

◆ free_b_ssize_t

#define free_b_ssize_t   free_ssize_t

Definition at line 3146 of file cache_cf.cc.

◆ free_client_delay_pool_access

#define free_client_delay_pool_access (   X)

Definition at line 1814 of file cache_cf.cc.

◆ free_client_delay_pool_rates

#define free_client_delay_pool_rates (   X)

Definition at line 1815 of file cache_cf.cc.

◆ free_delay_pool_access

#define free_delay_pool_access (   X)

Definition at line 1764 of file cache_cf.cc.

◆ free_delay_pool_class

#define free_delay_pool_class (   X)

Definition at line 1763 of file cache_cf.cc.

◆ free_delay_pool_rates

#define free_delay_pool_rates (   X)

Definition at line 1765 of file cache_cf.cc.

◆ free_eol

#define free_eol   free_string

Definition at line 2998 of file cache_cf.cc.

◆ free_gb_size_t

#define free_gb_size_t   free_size_t

Definition at line 3149 of file cache_cf.cc.

◆ free_http_header_access

#define free_http_header_access   free_HeaderManglers

Definition at line 192 of file cache_cf.cc.

◆ free_http_header_replace

#define free_http_header_replace   free_HeaderManglers

Definition at line 195 of file cache_cf.cc.

◆ free_kb_int64_t

#define free_kb_int64_t   free_b_int64_t

Definition at line 3150 of file cache_cf.cc.

◆ free_kb_size_t

#define free_kb_size_t   free_size_t

Definition at line 3147 of file cache_cf.cc.

◆ free_mb_size_t

#define free_mb_size_t   free_size_t

Definition at line 3148 of file cache_cf.cc.

◆ free_onoff

#define free_onoff   free_int

Definition at line 2639 of file cache_cf.cc.

◆ free_pipelinePrefetch

#define free_pipelinePrefetch   free_int

Definition at line 2708 of file cache_cf.cc.

◆ free_PortCfg

#define free_PortCfg (   h)    *(h)=NULL

Definition at line 219 of file cache_cf.cc.

◆ free_TokenOrQuotedString

#define free_TokenOrQuotedString   free_string

Definition at line 3015 of file cache_cf.cc.

◆ free_tristate

#define free_tristate   free_int

Definition at line 2683 of file cache_cf.cc.

◆ free_uri_whitespace

#define free_uri_whitespace   free_int

Definition at line 3220 of file cache_cf.cc.

◆ free_wordlist

#define free_wordlist   wordlistDestroy

Definition at line 3218 of file cache_cf.cc.

◆ parse_PortCfg

#define parse_PortCfg (   l)    parsePortCfg((l), token)

Definition at line 217 of file cache_cf.cc.

Function Documentation

◆ add_http_port()

void add_http_port ( char *  portspec)

Definition at line 3781 of file cache_cf.cc.

References assert, HttpPortList, NULL, parsePortProtocol(), parsePortSpecification(), and s.

Referenced by mainHandleCommandLineOption().

◆ check_null_access_log()

static int check_null_access_log ( CustomLog customlog_definitions)
static

Definition at line 4091 of file cache_cf.cc.

References NULL.

◆ check_null_acl_access()

static int check_null_acl_access ( acl_access a)
static

Definition at line 3213 of file cache_cf.cc.

References NULL.

◆ check_null_string()

static int check_null_string ( char *  s)
static

Definition at line 1925 of file cache_cf.cc.

References NULL, and s.

◆ configDoConfigure()

static void configDoConfigure ( void  )
static

Definition at line 715 of file cache_cf.cc.

References SquidConfig::Accel, SquidConfig::accesslogs, Auth::SchemeConfig::active(), SquidConfig::Announce, SquidConfig::announce, APP_FULLNAME, SquidConfig::appendDomain, SquidConfig::appendDomainLen, appname_string, SquidConfig2::clear(), SquidConfig::client_pconns, SBuf::cmp(), Config, Config2, SquidConfig::connect_retries, Security::PeerOptions::createClientContext(), DBG_CRITICAL, DBG_IMPORTANT, DBG_PARSE_NOTE, debugs, SquidConfig::directory, SquidConfig::effectiveGroup, SquidConfig2::effectiveGroupID, SquidConfig::effectiveUser, SquidConfig2::effectiveUserID, SquidConfig2::enable_purge, SquidConfig::errHtmlText, SquidConfig::errorDirectory, fatal(), fatalf(), Auth::SchemeConfig::Find(), RefreshPattern::flags, SquidConfig::foreignIntermediateCertsPath, getMyHostname(), SquidConfig::httpd_suppress_version_string, HttpPortList, SquidConfig::icaplogs, SquidConfig::icons, RefreshPattern::ignore_no_store, RefreshPattern::ignore_private, RefreshPattern::ignore_reload, SBuf::isEmpty(), wordlist::key, Ssl::loadSquidUntrusted(), log(), SquidConfig::Log, SquidConfig::max_filedescriptors, SquidConfig::maxObjectSize, SquidConfig::maxRequestBufferSize, SquidConfig::maxRequestHeaderSize, memConfigure(), SquidConfig::mimeTablePathname, Helper::ChildConfig::n_max, RefreshPattern::next, NULL, null_string, SquidConfig::onoff, SquidConfig2::onoff, RefreshPattern::override_expire, RefreshPattern::override_lastmod, SquidConfig::peers, SquidConfig::period, SquidConfig::pipeline_max_prefetch, SquidConfig::Program, Security::ProxyOutgoingConfig, SquidConfig::redirect, SquidConfig::redirectChildren, SquidConfig::Refresh, RefreshPattern::reload_into_ims, requirePathnameExists(), Debug::rotateNumber, SquidConfig::rotateNumber, s, self_destruct(), SQUID_UDP_SO_SNDBUF, SquidConfig::ssl_client, SquidConfig::sslContext, SquidConfig::Store, SquidConfig::store_id, storeConfigure(), SquidConfig::storeIdChildren, SquidConfig::surrogate_id, Auth::TheConfig, Log::TheConfig, ACLMethodData::ThePurgeCount, ThisCache, ThisCache2, SquidConfig::udpMaxHitObjsz, uniqueHostname(), SquidConfig::unlinkd, Ssl::useSquidUntrusted(), SquidConfig::via, visible_appname_string, wordlistDestroy(), xcalloc(), and xstrdup.

Referenced by parseConfigFileOrThrow().

◆ configFreeMemory()

void configFreeMemory ( void  )

◆ default_all()

static void default_all ( void  )
static

Referenced by parseConfigFileOrThrow().

◆ defaults_if_none()

static void defaults_if_none ( void  )
static

Referenced by parseConfigFileOrThrow().

◆ defaults_postscriptum()

static void defaults_postscriptum ( void  )
static

Referenced by parseConfigFileOrThrow().

◆ dump_access_log()

static void dump_access_log ( StoreEntry entry,
const char *  name,
CustomLog definitions 
)
static

Definition at line 4097 of file cache_cf.cc.

References assert, dump_acl_list(), log(), and storeAppendPrintf().

◆ dump_acl()

static void dump_acl ( StoreEntry entry,
const char *  name,
ACL ae 
)
static

◆ dump_acl_address()

static void dump_acl_address ( StoreEntry entry,
const char *  name,
Acl::Address head 
)
static

◆ dump_acl_b_size_t()

static void dump_acl_b_size_t ( StoreEntry entry,
const char *  name,
AclSizeLimit head 
)
static

◆ dump_acl_tos()

static void dump_acl_tos ( StoreEntry entry,
const char *  name,
acl_tos head 
)
static

◆ dump_address()

static void dump_address ( StoreEntry entry,
const char *  name,
Ip::Address addr 
)
static

Definition at line 1540 of file cache_cf.cc.

References MAX_IPSTRLEN, storeAppendPrintf(), and Ip::Address::toStr().

◆ dump_authparam()

static void dump_authparam ( StoreEntry entry,
const char *  name,
Auth::ConfigVector  cfg 
)
static

Definition at line 1984 of file cache_cf.cc.

◆ dump_AuthSchemes()

static void dump_AuthSchemes ( StoreEntry entry,
const char *  name,
acl_access authSchemes 
)
static

Definition at line 2012 of file cache_cf.cc.

References action(), and dump_SBufList().

◆ dump_b_int64_t()

static void dump_b_int64_t ( StoreEntry entry,
const char *  name,
int64_t  var 
)
static

Definition at line 3092 of file cache_cf.cc.

References B_BYTES_STR, PRId64, and storeAppendPrintf().

◆ dump_b_size_t()

static void dump_b_size_t ( StoreEntry entry,
const char *  name,
size_t  var 
)
static

Definition at line 3080 of file cache_cf.cc.

References B_BYTES_STR, and storeAppendPrintf().

◆ dump_b_ssize_t()

static void dump_b_ssize_t ( StoreEntry entry,
const char *  name,
ssize_t  var 
)
static

Definition at line 3086 of file cache_cf.cc.

References B_BYTES_STR, and storeAppendPrintf().

◆ dump_cache_log_message()

static void dump_cache_log_message ( StoreEntry entry,
const char *  name,
const DebugMessages messages 
)
static

Definition at line 4736 of file cache_cf.cc.

References StoreEntry::append(), SBufStream::buf(), and DebugMessages::messages.

◆ dump_cachedir()

static void dump_cachedir ( StoreEntry entry,
const char *  name,
const Store::DiskConfig swap 
)
static

Definition at line 1919 of file cache_cf.cc.

References Store::Disks::Dump().

◆ dump_cachemgrpasswd()

static void dump_cachemgrpasswd ( StoreEntry entry,
const char *  name,
Mgr::ActionPasswordList list 
)
static

◆ dump_client_delay_pool_count()

static void dump_client_delay_pool_count ( StoreEntry entry,
const char *  name,
ClientDelayConfig cfg 
)
static

Definition at line 1826 of file cache_cf.cc.

References ClientDelayConfig::dumpPoolCount().

◆ dump_configuration_includes_quoted_values()

static void dump_configuration_includes_quoted_values ( StoreEntry *const  entry,
const char *const  name,
bool  recognizeQuotedValues 
)
static

Definition at line 4944 of file cache_cf.cc.

References dump_onoff(), and ConfigParser::RecognizeQuotedValues.

◆ dump_CpuAffinityMap()

static void dump_CpuAffinityMap ( StoreEntry *const  entry,
const char *const  name,
const CpuAffinityMap *const  cpuAffinityMap 
)
static

◆ dump_delay_pool_count()

static void dump_delay_pool_count ( StoreEntry entry,
const char *  name,
DelayConfig cfg 
)
static

Definition at line 1777 of file cache_cf.cc.

References DelayConfig::dumpPoolCount().

◆ dump_denyinfo()

static void dump_denyinfo ( StoreEntry entry,
const char *  name,
AclDenyInfoList var 
)
static

◆ dump_ecap_service_type()

static void dump_ecap_service_type ( StoreEntry entry,
const char *  name,
const Adaptation::Ecap::Config cfg 
)
static

Definition at line 4279 of file cache_cf.cc.

References Adaptation::Config::dumpService().

◆ dump_ftp_epsv()

static void dump_ftp_epsv ( StoreEntry entry,
const char *  name,
acl_access ftp_epsv 
)
static

Definition at line 4816 of file cache_cf.cc.

References Acl::AllowOrDeny(), and dump_SBufList().

◆ dump_generic_port()

static void dump_generic_port ( StoreEntry e,
const char *  n,
const AnyP::PortCfgPointer s 
)
static

◆ dump_HeaderWithAclList()

static void dump_HeaderWithAclList ( StoreEntry entry,
const char *  name,
HeaderWithAclList headers 
)
static

Definition at line 4588 of file cache_cf.cc.

References dump_acl_list(), and storeAppendPrintf().

◆ dump_http_header_access()

static void dump_http_header_access ( StoreEntry entry,
const char *  name,
const HeaderManglers manglers 
)
static

Definition at line 1852 of file cache_cf.cc.

References HeaderManglers::dumpAccess().

◆ dump_http_header_replace()

static void dump_http_header_replace ( StoreEntry entry,
const char *  name,
const HeaderManglers manglers 
)
static

Definition at line 1891 of file cache_cf.cc.

References HeaderManglers::dumpReplacement().

◆ dump_http_upgrade_request_protocols()

static void dump_http_upgrade_request_protocols ( StoreEntry entry,
const char *  name,
HttpUpgradeProtocolAccess protoGuards 
)
static

◆ dump_icap_service_failure_limit()

static void dump_icap_service_failure_limit ( StoreEntry entry,
const char *  name,
const Adaptation::Icap::Config cfg 
)
static

◆ dump_icap_service_type()

static void dump_icap_service_type ( StoreEntry entry,
const char *  name,
const Adaptation::Icap::Config cfg 
)
static

Definition at line 4241 of file cache_cf.cc.

References Adaptation::Config::dumpService().

◆ dump_int()

static void dump_int ( StoreEntry entry,
const char *  name,
int  var 
)
static

Definition at line 2569 of file cache_cf.cc.

References storeAppendPrintf().

◆ dump_int64_t()

static void dump_int64_t ( StoreEntry entry,
const char *  name,
int64_t  var 
)
static

Definition at line 2589 of file cache_cf.cc.

References PRId64, and storeAppendPrintf().

◆ dump_IpAddress_list()

static void dump_IpAddress_list ( StoreEntry e,
const char *  n,
const Ip::Address_list s 
)
static

Definition at line 3425 of file cache_cf.cc.

References MAX_IPSTRLEN, s, and storeAppendPrintf().

◆ dump_kb_int64_t()

static void dump_kb_int64_t ( StoreEntry entry,
const char *  name,
int64_t  var 
)
static

Definition at line 3098 of file cache_cf.cc.

References B_KBYTES_STR, PRId64, and storeAppendPrintf().

◆ dump_memcachemode()

static void dump_memcachemode ( StoreEntry entry,
const char *  name,
SquidConfig  
)
static

◆ dump_note()

static void dump_note ( StoreEntry entry,
const char *  name,
Notes notes 
)
static

Definition at line 4659 of file cache_cf.cc.

References Notes::dump().

◆ dump_on_unsupported_protocol()

static void dump_on_unsupported_protocol ( StoreEntry entry,
const char *  name,
acl_access access 
)
static

Definition at line 4982 of file cache_cf.cc.

References action(), and dump_SBufList().

◆ dump_onoff()

static void dump_onoff ( StoreEntry entry,
const char *  name,
int  var 
)
static

Definition at line 2609 of file cache_cf.cc.

References storeAppendPrintf().

Referenced by dump_configuration_includes_quoted_values(), and dump_YesNoNone().

◆ dump_peer()

◆ dump_PortCfg()

static void dump_PortCfg ( StoreEntry e,
const char *  n,
const AnyP::PortCfgPointer s 
)
static

Definition at line 3976 of file cache_cf.cc.

References dump_generic_port(), NULL, s, and storeAppendPrintf().

◆ dump_refreshpattern()

static void dump_refreshpattern ( StoreEntry entry,
const char *  name,
RefreshPattern head 
)
static

Definition at line 2712 of file cache_cf.cc.

References head, squidaio_request_t::next, NULL, null_string, REG_ICASE, and storeAppendPrintf().

◆ dump_removalpolicy()

static void dump_removalpolicy ( StoreEntry entry,
const char *  name,
RemovalPolicySettings settings 
)
static

◆ dump_SBufList() [1/2]

static void dump_SBufList ( StoreEntry entry,
const char *  name,
SBufList list 
)
static

Definition at line 1467 of file cache_cf.cc.

References StoreEntry::append(), and dump_SBufList().

◆ dump_SBufList() [2/2]

◆ dump_sslproxy_cert_adapt()

static void dump_sslproxy_cert_adapt ( StoreEntry entry,
const char *  name,
sslproxy_cert_adapt cert_adapt 
)
static

Definition at line 4378 of file cache_cf.cc.

References dump_acl_list(), NULL, Ssl::sslCertAdaptAlgoritm(), and storeAppendPrintf().

◆ dump_sslproxy_cert_sign()

static void dump_sslproxy_cert_sign ( StoreEntry entry,
const char *  name,
sslproxy_cert_sign cert_sign 
)
static

◆ dump_sslproxy_ssl_bump()

static void dump_sslproxy_ssl_bump ( StoreEntry entry,
const char *  name,
acl_access ssl_bump 
)
static

Definition at line 4573 of file cache_cf.cc.

References action(), and dump_SBufList().

◆ dump_string()

static void dump_string ( StoreEntry entry,
const char *  name,
char *  var 
)
static

Definition at line 2944 of file cache_cf.cc.

References NULL, and storeAppendPrintf().

◆ dump_time_msec()

static void dump_time_msec ( StoreEntry entry,
const char *  name,
time_msec_t  var 
)
static

Definition at line 3040 of file cache_cf.cc.

References PRId64, and storeAppendPrintf().

◆ dump_time_nanoseconds()

static void dump_time_nanoseconds ( StoreEntry entry,
const char *  name,
const std::chrono::nanoseconds &  var 
)
static

Definition at line 3061 of file cache_cf.cc.

References storeAppendPrintf().

◆ dump_time_t()

static void dump_time_t ( StoreEntry entry,
const char *  name,
time_t  var 
)
static

Definition at line 3018 of file cache_cf.cc.

References storeAppendPrintf().

Referenced by dump_UrlHelperTimeout().

◆ dump_tristate()

static void dump_tristate ( StoreEntry entry,
const char *  name,
int  var 
)
static

Definition at line 2642 of file cache_cf.cc.

References storeAppendPrintf().

◆ dump_u_short()

static void dump_u_short ( StoreEntry entry,
const char *  name,
unsigned short  var 
)
static

Definition at line 3153 of file cache_cf.cc.

References storeAppendPrintf().

◆ dump_uri_whitespace()

static void dump_uri_whitespace ( StoreEntry entry,
const char *  name,
int  var 
)
static

◆ dump_UrlHelperTimeout()

◆ dump_wordlist()

static void dump_wordlist ( StoreEntry entry,
const char *  name,
wordlist list 
)
static

Definition at line 3190 of file cache_cf.cc.

References wordlist::key, wordlist::next, NULL, and storeAppendPrintf().

◆ dump_YesNoNone()

static void dump_YesNoNone ( StoreEntry entry,
const char *  name,
YesNoNone option 
)
static

Definition at line 3322 of file cache_cf.cc.

References YesNoNone::configured(), and dump_onoff().

◆ DumpDirective()

template<typename T >
static void DumpDirective ( const T &  raw,
StoreEntry entry,
const char *  name 
)
static

reports raw SquidConfig data member configuration using squid.conf syntax

Parameters
namethe name of the configuration directive being dumped

Definition at line 682 of file cache_cf.cc.

References StoreEntry::append(), BodyPipeCheckout::buf, SBufStream::buf(), Configuration::Component< T >::Print(), and SawDirective().

◆ EvalBoolExpr()

static bool EvalBoolExpr ( const char *  expr)
static

Definition at line 406 of file cache_cf.cc.

References assert, fatalf(), NULL, skip_ws(), StrToInt(), trim_trailing_ws(), xfree, xmalloc, and xstrncpy().

Referenced by parseOneConfigFile().

◆ FindStatement()

static const char* FindStatement ( const char *  line,
const char *  statement 
)
static

Definition at line 376 of file cache_cf.cc.

References assert, NULL, skip_ws(), and xisspace.

Referenced by parseOneConfigFile().

◆ free_access_log()

static void free_access_log ( CustomLog **  definitions)
static

Definition at line 4116 of file cache_cf.cc.

References log().

◆ free_acl()

static void free_acl ( ACL **  ae)
static

Definition at line 1507 of file cache_cf.cc.

References aclDestroyAcls().

◆ free_acl_access()

static void free_acl_access ( acl_access **  head)
static

◆ free_acl_address()

static void free_acl_address ( Acl::Address **  head)
static

Definition at line 1608 of file cache_cf.cc.

References head, and NULL.

◆ free_acl_b_size_t()

static void free_acl_b_size_t ( AclSizeLimit **  head)
static

Definition at line 1750 of file cache_cf.cc.

References head, and NULL.

◆ free_acl_tos()

static void free_acl_tos ( acl_tos **  head)
static

Definition at line 1667 of file cache_cf.cc.

References head, and NULL.

◆ free_address()

static void free_address ( Ip::Address addr)
static

Definition at line 1571 of file cache_cf.cc.

References Ip::Address::setEmpty().

◆ free_all()

static void free_all ( void  )
static

Referenced by configFreeMemory().

◆ free_authparam()

static void free_authparam ( Auth::ConfigVector cfg)
static

Definition at line 1972 of file cache_cf.cc.

References Auth::Init(), and reconfiguring.

◆ free_AuthSchemes()

static void free_AuthSchemes ( acl_access **  authSchemes)
static

Definition at line 2005 of file cache_cf.cc.

References free_acl_access(), Auth::Config::schemeLists, and Auth::TheConfig.

◆ free_b_int64_t()

static void free_b_int64_t ( int64_t *  var)
static

Definition at line 3140 of file cache_cf.cc.

◆ free_cache_log_message()

static void free_cache_log_message ( DebugMessages **  messages)
static

Definition at line 4756 of file cache_cf.cc.

References assert.

◆ free_cachemgrpasswd()

static void free_cachemgrpasswd ( Mgr::ActionPasswordList **  head)
static

Definition at line 2481 of file cache_cf.cc.

References head.

◆ free_client_delay_pool_count()

static void free_client_delay_pool_count ( ClientDelayConfig cfg)
static

Definition at line 1820 of file cache_cf.cc.

References ClientDelayConfig::freePools().

◆ free_configuration_includes_quoted_values()

static void free_configuration_includes_quoted_values ( bool *  recognizeQuotedValues)
static

Definition at line 4951 of file cache_cf.cc.

References ConfigParser::RecognizeQuotedValues, and ConfigParser::StrictMode.

◆ free_CpuAffinityMap()

static void free_CpuAffinityMap ( CpuAffinityMap **const  cpuAffinityMap)
static

Definition at line 4199 of file cache_cf.cc.

References NULL.

◆ free_delay_pool_count()

static void free_delay_pool_count ( DelayConfig cfg)
static

Definition at line 1771 of file cache_cf.cc.

References DelayConfig::freePoolCount().

◆ free_denyinfo()

void free_denyinfo ( AclDenyInfoList **  var)
static

Definition at line 2509 of file cache_cf.cc.

◆ free_ecap_service_type()

static void free_ecap_service_type ( Adaptation::Ecap::Config cfg)
static

Definition at line 4273 of file cache_cf.cc.

References Adaptation::Config::freeService().

◆ free_ftp_epsv()

static void free_ftp_epsv ( acl_access **  ftp_epsv)
static

Definition at line 4822 of file cache_cf.cc.

References free_acl_access(), and FtpEspvDeprecated.

◆ free_HeaderManglers()

static void free_HeaderManglers ( HeaderManglers **  pm)
static

Definition at line 1881 of file cache_cf.cc.

References NULL.

◆ free_HeaderWithAclList()

static void free_HeaderWithAclList ( HeaderWithAclList **  header)
static

Definition at line 4635 of file cache_cf.cc.

References aclDestroyAclList(), and NULL.

◆ free_http_upgrade_request_protocols()

static void free_http_upgrade_request_protocols ( HttpUpgradeProtocolAccess **  protoGuards)
static

Definition at line 5031 of file cache_cf.cc.

References assert.

◆ free_icap_service_failure_limit()

static void free_icap_service_failure_limit ( Adaptation::Icap::Config cfg)
static

◆ free_icap_service_type()

static void free_icap_service_type ( Adaptation::Icap::Config cfg)
static

Definition at line 4235 of file cache_cf.cc.

References Adaptation::Config::freeService().

◆ free_int()

static void free_int ( int var)
static

Definition at line 2583 of file cache_cf.cc.

◆ free_int64_t()

static void free_int64_t ( int64_t *  var)
static

Definition at line 2603 of file cache_cf.cc.

◆ free_IpAddress_list()

static void free_IpAddress_list ( Ip::Address_list **  head)
static

Definition at line 3438 of file cache_cf.cc.

References head, and NULL.

◆ free_memcachemode()

static void free_memcachemode ( SquidConfig )
static

Definition at line 3329 of file cache_cf.cc.

◆ free_note()

static void free_note ( Notes notes)
static

Definition at line 4664 of file cache_cf.cc.

References Notes::clean().

◆ free_on_unsupported_protocol()

static void free_on_unsupported_protocol ( acl_access **  access)
static

Definition at line 4998 of file cache_cf.cc.

References free_acl_access().

◆ free_peer()

static void free_peer ( CachePeer **  P)
static

Definition at line 2421 of file cache_cf.cc.

References Config, SquidConfig::npeers, and NULL.

◆ free_refreshpattern()

static void free_refreshpattern ( RefreshPattern **  head)
static

Definition at line 2932 of file cache_cf.cc.

References head, and refresh_nocache_hack.

◆ free_removalpolicy()

static void free_removalpolicy ( RemovalPolicySettings **  settings)
static

Definition at line 3267 of file cache_cf.cc.

References free_string(), free_wordlist, and NULL.

Referenced by parse_removalpolicy().

◆ free_SBufList()

static void free_SBufList ( SBufList list)
static

Definition at line 1477 of file cache_cf.cc.

◆ free_size_t()

static void free_size_t ( size_t var)
static

Definition at line 3128 of file cache_cf.cc.

◆ free_ssize_t()

static void free_ssize_t ( ssize_t *  var)
static

Definition at line 3134 of file cache_cf.cc.

◆ free_sslproxy_cert_adapt()

static void free_sslproxy_cert_adapt ( sslproxy_cert_adapt **  cert_adapt)
static

◆ free_sslproxy_cert_sign()

static void free_sslproxy_cert_sign ( sslproxy_cert_sign **  cert_sign)
static

◆ free_sslproxy_ssl_bump()

static void free_sslproxy_ssl_bump ( acl_access **  ssl_bump)
static

Definition at line 4581 of file cache_cf.cc.

References free_acl_access().

◆ free_string()

static void free_string ( char **  var)
static

Definition at line 2965 of file cache_cf.cc.

References safe_free.

Referenced by free_removalpolicy().

◆ free_time_msec()

static void free_time_msec ( time_msec_t var)
static

Definition at line 3055 of file cache_cf.cc.

◆ free_time_nanoseconds()

static void free_time_nanoseconds ( std::chrono::nanoseconds *  var)
static

Definition at line 3074 of file cache_cf.cc.

◆ free_time_t()

static void free_time_t ( time_t *  var)
static

Definition at line 3034 of file cache_cf.cc.

◆ free_u_short()

static void free_u_short ( unsigned short *  u)
static

Definition at line 3159 of file cache_cf.cc.

◆ free_UrlHelperTimeout()

◆ free_YesNoNone()

void free_YesNoNone ( YesNoNone )
inline

Definition at line 3310 of file cache_cf.cc.

◆ FreeDirective()

template<typename T >
static void FreeDirective ( T &  raw)
static

Definition at line 701 of file cache_cf.cc.

References Configuration::Component< T >::Free().

◆ FromNanoseconds()

template<class TimeUnit >
static TimeUnit FromNanoseconds ( const std::chrono::nanoseconds &  ns,
const double  parsedValue 
)
static

Definition at line 1200 of file cache_cf.cc.

References TexcHere, and ToSBuf().

◆ GetService()

static unsigned short GetService ( const char *  proto)
static
Parameters
proto'tcp' or 'udp' for protocol
Returns
Port the named service is supposed to be listening on.

Parses a port number or service name from the squid.conf

Returns either the service port number from /etc/services

Or a numeric translation of the config text.

Definition at line 2129 of file cache_cf.cc.

References getservbyname(), isUnsignedNumeric(), ConfigParser::NextToken(), NULL, port, self_destruct(), and xatos().

Referenced by GetTcpService(), and GetUdpService().

◆ GetTcpService()

unsigned short GetTcpService ( void  )
inline
Returns
Port the named TCP service is supposed to be listening on.
Parameters
proto'tcp' or 'udp' for protocol
Returns
Port the named service is supposed to be listening on.

Definition at line 2153 of file cache_cf.cc.

References GetService().

Referenced by parse_peer().

◆ GetUdpService()

unsigned short GetUdpService ( void  )
inline
Returns
Port the named UDP service is supposed to be listening on.
Parameters
proto'tcp' or 'udp' for protocol
Returns
Port the named service is supposed to be listening on.

Definition at line 2163 of file cache_cf.cc.

References GetService().

Referenced by parse_peer().

◆ isUnsignedNumeric()

static bool isUnsignedNumeric ( const char *  str,
size_t  len 
)
static

utility function to prevent getservbyname() being called with a numeric value on Windows at least it returns garage results.

Definition at line 2113 of file cache_cf.cc.

Referenced by GetService().

◆ parse_access_log()

static void parse_access_log ( CustomLog **  logs)
static

We support several access_log configuration styles:

#1: Deprecated ancient style without an explicit logging module: access_log /var/log/access.log

#2: The "none" logging module (i.e., no logging [of matching transactions]): access_log none [acl ...]

#3: Configurable logging module without named options: Logformat or the first ACL name, whichever comes first, may not contain '='. If no explicit logformat name is given, the first ACL name, if any, should not be an existing logformat name or it will be treated as such. access_log module:place [logformat_name] [acl ...]

#4: Configurable logging module with name=value options such as logformat=x: The first ACL name may not contain '='. Without any optional parts, directives using this style are indistinguishable from directives using style #1 until we start requiring the "module:" prefix. access_log module:place [option ...] [acl ...]

Definition at line 4044 of file cache_cf.cc.

References aclParseAclList(), assert, Log::Format::CLF_NONE, LegacyParser, CustomLog::next, ConfigParser::NextToken(), ConfigParser::PeekAtToken(), self_destruct(), Log::TheConfig, and xstrdup.

◆ parse_acl()

static void parse_acl ( ACL **  ae)
static

Definition at line 1501 of file cache_cf.cc.

References LegacyParser, and ACL::ParseAclLine().

◆ parse_acl_access()

static void parse_acl_access ( acl_access **  head)
static

Definition at line 1528 of file cache_cf.cc.

References aclParseAccessLine(), cfg_directive, head, and LegacyParser.

◆ parse_acl_address()

static void parse_acl_address ( Acl::Address **  head)
static

◆ parse_acl_b_size_t()

static void parse_acl_b_size_t ( AclSizeLimit **  head)
static

◆ parse_acl_tos()

◆ parse_adaptation_access_type()

static void parse_adaptation_access_type ( )
static

Definition at line 4220 of file cache_cf.cc.

References LegacyParser, and Adaptation::Config::ParseAccess().

◆ parse_adaptation_service_chain_type()

static void parse_adaptation_service_chain_type ( )
static

Definition at line 4214 of file cache_cf.cc.

References Adaptation::Config::ParseServiceChain().

◆ parse_adaptation_service_set_type()

static void parse_adaptation_service_set_type ( )
static

Definition at line 4208 of file cache_cf.cc.

References Adaptation::Config::ParseServiceSet().

◆ parse_address()

static void parse_address ( Ip::Address addr)
static

◆ parse_authparam()

static void parse_authparam ( Auth::ConfigVector config)
static

◆ parse_AuthSchemes()

◆ parse_b_int64_t()

static void parse_b_int64_t ( int64_t *  var)
static

Definition at line 3116 of file cache_cf.cc.

References B_BYTES_STR, and parseBytesLine64().

Referenced by parse_acl_b_size_t().

◆ parse_b_size_t()

static void parse_b_size_t ( size_t var)
static

Definition at line 3104 of file cache_cf.cc.

References B_BYTES_STR, and parseBytesLine().

◆ parse_b_ssize_t()

static void parse_b_ssize_t ( ssize_t *  var)
static

Definition at line 3110 of file cache_cf.cc.

References B_BYTES_STR, and parseBytesLineSigned().

◆ parse_cache_log_message()

◆ parse_cachedir()

static void parse_cachedir ( Store::DiskConfig swap)
static

Definition at line 2043 of file cache_cf.cc.

References assert, and Store::Disks::Parse().

◆ parse_cachemgrpasswd()

◆ parse_client_delay_pool_access()

static void parse_client_delay_pool_access ( ClientDelayConfig cfg)
static

Definition at line 1844 of file cache_cf.cc.

References LegacyParser, and ClientDelayConfig::parsePoolAccess().

◆ parse_client_delay_pool_count()

static void parse_client_delay_pool_count ( ClientDelayConfig cfg)
static

Definition at line 1832 of file cache_cf.cc.

References ClientDelayConfig::parsePoolCount().

◆ parse_client_delay_pool_rates()

static void parse_client_delay_pool_rates ( ClientDelayConfig cfg)
static

Definition at line 1838 of file cache_cf.cc.

References ClientDelayConfig::parsePoolRates().

◆ parse_configuration_includes_quoted_values()

static void parse_configuration_includes_quoted_values ( bool *  recognizeQuotedValues)
static

◆ parse_CpuAffinityMap()

static void parse_CpuAffinityMap ( CpuAffinityMap **const  cpuAffinityMap)
static

Definition at line 4149 of file cache_cf.cc.

References DBG_CRITICAL, debugs, ConfigParser::NextToken(), and self_destruct().

◆ parse_delay_pool_access()

static void parse_delay_pool_access ( DelayConfig cfg)
static

Definition at line 1801 of file cache_cf.cc.

References LegacyParser, and DelayConfig::parsePoolAccess().

◆ parse_delay_pool_class()

static void parse_delay_pool_class ( DelayConfig cfg)
static

Definition at line 1789 of file cache_cf.cc.

References DelayConfig::parsePoolClass().

◆ parse_delay_pool_count()

static void parse_delay_pool_count ( DelayConfig cfg)
static

Definition at line 1783 of file cache_cf.cc.

References DelayConfig::parsePoolCount().

◆ parse_delay_pool_rates()

static void parse_delay_pool_rates ( DelayConfig cfg)
static

Definition at line 1795 of file cache_cf.cc.

References DelayConfig::parsePoolRates().

◆ parse_denyinfo()

static void parse_denyinfo ( AclDenyInfoList **  var)
static

Definition at line 2503 of file cache_cf.cc.

References aclParseDenyInfoLine().

◆ parse_ecap_service_type()

static void parse_ecap_service_type ( Adaptation::Ecap::Config cfg)
static

Definition at line 4267 of file cache_cf.cc.

References Adaptation::Config::parseService().

◆ parse_eol()

void parse_eol ( char *volatile *  var)

◆ parse_ftp_epsv()

◆ parse_HeaderWithAclList()

◆ parse_hostdomaintype()

static void parse_hostdomaintype ( void  )
static

◆ parse_http_header_access()

◆ parse_http_header_replace()

static void parse_http_header_replace ( HeaderManglers **  manglers)
static

◆ parse_http_upgrade_request_protocols()

static void parse_http_upgrade_request_protocols ( HttpUpgradeProtocolAccess **  protoGuards)
static

Definition at line 5004 of file cache_cf.cc.

References assert, and LegacyParser.

◆ parse_icap_access_type()

static void parse_icap_access_type ( )
static

Definition at line 4255 of file cache_cf.cc.

References DBG_CRITICAL, debugs, LegacyParser, and Adaptation::Config::ParseAccess().

◆ parse_icap_class_type()

static void parse_icap_class_type ( )
static

Definition at line 4247 of file cache_cf.cc.

References DBG_CRITICAL, debugs, and Adaptation::Config::ParseServiceSet().

◆ parse_icap_service_failure_limit()

◆ parse_icap_service_type()

static void parse_icap_service_type ( Adaptation::Icap::Config cfg)
static

Definition at line 4229 of file cache_cf.cc.

References Adaptation::Config::parseService().

◆ parse_int()

void parse_int ( int var)

Definition at line 2575 of file cache_cf.cc.

References GetInteger().

Referenced by parse_obsolete(), and parse_pipelinePrefetch().

◆ parse_int64_t()

static void parse_int64_t ( int64_t *  var)
static

Definition at line 2595 of file cache_cf.cc.

References GetInteger64().

◆ parse_IpAddress_list()

static void parse_IpAddress_list ( Ip::Address_list **  head)
static

◆ parse_kb_int64_t()

static void parse_kb_int64_t ( int64_t *  var)
static

Definition at line 3122 of file cache_cf.cc.

References B_KBYTES_STR, and parseBytesLine64().

◆ parse_line()

static int parse_line ( char *  )
static

◆ parse_memcachemode()

◆ parse_note()

static void parse_note ( Notes notes)
static

Definition at line 4653 of file cache_cf.cc.

References assert, LegacyParser, and Notes::parse().

◆ parse_obsolete()

void parse_obsolete ( const char *  name)
static

Parse a line containing an obsolete directive. To upgrade it where possible instead of just "Bungled config" for directives which cannot be marked as simply aliases of the some name. For example if the parameter order and content has changed. Or if the directive has been completely removed.

Definition at line 1060 of file cache_cf.cc.

References SBuf::append(), SBuf::c_str(), SquidConfig::cache_miss_revalidate, Helper::ChildConfig::concurrency, Config, DBG_CRITICAL, debugs, ConfigParser::NextQuotedOrToEol(), SquidConfig::onoff, Security::PeerOptions::parse(), parse_int(), parse_onoff(), Security::ProxyOutgoingConfig, SquidConfig::redirectChildren, and self_destruct().

◆ parse_on_unsupported_protocol()

static void parse_on_unsupported_protocol ( acl_access **  access)
static

◆ parse_onoff()

◆ parse_peer()

static void parse_peer ( CachePeer **  head)
static

Definition at line 2169 of file cache_cf.cc.

References CachePeer::allow_miss, CachePeer::auth_no_keytab, CachePeer::background_ping, CachePeer::basetime, CachePeer::carp, CachePeer::carp_key, CachePeer::closest_only, Config, CachePeer::connect_fail_limit, CachePeer::connect_timeout_raw, CachePeer::connection_auth, DBG_CRITICAL, DBG_IMPORTANT, DBG_PARSE_NOTE, debugs, CachePeer::default_parent, CachePeer::digest_url, CachePeer::domain, Security::PeerOptions::encryptTransport, fatalf(), CachePeer::front_end_https, GetTcpService(), GetUdpService(), head, CachePeer::host, CachePeer::htcp, CachePeer::htcp_forward_clr, CachePeer::htcp_no_clr, CachePeer::htcp_no_purge_clr, CachePeer::htcp_oldsquid, CachePeer::htcp_only_clr, CachePeer::http_port, CachePeer::icp, CachePeer::index, CachePeer::limit, CachePeer::login, CachePeer::max_conn, CachePeer::mcast, CachePeer::mcast_responder, CachePeer::mcast_siblings, CachePeer::name, squidaio_request_t::next, ConfigParser::NextToken(), CachePeer::no_delay, CachePeer::no_digest, CachePeer::no_netdb_exchange, CachePeer::no_query, CachePeer::no_tproxy, SquidConfig::npeers, NULL, CachePeer::options, CachePeer::originserver, Security::PeerOptions::parse(), parseNeighborType(), Security::PeerOptions::parseOptions(), PEER_MULTICAST, PEER_PARENT, peerClearRRStart(), peerDigestCreate(), peerFindByName(), CachePeer::icp_::port, CachePeer::proxy_only, rfc1738_unescape(), CachePeer::roundrobin, safe_free, CachePeer::secure, self_destruct(), CachePeer::sourcehash, CachePeer::standby, Tolower(), CachePeer::ttl, CachePeer::type, CachePeer::userhash, CachePeer::weight, CachePeer::weighted_roundrobin, xatoi(), and xstrdup.

◆ parse_peer_access()

static void parse_peer_access ( void  )
static

◆ parse_pipelinePrefetch()

static void parse_pipelinePrefetch ( int var)
static

◆ parse_port_option()

◆ parse_refreshpattern()

◆ parse_removalpolicy()

static void parse_removalpolicy ( RemovalPolicySettings **  settings)
static

Definition at line 3282 of file cache_cf.cc.

References free_removalpolicy(), parse_string(), and parse_wordlist().

◆ parse_SBufList()

static void parse_SBufList ( SBufList list)
static

Definition at line 1448 of file cache_cf.cc.

References ConfigParser::NextQuotedToken().

◆ parse_sslproxy_cert_adapt()

◆ parse_sslproxy_cert_sign()

◆ parse_sslproxy_ssl_bump()

◆ parse_string()

static void parse_string ( char **  var)
static

Definition at line 2951 of file cache_cf.cc.

References ConfigParser::NextToken(), safe_free, self_destruct(), and xstrdup.

Referenced by parse_cachemgrpasswd(), and parse_removalpolicy().

◆ parse_time_msec()

static void parse_time_msec ( time_msec_t var)
static

Definition at line 3049 of file cache_cf.cc.

◆ parse_time_nanoseconds()

static void parse_time_nanoseconds ( std::chrono::nanoseconds *  var)
static

Definition at line 3068 of file cache_cf.cc.

◆ parse_time_t()

void parse_time_t ( time_t *  var)

Definition at line 3024 of file cache_cf.cc.

References max(), TexcHere, and ToSBuf().

Referenced by parse_icap_service_failure_limit().

◆ parse_TokenOrQuotedString()

static void parse_TokenOrQuotedString ( char **  var)
static

Definition at line 3001 of file cache_cf.cc.

References ConfigParser::NextQuotedToken(), safe_free, self_destruct(), and xstrdup.

◆ parse_tristate()

static void parse_tristate ( int var)
static

◆ parse_u_short()

static void parse_u_short ( unsigned short *  var)
static

Definition at line 3165 of file cache_cf.cc.

References ConfigParser::ParseUShort().

◆ parse_uri_whitespace()

◆ parse_UrlHelperTimeout()

◆ parse_wordlist()

◆ parse_YesNoNone()

static void parse_YesNoNone ( YesNoNone option)
static

Definition at line 3314 of file cache_cf.cc.

References YesNoNone::configure(), and parse_onoff().

◆ ParseAclWithAction()

static void ParseAclWithAction ( acl_access **  access,
const Acl::Answer action,
const char *  desc,
ACL acl = nullptr 
)
static

◆ parseBytesLine()

static void parseBytesLine ( size_t bptr,
const char *  units 
)
static

◆ parseBytesLine64()

static void parseBytesLine64 ( int64_t *  bptr,
const char *  units 
)
static

◆ parseBytesLineSigned()

static void parseBytesLineSigned ( ssize_t *  bptr,
const char *  units 
)
static

◆ parseBytesOptionValue()

void parseBytesOptionValue ( size_t bptr,
const char *  units,
char const *  value 
)

Parse bytes from a string. Similar to the parseBytesLine function but parses the string value instead of the current token value.

Definition at line 1396 of file cache_cf.cc.

References parseBytesUnits(), self_destruct(), and xatoi().

Referenced by Security::ServerOptions::parse(), and FormattedLog::parseOptions().

◆ parseBytesUnits()

static size_t parseBytesUnits ( const char *  unit)
static

◆ parseConfigFile()

int parseConfigFile ( const char *  file_name)

Definition at line 633 of file cache_cf.cc.

References DBG_CRITICAL, debugs, parseConfigFileOrThrow(), and self_destruct().

Referenced by mainReconfigureFinish(), and SquidMain().

◆ parseConfigFileOrThrow()

◆ ParseDebugMessageId()

static DebugMessageId ParseDebugMessageId ( const char *  value,
const char  eov 
)
static

Definition at line 4669 of file cache_cf.cc.

References DebugMessageIdUpperBound, Here, ToSBuf(), and xatoui().

Referenced by parse_cache_log_message().

◆ ParseDirective()

template<typename T >
static void ParseDirective ( T &  raw,
ConfigParser parser 
)
static

Sets the given raw SquidConfig data member. Extracts and interprets parser's configuration tokens.

Definition at line 666 of file cache_cf.cc.

References ConfigParser::closeDirective(), Must, Configuration::Component< T >::Parse(), ConfigParser::rejectDuplicateDirective(), and SawDirective().

◆ parseManyConfigFiles()

static int parseManyConfigFiles ( char *  files,
int  depth 
)
static

Definition at line 299 of file cache_cf.cc.

References fatalf(), int, NULL, parseOneConfigFile(), strwordtok(), and xstrerr().

Referenced by parseOneConfigFile().

◆ parseNeighborType()

peer_t parseNeighborType ( const char *  s)
static

Definition at line 3377 of file cache_cf.cc.

References DBG_CRITICAL, debugs, PEER_MULTICAST, PEER_PARENT, PEER_SIBLING, and s.

Referenced by parse_hostdomaintype(), and parse_peer().

◆ parseOneConfigFile()

◆ parsePortCfg()

◆ parsePortProtocol()

static AnyP::ProtocolVersion parsePortProtocol ( const SBuf value)
static

parses the protocol= option of the *_port directive, returning parsed value unsupported option values result in a fatal error message upper case values required; caller may convert for backward compatibility

Definition at line 3543 of file cache_cf.cc.

References cfg_directive, SBuf::cmp(), fatalf(), AnyP::PROTO_HTTPS, Ftp::ProtocolVersion(), Http::ProtocolVersion(), SQUIDSBUFPH, and SQUIDSBUFPRINT.

Referenced by add_http_port(), parse_port_option(), and parsePortCfg().

◆ parsePortSpecification()

static void parsePortSpecification ( const AnyP::PortCfgPointer s,
char *  token 
)
static

◆ parseTimeLine()

template<class TimeUnit >
static TimeUnit parseTimeLine ( )
static

Parses a time specification from the config file and returns the time as a chrono duration object of 'TimeUnit' type.

Definition at line 1215 of file cache_cf.cc.

References ConfigParser::CurrentLocation(), DBG_IMPORTANT, DBG_PARSE_NOTE, debugs, ConfigParser::NextToken(), ConfigParser::PeekAtToken(), TexcHere, ToNanoSeconds(), ToSBuf(), and xatof().

◆ parseTimeUnit()

template<class MinimalUnit >
static bool parseTimeUnit ( const char *  unitName,
std::chrono::nanoseconds &  ns 
)
static

Assigns 'ns' the number of nanoseconds corresponding to 'unitName'.

Parameters
MinimalUnitis a chrono duration type specifying the minimal allowed time unit.
Returns
true if unitName is correct and its time unit is not less than MinimalUnit.

Definition at line 1144 of file cache_cf.cc.

References HoursPerYear, T_DAY_STR, T_DECADE_STR, T_FORTNIGHT_STR, T_HOUR_STR, T_MICROSECOND_STR, T_MILLISECOND_STR, T_MINUTE_STR, T_MONTH_STR, T_NANOSECOND_STR, T_SECOND_STR, T_WEEK_STR, T_YEAR_STR, TexcHere, and ToSBuf().

◆ ParseUrlRewriteTimeout()

static std::chrono::seconds ParseUrlRewriteTimeout ( )
static

Like parseTimeLine() but does not require the timeunit to be specified. If missed, the default 'second' timeunit is assumed.

Definition at line 4831 of file cache_cf.cc.

References assert, ConfigParser::CurrentLocation(), DBG_IMPORTANT, DBG_PARSE_NOTE, debugs, ConfigParser::NextToken(), ConfigParser::PeekAtToken(), T_SECOND_STR, TexcHere, ToNanoSeconds(), and xatof().

Referenced by parse_UrlHelperTimeout().

◆ peer_type_str()

static const char* peer_type_str ( const peer_t  type)
static

Definition at line 2050 of file cache_cf.cc.

References PEER_MULTICAST, PEER_PARENT, PEER_SIBLING, and type.

Referenced by dump_peer().

◆ ProcessMacros()

static void ProcessMacros ( char *&  line,
int len 
)
static

Definition at line 358 of file cache_cf.cc.

References SBuf::c_str(), KidIdentifier, service_name, SubstituteMacro(), TheKidName, and xitoa().

Referenced by parseOneConfigFile().

◆ ReplaceSubstr()

static void ReplaceSubstr ( char *&  str,
int len,
unsigned  substrIdx,
unsigned  substrLen,
const char *  newSubstr 
)
static

Definition at line 329 of file cache_cf.cc.

References assert, and NULL.

Referenced by SubstituteMacro().

◆ requirePathnameExists()

void requirePathnameExists ( const char *  name,
const char *  path 
)

◆ RunnerRegistrationEntry()

RunnerRegistrationEntry ( sslBumpCfgRr  )

◆ SawDirective()

template<typename T >
static bool SawDirective ( const T &  raw)
static

Definition at line 657 of file cache_cf.cc.

Referenced by DumpDirective(), and ParseDirective().

◆ self_destruct()

void self_destruct ( void  )

Definition at line 275 of file cache_cf.cc.

References ConfigParser::destruct(), and LegacyParser.

Referenced by ErrorDynamicPageInfo::ErrorDynamicPageInfo(), aclDomainCompare(), configDoConfigure(), dump_wccp2_amethod(), dump_wccp2_method(), acl_ip_data::FactoryParse(), GetInteger(), GetInteger64(), GetPercentage(), GetService(), GetShort(), Acl::InnerNode::lineParse(), mainReconfigureFinish(), Acl::Make(), ConfigParser::NextToken(), Fs::Ufs::UFSSwapDir::optionIOParse(), Store::Disk::optionObjectSizeParse(), ACLAdaptationServiceData::parse(), ACLAnnotationData::parse(), ACLCertificateData::parse(), ACLIntRange::parse(), ACLSquidErrorData::parse(), ACLTimeData::parse(), DelaySpec::parse(), ACLExternal::parse(), IcmpConfig::parse(), ACLHasComponentData::parse(), Security::ServerOptions::parse(), Auth::SchemeConfig::parse(), parse_access_log(), parse_acl_tos(), parse_address(), parse_authparam(), parse_AuthSchemes(), parse_CpuAffinityMap(), parse_eol(), parse_externalAclHelper(), parse_ftp_epsv(), parse_HeaderWithAclList(), parse_hostdomaintype(), parse_icap_service_failure_limit(), parse_IpAddress_list(), parse_memcachemode(), parse_obsolete(), parse_on_unsupported_protocol(), parse_onoff(), parse_peer(), parse_peer_access(), parse_pipelinePrefetch(), parse_port_option(), parse_refreshpattern(), parse_sslproxy_cert_adapt(), parse_sslproxy_cert_sign(), parse_sslproxy_ssl_bump(), parse_string(), parse_TokenOrQuotedString(), parse_tristate(), parse_uri_whitespace(), parse_UrlHelperTimeout(), parse_wccp2_amethod(), parse_wccp2_method(), parse_wccp2_service(), parse_wccp2_service_info(), ConfigParser::ParseBool(), parseBytesLine(), parseBytesLine64(), parseBytesLineSigned(), parseBytesOptionValue(), ACLHasComponentData::parseComponent(), Helper::ChildConfig::parseConfig(), parseConfigFile(), Ip::Qos::Config::parseConfigLine(), Format::FmtConfig::parseFormats(), Log::LogConfig::parseFormats(), XactionInitiator::ParseInitiators(), parseOneConfigFile(), Store::Disk::parseOptions(), parsePortCfg(), parsePortSpecification(), Rock::SwapDir::parseRateOption(), MessageDelayConfig::parseResponseDelayPool(), Rock::SwapDir::parseSizeOption(), Rock::SwapDir::parseTimeOption(), ConfigParser::RegexPattern(), ConfigParser::RegexStrtokFile(), ConfigParser::TokenParse(), ConfigParser::UnQuote(), xatof(), xatoi(), xatol(), xatoll(), and xatos().

◆ SetConfigFilename()

static void SetConfigFilename ( char const *  file_name,
bool  is_pipe 
)
static

Definition at line 281 of file cache_cf.cc.

References cfg_filename.

Referenced by parseOneConfigFile().

◆ skip_ws()

static const char* skip_ws ( const char *  s)
static

Definition at line 290 of file cache_cf.cc.

References s, and xisspace.

Referenced by EvalBoolExpr(), FindStatement(), and parseOneConfigFile().

◆ StrToInt()

static bool StrToInt ( const char *  str,
long &  number 
)
static

Definition at line 395 of file cache_cf.cc.

References assert, and NULL.

Referenced by EvalBoolExpr().

◆ SubstituteMacro()

static void SubstituteMacro ( char *&  line,
int len,
const char *  macroName,
const char *  substStr 
)
static

Definition at line 347 of file cache_cf.cc.

References assert, NULL, and ReplaceSubstr().

Referenced by ProcessMacros().

◆ TimeUnitToString()

template<class MinimalUnit >
static const char* TimeUnitToString ( )
static

Definition at line 1122 of file cache_cf.cc.

References assert, T_MICROSECOND_STR, T_MILLISECOND_STR, T_NANOSECOND_STR, and T_SECOND_STR.

◆ ToNanoSeconds()

static std::chrono::nanoseconds ToNanoSeconds ( const double  value,
const std::chrono::nanoseconds &  unit 
)
static

Definition at line 1185 of file cache_cf.cc.

References HoursPerYear, max(), TexcHere, and ToSBuf().

Referenced by parseTimeLine(), and ParseUrlRewriteTimeout().

◆ trim_trailing_ws()

static void trim_trailing_ws ( char *  str)
static

Definition at line 366 of file cache_cf.cc.

References assert, NULL, and xisspace.

Referenced by EvalBoolExpr(), and parseOneConfigFile().

Variable Documentation

◆ B_BYTES_STR

const char* const B_BYTES_STR = "bytes"
static

◆ B_GBYTES_STR

const char* const B_GBYTES_STR = "GB"
static

Definition at line 159 of file cache_cf.cc.

Referenced by parseBytesUnits().

◆ B_KBYTES_STR

const char* const B_KBYTES_STR = "KB"
static

Definition at line 157 of file cache_cf.cc.

Referenced by dump_kb_int64_t(), parse_kb_int64_t(), and parseBytesUnits().

◆ B_MBYTES_STR

const char* const B_MBYTES_STR = "MB"
static

Definition at line 158 of file cache_cf.cc.

Referenced by parseBytesUnits().

◆ cfg_directive

◆ cfg_filename

◆ config_input_line

◆ config_lineno

◆ dump_config

OBJH dump_config
static

Definition at line 187 of file cache_cf.cc.

Referenced by parseConfigFileOrThrow().

◆ FtpEspvDeprecated

bool FtpEspvDeprecated = false
static

Definition at line 4764 of file cache_cf.cc.

Referenced by free_ftp_epsv(), and parse_ftp_epsv().

◆ HoursPerYear

const double HoursPerYear = 24*365.2522
static

Definition at line 162 of file cache_cf.cc.

Referenced by parseTimeUnit(), and ToNanoSeconds().

◆ LegacyParser

◆ T_DAY_STR

const char* const T_DAY_STR = "day"
static

Definition at line 149 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_DECADE_STR

const char* const T_DECADE_STR = "decade"
static

Definition at line 154 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_FORTNIGHT_STR

const char* const T_FORTNIGHT_STR = "fortnight"
static

Definition at line 151 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_HOUR_STR

const char* const T_HOUR_STR = "hour"
static

Definition at line 148 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_MICROSECOND_STR

const char* const T_MICROSECOND_STR = "microsecond"
static

Definition at line 144 of file cache_cf.cc.

Referenced by parseTimeUnit(), and TimeUnitToString().

◆ T_MILLISECOND_STR

const char* const T_MILLISECOND_STR = "millisecond"
static

Definition at line 145 of file cache_cf.cc.

Referenced by parseTimeUnit(), and TimeUnitToString().

◆ T_MINUTE_STR

const char* const T_MINUTE_STR = "minute"
static

Definition at line 147 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_MONTH_STR

const char* const T_MONTH_STR = "month"
static

Definition at line 152 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_NANOSECOND_STR

const char* const T_NANOSECOND_STR = "nanosecond"
static

Definition at line 143 of file cache_cf.cc.

Referenced by parseTimeUnit(), and TimeUnitToString().

◆ T_SECOND_STR

const char* const T_SECOND_STR = "second"
static

Definition at line 146 of file cache_cf.cc.

Referenced by parseTimeUnit(), ParseUrlRewriteTimeout(), and TimeUnitToString().

◆ T_WEEK_STR

const char* const T_WEEK_STR = "week"
static

Definition at line 150 of file cache_cf.cc.

Referenced by parseTimeUnit().

◆ T_YEAR_STR

const char* const T_YEAR_STR = "year"
static

Definition at line 153 of file cache_cf.cc.

Referenced by parseTimeUnit().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors