-#ifndef SQUID_SQUIDCONFIG_H_
-#define SQUID_SQUIDCONFIG_H_
/*
- * SQUID Web Proxy Cache http://www.squid-cache.org/
- * ----------------------------------------------------------
- *
- * Squid is the result of efforts by numerous individuals from
- * the Internet community; see the CONTRIBUTORS file for full
- * details. Many organizations have provided support for Squid's
- * development; see the SPONSORS file for full details. Squid is
- * Copyrighted (C) 2001 by the Regents of the University of
- * California; see the COPYRIGHT file for full details. Squid
- * incorporates software developed and/or copyrighted by other
- * sources; see the CREDITS file for full details.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
*
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
*/
+#ifndef SQUID_SQUIDCONFIG_H_
+#define SQUID_SQUIDCONFIG_H_
+
#include "acl/forward.h"
#include "base/RefCount.h"
#include "ClientDelayConfig.h"
#include "DelayConfig.h"
-#include "HelperChildConfig.h"
+#include "helper/ChildConfig.h"
#include "HttpHeaderTools.h"
-#include "icmp/IcmpConfig.h"
#include "ip/Address.h"
#include "Notes.h"
+#include "security/forward.h"
+#include "SquidTime.h"
#include "YesNoNone.h"
-#if USE_SSL
-#include <openssl/ssl.h>
+#if USE_OPENSSL
class sslproxy_cert_sign;
class sslproxy_cert_adapt;
#endif
time_t request;
time_t clientIdlePconn;
time_t serverIdlePconn;
+ time_t ftpClientIdle;
+ time_t pconnLifetime; ///< pconn_lifetime in squid.conf
time_t siteSelect;
time_t deadPeer;
+ time_t request_start_timeout;
int icp_query; /* msec */
int icp_query_max; /* msec */
int icp_query_min; /* msec */
int mcast_icp_query; /* msec */
time_msec_t idns_retransmit;
time_msec_t idns_query;
+ time_t urlRewrite;
} Timeout;
size_t maxRequestHeaderSize;
int64_t maxRequestBodySize;
- int64_t maxChunkedRequestBodySize;
size_t maxRequestBufferSize;
size_t maxReplyHeaderSize;
AclSizeLimit *ReplyBodySize;
#endif
} Port;
- struct {
- AnyP::PortCfg *http;
-#if USE_SSL
- AnyP::PortCfg *https;
-#endif
- } Sockaddr;
#if SQUID_SNMP
struct {
} Wccp2;
#endif
-#if USE_ICMP
- IcmpConfig pinger;
-#endif
-
char *as_whois_server;
struct {
#endif
char *diskd;
-#if USE_SSL
+#if USE_OPENSSL
char *ssl_password;
#endif
} Program;
- HelperChildConfig redirectChildren;
- HelperChildConfig storeIdChildren;
+ Helper::ChildConfig redirectChildren;
+ Helper::ChildConfig storeIdChildren;
time_t authenticateGCInterval;
time_t authenticateTTL;
time_t authenticateIpTTL;
} Addrs;
size_t tcpRcvBufsz;
size_t udpMaxHitObjsz;
- wordlist *hierarchy_stoplist;
wordlist *mcast_group_list;
wordlist *dns_nameservers;
CachePeer *peers;
int check_hostnames;
int allow_underscore;
int via;
+ int cache_miss_revalidate;
int emailErrData;
int httpd_suppress_version_string;
int global_internal_static;
+ int collapsed_forwarding;
#if FOLLOW_X_FORWARDED_FOR
int acl_uses_indirect_client;
acl_access *AlwaysDirect;
acl_access *ASlists;
acl_access *noCache;
+ acl_access *sendHit;
+ acl_access *storeMiss;
acl_access *stats_collection;
#if SQUID_SNMP
acl_access *redirector;
acl_access *store_id;
acl_access *reply;
- AclAddress *outgoing_address;
+ Acl::Address *outgoing_address;
#if USE_HTCP
acl_access *htcp;
acl_access *htcp_clr;
#endif
-#if USE_SSL
+#if USE_OPENSSL
acl_access *ssl_bump;
#endif
#if FOLLOW_X_FORWARDED_FOR
acl_access *followXFF;
#endif /* FOLLOW_X_FORWARDED_FOR */
+ /// acceptible PROXY protocol clients
+ acl_access *proxyProtocol;
+
/// spoof_client_ip squid.conf acl.
/// nil unless configured
acl_access* spoof_client_ip;
+ acl_access *on_unsupported_protocol;
+
+ acl_access *ftp_epsv;
+
+ acl_access *forceRequestBodyContinuation;
} accessList;
AclDenyInfoList *denyInfoList;
int rebuild_chunk_percentage;
} digest;
#endif
-#if USE_SSL
+#if USE_OPENSSL
struct {
int unclean_shutdown;
char *ssl_engine;
+ int session_ttl;
+ size_t sessionCacheSize;
+ char *certSignHash;
} SSL;
#endif
time_t minimum_expiry_time; /* seconds */
external_acl *externalAclHelperList;
-#if USE_SSL
-
struct {
- char *cert;
- char *key;
- int version;
- char *options;
- char *cipher;
- char *cafile;
- char *capath;
- char *crlfile;
- char *flags;
+ Security::ContextPointer sslContext;
+#if USE_OPENSSL
acl_access *cert_error;
- SSL_CTX *sslContext;
sslproxy_cert_sign *cert_sign;
sslproxy_cert_adapt *cert_adapt;
- } ssl_client;
#endif
+ } ssl_client;
char *accept_filter;
int umask;
int client_ip_max_connections;
+ char *redirector_extras;
+
+ struct UrlHelperTimeout {
+ int action;
+ char *response;
+ } onUrlRewriteTimeout;
+
+ char *storeId_extras;
+
struct {
int v4_first; ///< Place IPv4 first in the order of DNS results.
ssize_t packet_max; ///< maximum size EDNS advertised for DNS replies.
extern SquidConfig2 Config2;
#endif /* SQUID_SQUIDCONFIG_H_ */
+