"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/service_inspectors/http_inspect/http_flow_data.h" between
snort3-3.1.28.0.tar.gz and snort3-3.1.29.0.tar.gz

About: Snort 3 is a network intrusion prevention and detection system (IDS/IPS) combining the benefits of signature, protocol and anomaly-based inspection.

http_flow_data.h  (snort3-3.1.28.0):http_flow_data.h  (snort3-3.1.29.0)
skipping to change at line 78 skipping to change at line 78
friend class HttpMsgBodyCl; friend class HttpMsgBodyCl;
friend class HttpMsgBodyH2; friend class HttpMsgBodyH2;
friend class HttpMsgBodyOld; friend class HttpMsgBodyOld;
friend class HttpQueryParser; friend class HttpQueryParser;
friend class HttpStreamSplitter; friend class HttpStreamSplitter;
friend class HttpTransaction; friend class HttpTransaction;
#if defined(REG_TEST) || defined(UNIT_TEST) #if defined(REG_TEST) || defined(UNIT_TEST)
friend class HttpUnitTestSetup; friend class HttpUnitTestSetup;
#endif #endif
HttpEnums::SectionType get_type_expected(HttpCommon::SourceId source_id) con st HttpCommon::SectionType get_type_expected(HttpCommon::SourceId source_id) co nst
{ return type_expected[source_id]; } { return type_expected[source_id]; }
void finish_h2_body(HttpCommon::SourceId source_id, HttpEnums::H2BodyState s tate, void finish_h2_body(HttpCommon::SourceId source_id, HttpCommon::H2BodyState state,
bool clear_partial_buffer); bool clear_partial_buffer);
void set_h2_body_state(HttpCommon::SourceId source_id, HttpEnums::H2BodyStat e state) void set_h2_body_state(HttpCommon::SourceId source_id, HttpCommon::H2BodySta te state)
{ h2_body_state[source_id] = state; } { h2_body_state[source_id] = state; }
uint32_t get_h2_stream_id() const; uint32_t get_h2_stream_id() const;
private: private:
// Convenience routines // Convenience routines
void half_reset(HttpCommon::SourceId source_id); void half_reset(HttpCommon::SourceId source_id);
void trailer_prep(HttpCommon::SourceId source_id); void trailer_prep(HttpCommon::SourceId source_id);
void garbage_collect(); void garbage_collect();
skipping to change at line 121 skipping to change at line 121
HttpEnums::GzipVerificationState gzip_state[2] = { HttpEnums::GZIP_TBD, Http Enums::GZIP_TBD }; HttpEnums::GzipVerificationState gzip_state[2] = { HttpEnums::GZIP_TBD, Http Enums::GZIP_TBD };
bool gzip_header_check_done(); bool gzip_header_check_done();
// *** StreamSplitter internal data - scan() => reassemble() // *** StreamSplitter internal data - scan() => reassemble()
uint32_t num_excess[2] = { 0, 0 }; uint32_t num_excess[2] = { 0, 0 };
uint32_t num_good_chunks[2] = { 0, 0 }; uint32_t num_good_chunks[2] = { 0, 0 };
uint32_t octets_expected[2] = { 0, 0 }; uint32_t octets_expected[2] = { 0, 0 };
bool is_broken_chunk[2] = { false, false }; bool is_broken_chunk[2] = { false, false };
// *** StreamSplitter => Inspector (facts about the most recent message sect ion) // *** StreamSplitter => Inspector (facts about the most recent message sect ion)
HttpEnums::SectionType section_type[2] = { HttpEnums::SEC__NOT_COMPUTE, HttpCommon::SectionType section_type[2] = { HttpCommon::SEC__NOT_COMPUTE,
HttpEnums::SEC__NOT_COMPUTE }; HttpCommon::SEC__NOT_COMPUTE };
int32_t octets_reassembled[2] = { HttpCommon::STAT_NOT_PRESENT, HttpCommon:: STAT_NOT_PRESENT }; int32_t octets_reassembled[2] = { HttpCommon::STAT_NOT_PRESENT, HttpCommon:: STAT_NOT_PRESENT };
int32_t num_head_lines[2] = { HttpCommon::STAT_NOT_PRESENT, HttpCommon::STAT _NOT_PRESENT }; int32_t num_head_lines[2] = { HttpCommon::STAT_NOT_PRESENT, HttpCommon::STAT _NOT_PRESENT };
bool tcp_close[2] = { false, false }; bool tcp_close[2] = { false, false };
bool partial_flush[2] = { false, false }; bool partial_flush[2] = { false, false };
uint64_t last_connect_trans_w_early_traffic = 0; uint64_t last_connect_trans_w_early_traffic = 0;
HttpInfractions* infractions[2] = { new HttpInfractions, new HttpInfractions }; HttpInfractions* infractions[2] = { new HttpInfractions, new HttpInfractions };
HttpEventGen* events[2] = { new HttpEventGen, new HttpEventGen }; HttpEventGen* events[2] = { new HttpEventGen, new HttpEventGen };
// Infractions are associated with a specific message and are stored in the transaction for // Infractions are associated with a specific message and are stored in the transaction for
// that message. But StreamSplitter splits the start line before there is a transaction and // that message. But StreamSplitter splits the start line before there is a transaction and
// needs a place to put the problems it finds. Hence infractions are created before there is a // needs a place to put the problems it finds. Hence infractions are created before there is a
// transaction to associate them with and stored here until attach_my_transa ction() takes them // transaction to associate them with and stored here until attach_my_transa ction() takes them
// away and resets these to nullptr. The accessor method hides this from Str eamSplitter. // away and resets these to nullptr. The accessor method hides this from Str eamSplitter.
HttpInfractions* get_infractions(HttpCommon::SourceId source_id); HttpInfractions* get_infractions(HttpCommon::SourceId source_id);
// *** Inspector => StreamSplitter (facts about the message section that is coming next) // *** Inspector => StreamSplitter (facts about the message section that is coming next)
HttpEnums::SectionType type_expected[2] = { HttpEnums::SEC_REQUEST, HttpEnum s::SEC_STATUS }; HttpCommon::SectionType type_expected[2] = { HttpCommon::SEC_REQUEST, HttpCo mmon::SEC_STATUS };
bool last_request_was_connect = false; bool last_request_was_connect = false;
z_stream* compress_stream[2] = { nullptr, nullptr }; z_stream* compress_stream[2] = { nullptr, nullptr };
uint64_t zero_nine_expected = 0; uint64_t zero_nine_expected = 0;
// length of the data from Content-Length field // length of the data from Content-Length field
int64_t data_length[2] = { HttpCommon::STAT_NOT_PRESENT, HttpCommon::STAT_NO T_PRESENT }; int64_t data_length[2] = { HttpCommon::STAT_NOT_PRESENT, HttpCommon::STAT_NO T_PRESENT };
uint32_t section_size_target[2] = { 0, 0 }; uint32_t section_size_target[2] = { 0, 0 };
HttpEnums::CompressId compression[2] = { HttpEnums::CMP_NONE, HttpEnums::CMP _NONE }; HttpEnums::CompressId compression[2] = { HttpEnums::CMP_NONE, HttpEnums::CMP _NONE };
bool stretch_section_to_packet[2] = { false, false }; bool stretch_section_to_packet[2] = { false, false };
bool accelerated_blocking[2] = { false, false }; bool accelerated_blocking[2] = { false, false };
skipping to change at line 226 skipping to change at line 226
const std::unordered_set<std::string>& ignored_ids); const std::unordered_set<std::string>& ignored_ids);
void release_js_ctx(); void release_js_ctx();
bool is_pdu_missed(); bool is_pdu_missed();
bool cutover_on_clear = false; bool cutover_on_clear = false;
bool ssl_search_abandoned = false; bool ssl_search_abandoned = false;
// *** HTTP/2 handling // *** HTTP/2 handling
bool for_http2 = false; bool for_http2 = false;
uint32_t h2_stream_id = 0; uint32_t h2_stream_id = 0;
HttpEnums::H2BodyState h2_body_state[2] = { HttpEnums::H2_BODY_NOT_COMPLETE, HttpCommon::H2BodyState h2_body_state[2] = { HttpCommon::H2_BODY_NOT_COMPLET
HttpEnums::H2_BODY_NOT_COMPLETE }; E,
HttpCommon::H2_BODY_NOT_COMPLETE };
#ifdef REG_TEST #ifdef REG_TEST
static uint64_t instance_count; static uint64_t instance_count;
uint64_t seq_num; uint64_t seq_num;
void show(FILE* out_file) const; void show(FILE* out_file) const;
#endif #endif
}; };
#endif #endif
 End of changes. 6 change blocks. 
8 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)