+/*
+ * Copyright (C) 1996-2018 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_FMT_BYTECODE_H
#define _SQUID_FMT_BYTECODE_H
* Bytecodes for the configureable format stuff
*/
typedef enum {
- LFT_NONE, /* dummy */
+ LFT_NONE, /* dummy */
/* arbitrary string between tokens */
LFT_STRING,
LFT_CLIENT_LOCAL_IP,
LFT_CLIENT_LOCAL_PORT,
/*LFT_CLIENT_LOCAL_FQDN, (rDNS) */
+ LFT_CLIENT_LOCAL_TOS,
+ LFT_CLIENT_LOCAL_NFMARK,
/* client connection local squid.conf details */
LFT_LOCAL_LISTENING_IP,
LFT_SERVER_LOCAL_IP,
LFT_SERVER_LOCAL_IP_OLD_27,
LFT_SERVER_LOCAL_PORT,
+ LFT_SERVER_LOCAL_TOS,
+ LFT_SERVER_LOCAL_NFMARK,
/* original Request-Line details recieved from client */
LFT_CLIENT_REQ_METHOD,
LFT_CLIENT_REQ_URI,
+ LFT_CLIENT_REQ_URLSCHEME,
+ LFT_CLIENT_REQ_URLDOMAIN,
+ LFT_CLIENT_REQ_URLPORT,
LFT_CLIENT_REQ_URLPATH,
/* LFT_CLIENT_REQ_QUERY, */
LFT_CLIENT_REQ_VERSION,
/*LFT_REQUEST_QUERY, */
LFT_REQUEST_VERSION_OLD_2X,
LFT_REQUEST_VERSION,
+ LFT_REQUEST_URLGROUP_OLD_2X,
/* request header details pre-adaptation */
LFT_REQUEST_HEADER,
/* Request-Line details sent to the server/peer */
LFT_SERVER_REQ_METHOD,
LFT_SERVER_REQ_URI,
+ LFT_SERVER_REQ_URLSCHEME,
+ LFT_SERVER_REQ_URLDOMAIN,
+ LFT_SERVER_REQ_URLPORT,
LFT_SERVER_REQ_URLPATH,
/*LFT_SERVER_REQ_QUERY, */
LFT_SERVER_REQ_VERSION,
/* request meta details */
- LFT_REQUEST_SIZE_TOTAL,
- /*LFT_REQUEST_SIZE_LINE, */
- LFT_REQUEST_SIZE_HEADERS,
+ LFT_CLIENT_REQUEST_SIZE_TOTAL,
+ LFT_CLIENT_REQUEST_SIZE_HEADERS,
/*LFT_REQUEST_SIZE_BODY, */
/*LFT_REQUEST_SIZE_BODY_NO_TE, */
/* LFT_ADAPTED_REPLY_ALL_HEADERS, */
/* response meta details */
- LFT_REPLY_SIZE_TOTAL,
+ LFT_ADAPTED_REPLY_SIZE_TOTAL,
LFT_REPLY_HIGHOFFSET,
LFT_REPLY_OBJECTSIZE,
- /*LFT_REPLY_SIZE_LINE, */
- LFT_REPLY_SIZE_HEADERS,
+ LFT_ADAPTED_REPLY_SIZE_HEADERS,
/*LFT_REPLY_SIZE_BODY, */
/*LFT_REPLY_SIZE_BODY_NO_TE, */
+ LFT_CLIENT_IO_SIZE_TOTAL,
+
/* client credentials */
LFT_USER_NAME, /* any source will do */
LFT_USER_LOGIN,
LFT_TIME_SUBSECOND,
LFT_TIME_LOCALTIME,
LFT_TIME_GMT,
+ LFT_TIME_START, // the time the master transaction started
/* processing time details */
LFT_TIME_TO_HANDLE_REQUEST,
LFT_MIME_TYPE,
LFT_TAG,
- LFT_IO_SIZE_TOTAL,
LFT_EXT_LOG,
LFT_SEQUENCE_NUMBER,
LFT_ICAP_OUTCOME,
LFT_ICAP_STATUS_CODE,
#endif
+ LFT_CREDENTIALS,
-#if USE_SSL
+#if USE_OPENSSL
LFT_SSL_BUMP_MODE,
LFT_SSL_USER_CERT_SUBJECT,
LFT_SSL_USER_CERT_ISSUER,
+ LFT_SSL_CLIENT_SNI,
+ LFT_SSL_SERVER_CERT_SUBJECT,
+ LFT_SSL_SERVER_CERT_ISSUER,
+ LFT_SSL_SERVER_CERT_ERRORS,
+ LFT_TLS_CLIENT_NEGOTIATED_VERSION,
+ LFT_TLS_SERVER_NEGOTIATED_VERSION,
+ LFT_TLS_CLIENT_NEGOTIATED_CIPHER,
+ LFT_TLS_SERVER_NEGOTIATED_CIPHER,
+ LFT_TLS_CLIENT_RECEIVED_HELLO_VERSION,
+ LFT_TLS_SERVER_RECEIVED_HELLO_VERSION,
+ LFT_TLS_CLIENT_SUPPORTED_VERSION,
+ LFT_TLS_SERVER_SUPPORTED_VERSION,
#endif
LFT_NOTE,
- LFT_PERCENT /* special string cases for escaped chars */
+ LFT_PERCENT, /* special string cases for escaped chars */
+
+ // TODO assign better bytecode names and Token strings for these
+#if USE_OPENSSL
+ LFT_EXT_ACL_USER_CERT_RAW,
+ LFT_EXT_ACL_USER_CERTCHAIN_RAW,
+ LFT_EXT_ACL_USER_CERT,
+ LFT_EXT_ACL_USER_CA_CERT,
+#endif
+ LFT_EXT_ACL_CLIENT_EUI48,
+ LFT_EXT_ACL_CLIENT_EUI64,
+ LFT_EXT_ACL_NAME,
+ LFT_EXT_ACL_DATA
+
} ByteCode_t;
/// Quoting style for a format output.
LOG_QUOTE_QUOTES,
LOG_QUOTE_MIMEBLOB,
LOG_QUOTE_URL,
+ LOG_QUOTE_SHELL,
LOG_QUOTE_RAW
};
-extern const char *log_tags[];
-
} // namespace Format
#endif /* _SQUID_FMT_BYTECODE_H */
+