]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/structs.h
SourceFormat: enforcement
[thirdparty/squid.git] / src / structs.h
index e83b11b74c3971d939be39a3d6c1ccc8434b8c2e..9fa48e1bcfe23af6738b4c95f8bce6f8224b50e5 100644 (file)
 #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;
@@ -173,10 +176,7 @@ struct SquidConfig {
         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;
@@ -186,6 +186,7 @@ struct SquidConfig {
     } Timeout;
     size_t maxRequestHeaderSize;
     int64_t maxRequestBodySize;
+    int64_t maxChunkedRequestBodySize;
     size_t maxReplyHeaderSize;
     acl_size_t *ReplyBodySize;
 
@@ -248,7 +249,6 @@ struct SquidConfig {
     char *as_whois_server;
 
     struct {
-        char *log;
         char *store;
         char *swap;
 #if USE_USERAGENT_LOG
@@ -268,6 +268,10 @@ struct SquidConfig {
 
         customlog *accesslogs;
 
+#if ICAP_CLIENT
+        customlog *icaplogs;
+#endif
+
         int rotateNumber;
     } Log;
     char *adminEmail;
@@ -314,7 +318,6 @@ struct SquidConfig {
     } Accel;
     char *appendDomain;
     size_t appendDomainLen;
-    char *debugOptions;
     char *pidFilename;
     char *netdbFilename;
     char *mimeTablePathname;
@@ -436,7 +439,6 @@ struct SquidConfig {
         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;
@@ -445,8 +447,12 @@ struct SquidConfig {
 #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 {
@@ -465,11 +471,6 @@ struct SquidConfig {
 #if HTTP_VIOLATIONS
         acl_access *brokenPosts;
 #endif
-#if USE_IDENT
-
-        acl_access *identLookup;
-#endif
-
         acl_access *redirector;
         acl_access *reply;
         acl_address *outgoing_address;
@@ -488,6 +489,9 @@ struct SquidConfig {
         acl_access *followXFF;
 #endif /* FOLLOW_X_FORWARDED_FOR */
 
+#if ICAP_CLIENT
+        acl_access* icap;
+#endif
     } accessList;
     acl_deny_info_list *denyInfoList;
     authConfig authConfiguration;
@@ -498,6 +502,7 @@ struct SquidConfig {
         char *anon_user;
         int passive;
         int epsv_all;
+        int epsv;
         int sanitycheck;
         int telnet;
     } Ftp;
@@ -838,8 +843,8 @@ struct peer {
         int counts[ICP_END+1];
         u_short port;
     } icp;
-#if USE_HTCP
 
+#if USE_HTCP
     struct {
         double version;
         int counts[2];
@@ -930,6 +935,7 @@ struct peer {
 
     char *login;               /* Proxy authorization */
     time_t connect_timeout;
+    int connect_fail_limit;
     int max_conn;
     char *domain;              /* Forced domain */
 #if USE_SSL
@@ -1034,6 +1040,7 @@ unsigned int proxying:
     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.
 
@@ -1086,6 +1093,7 @@ struct _refresh_t {
         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
@@ -1196,7 +1204,7 @@ struct _StatCounters {
         int times_used;
     } netdb;
     int page_faults;
-    int select_loops;
+    unsigned long int select_loops;
     int select_fds;
     double select_time;
     double cputime;
@@ -1258,28 +1266,6 @@ struct _HttpHeaderStat {
 };
 
 
-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 */