const HeaderNormalizer HttpMsgHeadShared::NORMALIZER_CHARSET
{ EVENT__NONE, INF__NONE, false, norm_remove_quotes_lws, norm_to_lower, nullptr };
-#if defined(__clang__)
-// Designated initializers are not supported in C++11. However we're going to play compilation
-// roulette and hope this works.
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wc99-extensions"
-#endif
-
-/* *INDENT-OFF* */
const HeaderNormalizer* const HttpMsgHeadShared::header_norms[HEAD__MAX_VALUE] = {
- [0] = &NORMALIZER_BASIC,
- [HEAD__OTHER] = &NORMALIZER_BASIC,
- [HEAD_CACHE_CONTROL] = &NORMALIZER_TOKEN_LIST,
- [HEAD_CONNECTION] = &NORMALIZER_TOKEN_LIST,
- [HEAD_DATE] = &NORMALIZER_DATE,
- [HEAD_PRAGMA] = &NORMALIZER_TOKEN_LIST,
- [HEAD_TRAILER] = &NORMALIZER_TOKEN_LIST,
- [HEAD_COOKIE] = &NORMALIZER_BASIC,
- [HEAD_SET_COOKIE] = &NORMALIZER_BASIC,
- [HEAD_TRANSFER_ENCODING] = &NORMALIZER_TOKEN_LIST,
- [HEAD_UPGRADE] = &NORMALIZER_BASIC,
- [HEAD_VIA] = &NORMALIZER_BASIC,
- [HEAD_WARNING] = &NORMALIZER_BASIC,
- [HEAD_ACCEPT] = &NORMALIZER_TOKEN_LIST,
- [HEAD_ACCEPT_CHARSET] = &NORMALIZER_TOKEN_LIST,
- [HEAD_ACCEPT_ENCODING] = &NORMALIZER_TOKEN_LIST,
- [HEAD_ACCEPT_LANGUAGE] = &NORMALIZER_TOKEN_LIST,
- [HEAD_AUTHORIZATION] = &NORMALIZER_BASIC,
- [HEAD_EXPECT] = &NORMALIZER_CASE_INSENSITIVE,
- [HEAD_FROM] = &NORMALIZER_BASIC,
- [HEAD_HOST] = &NORMALIZER_NO_REPEAT,
- [HEAD_IF_MATCH] = &NORMALIZER_BASIC,
- [HEAD_IF_MODIFIED_SINCE] = &NORMALIZER_DATE,
- [HEAD_IF_NONE_MATCH] = &NORMALIZER_BASIC,
- [HEAD_IF_RANGE] = &NORMALIZER_BASIC,
- [HEAD_IF_UNMODIFIED_SINCE] = &NORMALIZER_DATE,
- [HEAD_MAX_FORWARDS] = &NORMALIZER_BASIC,
- [HEAD_PROXY_AUTHORIZATION] = &NORMALIZER_BASIC,
- [HEAD_RANGE] = &NORMALIZER_BASIC,
- [HEAD_REFERER] = &NORMALIZER_URI,
- [HEAD_TE] = &NORMALIZER_TOKEN_LIST,
- [HEAD_USER_AGENT] = &NORMALIZER_BASIC,
- [HEAD_ACCEPT_RANGES] = &NORMALIZER_TOKEN_LIST,
- [HEAD_AGE] = &NORMALIZER_NUMBER,
- [HEAD_ETAG] = &NORMALIZER_BASIC,
- [HEAD_LOCATION] = &NORMALIZER_URI,
- [HEAD_PROXY_AUTHENTICATE] = &NORMALIZER_BASIC,
- [HEAD_RETRY_AFTER] = &NORMALIZER_BASIC, // may be date or number
- [HEAD_SERVER] = &NORMALIZER_BASIC,
- [HEAD_VARY] = &NORMALIZER_TOKEN_LIST,
- [HEAD_WWW_AUTHENTICATE] = &NORMALIZER_BASIC,
- [HEAD_ALLOW] = &NORMALIZER_METHOD_LIST,
- [HEAD_CONTENT_ENCODING] = &NORMALIZER_TOKEN_LIST,
- [HEAD_CONTENT_LANGUAGE] = &NORMALIZER_TOKEN_LIST,
- [HEAD_CONTENT_LENGTH] = &NORMALIZER_CONTENT_LENGTH,
- [HEAD_CONTENT_LOCATION] = &NORMALIZER_URI,
- [HEAD_CONTENT_MD5] = &NORMALIZER_BASIC,
- [HEAD_CONTENT_RANGE] = &NORMALIZER_BASIC,
- [HEAD_CONTENT_TYPE] = &NORMALIZER_CHARSET,
- [HEAD_EXPIRES] = &NORMALIZER_DATE,
- [HEAD_LAST_MODIFIED] = &NORMALIZER_DATE,
- [HEAD_X_FORWARDED_FOR] = &NORMALIZER_BASIC,
- [HEAD_TRUE_CLIENT_IP] = &NORMALIZER_BASIC,
- [HEAD_X_WORKING_WITH] = &NORMALIZER_BASIC,
- [HEAD_CONTENT_TRANSFER_ENCODING] = &NORMALIZER_TOKEN_LIST,
- [HEAD_MIME_VERSION] = &NORMALIZER_BASIC,
- [HEAD_PROXY_AGENT] = &NORMALIZER_BASIC,
+ &NORMALIZER_BASIC, // 0
+ &NORMALIZER_BASIC, // HEAD__OTHER
+ &NORMALIZER_TOKEN_LIST, // HEAD_CACHE_CONTROL
+ &NORMALIZER_TOKEN_LIST, // HEAD_CONNECTION
+ &NORMALIZER_DATE, // HEAD_DATE
+ &NORMALIZER_TOKEN_LIST, // HEAD_PRAGMA
+ &NORMALIZER_TOKEN_LIST, // HEAD_TRAILER
+ &NORMALIZER_BASIC, //HEAD_COOKIE
+ &NORMALIZER_BASIC, //HEAD_SET_COOKIE
+ &NORMALIZER_TOKEN_LIST, // HEAD_TRANSFER_ENCODING
+ &NORMALIZER_BASIC, // HEAD_UPGRADE
+ &NORMALIZER_BASIC, // HEAD_VIA
+ &NORMALIZER_BASIC, // HEAD_WARNING
+ &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT
+ &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_CHARSET
+ &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_ENCODING
+ &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_LANGUAGE
+ &NORMALIZER_BASIC, // HEAD_AUTHORIZATION
+ &NORMALIZER_CASE_INSENSITIVE, // HEAD_EXPECT
+ &NORMALIZER_BASIC, // HEAD_FROM
+ &NORMALIZER_NO_REPEAT, // HEAD_HOST
+ &NORMALIZER_BASIC, // HEAD_IF_MATCH
+ &NORMALIZER_DATE, // HEAD_IF_MODIFIED_SINCE
+ &NORMALIZER_BASIC, // HEAD_IF_NONE_MATCH
+ &NORMALIZER_BASIC, // HEAD_IF_RANGE
+ &NORMALIZER_DATE, // HEAD_IF_UNMODIFIED_SINCE
+ &NORMALIZER_BASIC, // HEAD_MAX_FORWARDS
+ &NORMALIZER_BASIC, // HEAD_PROXY_AUTHORIZATION
+ &NORMALIZER_BASIC, // HEAD_RANGE
+ &NORMALIZER_URI, // HEAD_REFERER
+ &NORMALIZER_TOKEN_LIST, // HEAD_TE
+ &NORMALIZER_BASIC, // HEAD_USER_AGENT
+ &NORMALIZER_TOKEN_LIST, // HEAD_ACCEPT_RANGES
+ &NORMALIZER_NUMBER, // HEAD_AGE
+ &NORMALIZER_BASIC, // HEAD_ETAG
+ &NORMALIZER_URI, // HEAD_LOCATION
+ &NORMALIZER_BASIC, // HEAD_PROXY_AUTHENTICATE
+ &NORMALIZER_BASIC, // HEAD_RETRY_AFTER, may be date or number
+ &NORMALIZER_BASIC, // HEAD_SERVER
+ &NORMALIZER_TOKEN_LIST, // HEAD_VARY
+ &NORMALIZER_BASIC, // HEAD_WWW_AUTHENTICATE
+ &NORMALIZER_METHOD_LIST, // HEAD_ALLOW
+ &NORMALIZER_TOKEN_LIST, // HEAD_CONTENT_ENCODING
+ &NORMALIZER_TOKEN_LIST, // HEAD_CONTENT_LANGUAGE
+ &NORMALIZER_CONTENT_LENGTH, // HEAD_CONTENT_LENGTH
+ &NORMALIZER_URI, // HEAD_CONTENT_LOCATION
+ &NORMALIZER_BASIC, // HEAD_CONTENT_MD5
+ &NORMALIZER_BASIC, // HEAD_CONTENT_RANGE
+ &NORMALIZER_CHARSET, // HEAD_CONTENT_TYPE
+ &NORMALIZER_DATE, // HEAD_EXPIRES
+ &NORMALIZER_DATE, // HEAD_LAST_MODIFIED
+ &NORMALIZER_BASIC, // HEAD_X_FORWARDED_FOR
+ &NORMALIZER_BASIC, // HEAD_TRUE_CLIENT_IP
+ &NORMALIZER_BASIC, // HEAD_X_WORKING_WITH
+ &NORMALIZER_TOKEN_LIST, // HEAD_CONTENT_TRANSFER_ENCODING
+ &NORMALIZER_BASIC, // HEAD_MIME_VERSION
+ &NORMALIZER_BASIC, // HEAD_PROXY_AGENT
};
-/* *INDENT-ON* */
-
-#if defined(__clang__)
-#pragma clang diagnostic pop
-#endif
const snort::RuleMap HttpModule::http_events[] =
{