#ifndef SQUID_ENUMS_H
#define SQUID_ENUMS_H
+#include "HttpStatusCode.h"
+
typedef enum {
LOG_TAG_NONE,
LOG_TCP_HIT,
LOG_TCP_MISS,
LOG_TCP_REFRESH_UNMODIFIED, // refresh from origin revalidated existing entry
- LOG_TCP_REFRESH_FAIL, // refresh from origin failed
+ LOG_TCP_REFRESH_FAIL_OLD, // refresh from origin failed, stale reply sent
+ LOG_TCP_REFRESH_FAIL_ERR, // refresh from origin failed, error forwarded
LOG_TCP_REFRESH_MODIFIED, // refresh from origin replaced existing entry
LOG_TCP_CLIENT_REFRESH_MISS,
LOG_TCP_IMS_HIT,
LOG_TCP_DENIED,
LOG_TCP_DENIED_REPLY,
LOG_TCP_OFFLINE_HIT,
-#if LOG_TCP_REDIRECTS
LOG_TCP_REDIRECT,
-#endif
LOG_UDP_HIT,
LOG_UDP_MISS,
LOG_UDP_DENIED,
FD_FILE,
FD_SOCKET,
FD_PIPE,
+ FD_MSGHDR,
FD_UNKNOWN
};
CC_MAX_AGE,
CC_S_MAXAGE,
CC_MAX_STALE,
+ CC_MIN_FRESH,
CC_ONLY_IF_CACHED,
+ CC_STALE_IF_ERROR,
CC_OTHER,
CC_ENUM_END
} http_hdr_cc_type;
SC_ENUM_END
} http_hdr_sc_type;
-
typedef enum _mem_status_t {
NOT_IN_MEMORY,
IN_MEMORY
STORE_DISK_CLIENT
} store_client_t;
-typedef enum {
- PROTO_NONE,
- PROTO_HTTP,
- PROTO_FTP,
- PROTO_GOPHER,
- PROTO_WAIS,
- PROTO_CACHEOBJ,
- PROTO_ICP,
-#if USE_HTCP
- PROTO_HTCP,
-#endif
- PROTO_URN,
- PROTO_WHOIS,
- PROTO_INTERNAL,
- PROTO_HTTPS,
- PROTO_MAX
-} protocol_t;
-
-typedef enum {
- HTTP_STATUS_NONE = 0,
- HTTP_CONTINUE = 100,
- HTTP_SWITCHING_PROTOCOLS = 101,
- HTTP_PROCESSING = 102, /* RFC2518 section 10.1 */
- HTTP_OK = 200,
- HTTP_CREATED = 201,
- HTTP_ACCEPTED = 202,
- HTTP_NON_AUTHORITATIVE_INFORMATION = 203,
- HTTP_NO_CONTENT = 204,
- HTTP_RESET_CONTENT = 205,
- HTTP_PARTIAL_CONTENT = 206,
- HTTP_MULTI_STATUS = 207, /* RFC2518 section 10.2 */
- HTTP_MULTIPLE_CHOICES = 300,
- HTTP_MOVED_PERMANENTLY = 301,
- HTTP_MOVED_TEMPORARILY = 302,
- HTTP_SEE_OTHER = 303,
- HTTP_NOT_MODIFIED = 304,
- HTTP_USE_PROXY = 305,
- HTTP_TEMPORARY_REDIRECT = 307,
- HTTP_BAD_REQUEST = 400,
- HTTP_UNAUTHORIZED = 401,
- HTTP_PAYMENT_REQUIRED = 402,
- HTTP_FORBIDDEN = 403,
- HTTP_NOT_FOUND = 404,
- HTTP_METHOD_NOT_ALLOWED = 405,
- HTTP_NOT_ACCEPTABLE = 406,
- HTTP_PROXY_AUTHENTICATION_REQUIRED = 407,
- HTTP_REQUEST_TIMEOUT = 408,
- HTTP_CONFLICT = 409,
- HTTP_GONE = 410,
- HTTP_LENGTH_REQUIRED = 411,
- HTTP_PRECONDITION_FAILED = 412,
- HTTP_REQUEST_ENTITY_TOO_LARGE = 413,
- HTTP_REQUEST_URI_TOO_LARGE = 414,
- HTTP_UNSUPPORTED_MEDIA_TYPE = 415,
- HTTP_REQUESTED_RANGE_NOT_SATISFIABLE = 416,
- HTTP_EXPECTATION_FAILED = 417,
- HTTP_UNPROCESSABLE_ENTITY = 422, /* RFC2518 section 10.3 */
- HTTP_LOCKED = 423, /* RFC2518 section 10.4 */
- HTTP_FAILED_DEPENDENCY = 424, /* RFC2518 section 10.5 */
- HTTP_INTERNAL_SERVER_ERROR = 500,
- HTTP_NOT_IMPLEMENTED = 501,
- HTTP_BAD_GATEWAY = 502,
- HTTP_SERVICE_UNAVAILABLE = 503,
- HTTP_GATEWAY_TIMEOUT = 504,
- HTTP_HTTP_VERSION_NOT_SUPPORTED = 505,
- HTTP_INSUFFICIENT_STORAGE = 507, /* RFC2518 section 10.6 */
- HTTP_INVALID_HEADER = 600, /* Squid header parsing error */
- HTTP_HEADER_TOO_LARGE = 601 /* Header too large to process */
-} http_status;
-
/*
* These are for StoreEntry->flag, which is defined as a SHORT
*
STREAM_FAILED
} clientStream_status_t;
-typedef enum {
- AUTH_ACL_CHALLENGE = -2,
- AUTH_ACL_HELPER = -1,
- AUTH_ACL_CANNOT_AUTHENTICATE = 0,
- AUTH_AUTHENTICATED = 1
-} auth_acl_t;
-
-typedef enum {
- AUTH_UNKNOWN, /* default */
- AUTH_BASIC,
- AUTH_NTLM,
- AUTH_DIGEST,
- AUTH_NEGOTIATE,
- AUTH_BROKEN /* known type, but broken data */
-} auth_type_t;
-
/* stateful helper callback response codes */
typedef enum {
S_HELPER_UNKNOWN,
MEM_CLIENT_INFO,
MEM_LINK_LIST,
MEM_DLINK_NODE,
- MEM_DONTFREE,
MEM_DREAD_CTRL,
MEM_DWRITE_Q,
- MEM_FQDNCACHE_ENTRY,
- MEM_FWD_SERVER,
- MEM_HTTP_HDR_CC,
MEM_HTTP_HDR_CONTENT_RANGE,
- MEM_IPCACHE_ENTRY,
MEM_MD5_DIGEST,
MEM_NETDBENTRY,
MEM_NET_DB_NAME,
MEM_RELIST,
-#if !USE_DNSSERVERS
+ // IMPORTANT: leave this here. pools above are initialized early with memInit()
+ MEM_DONTFREE,
+ // following pools are initialized late by their component if needed (or never)
+ MEM_FQDNCACHE_ENTRY,
+ MEM_FWD_SERVER,
+#if !USE_DNSHELPER
MEM_IDNS_QUERY,
#endif
+ MEM_IPCACHE_ENTRY,
MEM_MAX
} mem_type;
psError
} HttpMsgParseState;
-
enum {
PCTILE_HTTP,
PCTILE_ICP_QUERY,
ROR_REPLY
};
-
/* CygWin & Windows NT Port */
-#ifdef _SQUID_WIN32_
+#if _SQUID_WINDOWS_
/*
* Supported Windows OS types codes
*/
_WIN_OS_WINLON,
_WIN_OS_WIN7
};
-
-#endif
-
-typedef enum {
- CLF_UNKNOWN,
- CLF_AUTO,
- CLF_CUSTOM,
- CLF_SQUID,
- CLF_COMMON,
-#if ICAP_CLIENT
- CLF_ICAP_SQUID,
#endif
- CLF_NONE
-} customlog_type;
enum {
DISABLE_PMTU_OFF,