using namespace HttpCommon;
using namespace HttpEnums;
-uint32_t HttpInspect::xtra_trueip_id;
-uint32_t HttpInspect::xtra_uri_id;
-uint32_t HttpInspect::xtra_host_id;
-uint32_t HttpInspect::xtra_jsnorm_id;
-
-HttpInspect::HttpInspect(const HttpParaList* params_) : params(params_)
+HttpInspect::HttpInspect(const HttpParaList* params_) :
+ params(params_),
+ xtra_trueip_id(Stream::reg_xtra_data_cb(get_xtra_trueip)),
+ xtra_uri_id(Stream::reg_xtra_data_cb(get_xtra_uri)),
+ xtra_host_id(Stream::reg_xtra_data_cb(get_xtra_host)),
+ xtra_jsnorm_id(Stream::reg_xtra_data_cb(get_xtra_jsnorm))
{
#ifdef REG_TEST
if (params->test_input)
if (params->js_norm_param.normalize_javascript)
params->js_norm_param.js_norm->configure();
- // FIXIT-H The following four lines are not thread safe during reload
- xtra_trueip_id = Stream::reg_xtra_data_cb(get_xtra_trueip);
- xtra_uri_id = Stream::reg_xtra_data_cb(get_xtra_uri);
- xtra_host_id = Stream::reg_xtra_data_cb(get_xtra_host);
- xtra_jsnorm_id = Stream::reg_xtra_data_cb(get_xtra_jsnorm);
-
config_decode();
return true;
const HttpParaList* const params;
// Registrations for "extra data"
- static uint32_t xtra_trueip_id;
- static uint32_t xtra_uri_id;
- static uint32_t xtra_host_id;
- static uint32_t xtra_jsnorm_id;
+ const uint32_t xtra_trueip_id;
+ const uint32_t xtra_uri_id;
+ const uint32_t xtra_host_id;
+ const uint32_t xtra_jsnorm_id;
snort::DecodeConfig decode_conf;
};