"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/network_inspectors/appid/service_plugins/service_rpc.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.

service_rpc.cc  (snort3-3.1.36.0):service_rpc.cc  (snort3-3.1.38.0)
skipping to change at line 496 skipping to change at line 496
data += sizeof(UniversalAddress); data += sizeof(UniversalAddress);
string uaddr(data, data + tmp); string uaddr(data, data + tmp);
if (validate_and_parse_universal_address(uaddr, address, por t)) if (validate_and_parse_universal_address(uaddr, address, por t))
{ {
SfIp sip; SfIp sip;
uint32_t addr = htonl(address); uint32_t addr = htonl(address);
sip.set(&addr, AF_INET); sip.set(&addr, AF_INET);
const SfIp* dip = pkt->ptrs.ip_api.get_dst(); const SfIp* dip = pkt->ptrs.ip_api.get_dst();
AppIdSession* fsession = AppIdSession::create_future_ses sion( AppIdSession* fsession = AppIdSession::create_future_ses sion(
pkt, dip, 0, &sip, port, rd->proto, pkt, dip, 0, &sip, port, rd->proto,
asd.config.snort_proto_ids[PROTO_INDEX_SUNRPC]); asd.config.snort_proto_ids[PROTO_INDEX_SUNRPC], fals e, false, true);
if (fsession) if (fsession)
{ {
fsession->add_flow_data_id(port, this); fsession->add_flow_data_id(port, this);
fsession->service_disco_state = APPID_DISCO_STATE_ST ATEFUL; fsession->service_disco_state = APPID_DISCO_STATE_ST ATEFUL;
fsession->set_session_flags(asd.get_session_flags( fsession->set_session_flags(asd.get_session_flags(
APPID_SESSION_SPECIAL_MONITORED | APPID_SESSION_SPECIAL_MONITORED |
APPID_SESSION_DISCOVER_APP | APPID_SESSION_DISCOVER_APP |
APPID_SESSION_DISCOVER_USER)); APPID_SESSION_DISCOVER_USER));
} }
skipping to change at line 522 skipping to change at line 522
if (end-data < (int)sizeof(ServiceRPCPortmapReply)) if (end-data < (int)sizeof(ServiceRPCPortmapReply))
return APPID_NOMATCH; return APPID_NOMATCH;
pmr = (const ServiceRPCPortmapReply*)data; pmr = (const ServiceRPCPortmapReply*)data;
if (pmr->port) if (pmr->port)
{ {
const SfIp* dip = pkt->ptrs.ip_api.get_dst(); const SfIp* dip = pkt->ptrs.ip_api.get_dst();
const SfIp* sip = pkt->ptrs.ip_api.get_src(); const SfIp* sip = pkt->ptrs.ip_api.get_src();
tmp = ntohl(pmr->port); tmp = ntohl(pmr->port);
AppIdSession* pf = AppIdSession::create_future_session( AppIdSession* pf = AppIdSession::create_future_session(
pkt, dip, 0, sip, (uint16_t)tmp, pkt, dip, 0, sip, (uint16_t)tmp, rd->proto,
rd->proto,asd.config.snort_proto_ids[PROTO_INDEX_SUN asd.config.snort_proto_ids[PROTO_INDEX_SUNRPC], fals
RPC]); e, false, true);
if (pf) if (pf)
{ {
pf->add_flow_data_id((uint16_t)tmp, this); pf->add_flow_data_id((uint16_t)tmp, this);
pf->service_disco_state = APPID_DISCO_STATE_STATEFUL ; pf->service_disco_state = APPID_DISCO_STATE_STATEFUL ;
pf->set_session_flags(asd.get_session_flags( pf->set_session_flags(asd.get_session_flags(
APPID_SESSION_SPECIAL_MONITORED | APPID_SESSION_SPECIAL_MONITORED |
APPID_SESSION_DISCOVER_APP | APPID_SESSION_DISCOVER_APP |
APPID_SESSION_DISCOVER_USER)); APPID_SESSION_DISCOVER_USER));
} }
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added

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