#include "config.h"
#include "RefCount.h"
#include "cbdata.h"
-
-/* needed for various structures still in structs.h */
#include "dlink.h"
+#include "err_type.h"
+
/* needed for the global config */
#include "HttpHeader.h"
+/* for ICP_END */
+#include "icp_opcode.h"
+
struct acl_name_list {
char name[ACL_NAME_SZ];
acl_name_list *next;
int icp_query_max; /* msec */
int icp_query_min; /* msec */
int mcast_icp_query; /* msec */
-#if USE_IDENT
- time_t ident;
-#endif
#if !USE_DNSSERVERS
time_t idns_retransmit;
} Timeout;
size_t maxRequestHeaderSize;
int64_t maxRequestBodySize;
+ int64_t maxChunkedRequestBodySize;
size_t maxReplyHeaderSize;
acl_size_t *ReplyBodySize;
char *as_whois_server;
struct {
- char *log;
char *store;
char *swap;
#if USE_USERAGENT_LOG
customlog *accesslogs;
+#if ICAP_CLIENT
+ customlog *icaplogs;
+#endif
+
int rotateNumber;
} Log;
char *adminEmail;
} Accel;
char *appendDomain;
size_t appendDomainLen;
- char *debugOptions;
char *pidFilename;
char *netdbFilename;
char *mimeTablePathname;
int httpd_suppress_version_string;
int global_internal_static;
int dns_require_A;
- int debug_override_X;
#if FOLLOW_X_FORWARDED_FOR
int acl_uses_indirect_client;
#endif /* FOLLOW_X_FORWARDED_FOR */
int WIN32_IpAddrChangeMonitor;
+ int memory_cache_first;
+ int memory_cache_disk;
} onoff;
+ int forward_max_tries;
+
class ACL *aclList;
struct {
#if HTTP_VIOLATIONS
acl_access *brokenPosts;
#endif
-#if USE_IDENT
-
- acl_access *identLookup;
-#endif
-
acl_access *redirector;
acl_access *reply;
acl_address *outgoing_address;
acl_access *followXFF;
#endif /* FOLLOW_X_FORWARDED_FOR */
+#if ICAP_CLIENT
+ acl_access* icap;
+#endif
} accessList;
acl_deny_info_list *denyInfoList;
authConfig authConfiguration;
char *anon_user;
int passive;
int epsv_all;
+ int epsv;
int sanitycheck;
int telnet;
} Ftp;
int counts[ICP_END+1];
u_short port;
} icp;
-#if USE_HTCP
+#if USE_HTCP
struct {
double version;
int counts[2];
char *login; /* Proxy authorization */
time_t connect_timeout;
+ int connect_fail_limit;
int max_conn;
char *domain; /* Forced domain */
#if USE_SSL
unsigned int connection_proxy_auth:1; /** Request wants connection oriented auth */
unsigned int pinned:1; /* Request sent on a pinned connection */
unsigned int auth_sent:1; /* Authentication forwarded */
+ unsigned int no_direct:1; /* Deny direct forwarding unless overriden by always_direct. Used in accelerator mode */
// When adding new flags, please update cloneAdaptationImmune() as needed.
unsigned int ignore_reload:1;
unsigned int ignore_no_cache:1;
unsigned int ignore_no_store:1;
+ unsigned int ignore_must_revalidate:1;
unsigned int ignore_private:1;
unsigned int ignore_auth:1;
#endif
int times_used;
} netdb;
int page_faults;
- int select_loops;
+ unsigned long int select_loops;
int select_fds;
double select_time;
double cputime;
};
-struct _ClientInfo {
- hash_link hash; /* must be first */
-
- IpAddress addr;
-
- struct {
- int result_hist[LOG_TYPE_MAX];
- int n_requests;
- kb_t kbytes_in;
- kb_t kbytes_out;
- kb_t hit_kbytes_out;
- } Http, Icp;
-
- struct {
- time_t time;
- int n_req;
- int n_denied;
- } cutoff;
- int n_established; /* number of current established connections */
- time_t last_seen;
-};
-
struct _CacheDigest {
/* public, read-only */
char *mask; /* bit mask */