"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/service_inspectors/http2_inspect/http2_frame.cc" between
snort3-3.1.36.0.tar.gz and snort3-3.1.38.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.

http2_frame.cc  (snort3-3.1.36.0):http2_frame.cc  (snort3-3.1.38.0)
skipping to change at line 29 skipping to change at line 29
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
#endif #endif
#include "http2_frame.h" #include "http2_frame.h"
#include "http2_data_frame.h" #include "http2_data_frame.h"
#include "http2_enum.h" #include "http2_enum.h"
#include "http2_flow_data.h" #include "http2_flow_data.h"
#include "http2_goaway_frame.h"
#include "http2_headers_frame_header.h" #include "http2_headers_frame_header.h"
#include "http2_headers_frame_trailer.h" #include "http2_headers_frame_trailer.h"
#include "http2_ping_frame.h" #include "http2_ping_frame.h"
#include "http2_priority_frame.h"
#include "http2_push_promise_frame.h" #include "http2_push_promise_frame.h"
#include "http2_rst_stream_frame.h" #include "http2_rst_stream_frame.h"
#include "http2_settings_frame.h" #include "http2_settings_frame.h"
#include "http2_stream.h" #include "http2_stream.h"
#include "http2_window_update_frame.h" #include "http2_window_update_frame.h"
#include "service_inspectors/http_inspect/http_field.h" #include "service_inspectors/http_inspect/http_field.h"
using namespace HttpCommon; using namespace HttpCommon;
using namespace Http2Enums; using namespace Http2Enums;
using namespace snort; using namespace snort;
skipping to change at line 62 skipping to change at line 64
else else
data.set(0, new uint8_t[0], true); data.set(0, new uint8_t[0], true);
} }
Http2Frame* Http2Frame::new_frame(const uint8_t* header, const uint32_t header_l en, Http2Frame* Http2Frame::new_frame(const uint8_t* header, const uint32_t header_l en,
const uint8_t* data, const uint32_t data_len, Http2FlowData* session_data, S ourceId source_id, const uint8_t* data, const uint32_t data_len, Http2FlowData* session_data, S ourceId source_id,
Http2Stream* stream) Http2Stream* stream)
{ {
Http2Frame* frame = nullptr; Http2Frame* frame = nullptr;
// FIXIT-E call the appropriate frame subclass constructor based on the type
switch(session_data->frame_type[source_id]) switch(session_data->frame_type[source_id])
{ {
case FT_HEADERS: case FT_HEADERS:
if (stream->get_state(source_id) == STREAM_EXPECT_HEADERS) if (stream->get_state(source_id) == STREAM_EXPECT_HEADERS)
frame = new Http2HeadersFrameHeader(header, header_len, data, da ta_len, frame = new Http2HeadersFrameHeader(header, header_len, data, da ta_len,
session_data, source_id, stream); session_data, source_id, stream);
else else
frame = new Http2HeadersFrameTrailer(header, header_len, data, d ata_len, frame = new Http2HeadersFrameTrailer(header, header_len, data, d ata_len,
session_data, source_id, stream); session_data, source_id, stream);
break; break;
case FT_PRIORITY:
frame = new Http2PriorityFrame(header, header_len, data, data_len, s
ession_data,
source_id, stream);
break;
case FT_SETTINGS: case FT_SETTINGS:
frame = new Http2SettingsFrame(header, header_len, data, data_len, s ession_data, frame = new Http2SettingsFrame(header, header_len, data, data_len, s ession_data,
source_id, stream); source_id, stream);
break; break;
case FT_DATA: case FT_DATA:
frame = new Http2DataFrame(header, header_len, data, data_len, sessi on_data, source_id, frame = new Http2DataFrame(header, header_len, data, data_len, sessi on_data, source_id,
stream); stream);
break; break;
case FT_PUSH_PROMISE: case FT_PUSH_PROMISE:
frame = new Http2PushPromiseFrame(header, header_len, data, data_len , session_data, frame = new Http2PushPromiseFrame(header, header_len, data, data_len , session_data,
source_id, stream); source_id, stream);
break; break;
case FT_PING: case FT_PING:
frame = new Http2PingFrame(header, header_len, data, data_len, sessi on_data, frame = new Http2PingFrame(header, header_len, data, data_len, sessi on_data,
source_id, stream); source_id, stream);
break; break;
case FT_GOAWAY:
frame = new Http2GoAwayFrame(header, header_len, data, data_len, ses
sion_data,
source_id, stream);
break;
case FT_RST_STREAM: case FT_RST_STREAM:
frame = new Http2RstStreamFrame(header, header_len, data, data_len, session_data, frame = new Http2RstStreamFrame(header, header_len, data, data_len, session_data,
source_id, stream); source_id, stream);
break; break;
case FT_WINDOW_UPDATE: case FT_WINDOW_UPDATE:
frame = new Http2WindowUpdateFrame(header, header_len, data, data_le n, session_data, frame = new Http2WindowUpdateFrame(header, header_len, data, data_le n, session_data,
source_id, stream); source_id, stream);
break; break;
default: default:
frame = new Http2Frame(header, header_len, data, data_len, session_d ata, source_id, frame = new Http2Frame(header, header_len, data, data_len, session_d ata, source_id,
 End of changes. 5 change blocks. 
1 lines changed or deleted 12 lines changed or added

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