"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/service_inspectors/dce_rpc/dce_smb2.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.

dce_smb2.h  (snort3-3.1.28.0):dce_smb2.h  (snort3-3.1.29.0)
skipping to change at line 348 skipping to change at line 348
using Dce2Smb2FileTrackerPtr = std::shared_ptr<Dce2Smb2FileTracker>; using Dce2Smb2FileTrackerPtr = std::shared_ptr<Dce2Smb2FileTracker>;
using Dce2Smb2FileTrackerMap = using Dce2Smb2FileTrackerMap =
std::unordered_map<uint64_t, Dce2Smb2FileTrackerPtr, std::hash<uint64_t> >; std::unordered_map<uint64_t, Dce2Smb2FileTrackerPtr, std::hash<uint64_t> >;
PADDING_GUARD_BEGIN PADDING_GUARD_BEGIN
struct Smb2SessionKey struct Smb2SessionKey
{ {
uint32_t cip[4]; uint32_t cip[4];
uint32_t sip[4]; uint32_t sip[4];
uint64_t sid; uint64_t sid;
uint32_t asid;
int16_t cgroup; int16_t cgroup;
int16_t sgroup; int16_t sgroup;
uint16_t asid;
uint16_t padding;
bool operator==(const Smb2SessionKey& other) const bool operator==(const Smb2SessionKey& other) const
{ {
return( sid == other.sid and return( sid == other.sid and
cip[0] == other.cip[0] and cip[0] == other.cip[0] and
cip[1] == other.cip[1] and cip[1] == other.cip[1] and
cip[2] == other.cip[2] and cip[2] == other.cip[2] and
cip[3] == other.cip[3] and cip[3] == other.cip[3] and
sip[0] == other.sip[0] and sip[0] == other.sip[0] and
sip[1] == other.sip[1] and sip[1] == other.sip[1] and
skipping to change at line 375 skipping to change at line 374
sgroup == other.sgroup and sgroup == other.sgroup and
asid == other.asid ); asid == other.asid );
} }
}; };
struct Smb2FlowKey struct Smb2FlowKey
{ {
uint32_t ip_l[4]; // Low IP uint32_t ip_l[4]; // Low IP
uint32_t ip_h[4]; // High IP uint32_t ip_h[4]; // High IP
uint32_t mplsLabel; uint32_t mplsLabel;
uint32_t addressSpaceId;
uint16_t port_l; // Low Port - 0 if ICMP uint16_t port_l; // Low Port - 0 if ICMP
uint16_t port_h; // High Port - 0 if ICMP uint16_t port_h; // High Port - 0 if ICMP
int16_t group_l; int16_t group_l;
int16_t group_h; int16_t group_h;
uint16_t vlan_tag; uint16_t vlan_tag;
uint16_t addressSpaceId; uint16_t padding16;
uint8_t ip_protocol; uint8_t ip_protocol;
uint8_t pkt_type; uint8_t pkt_type;
uint8_t version; uint8_t version;
uint8_t padding; uint8_t padding;
}; };
struct Smb2MessageKey struct Smb2MessageKey
{ {
uint64_t mid; uint64_t mid;
uint32_t flow_key; uint32_t flow_key;
skipping to change at line 430 skipping to change at line 430
private: private:
size_t do_hash_flow_key(const uint32_t* d) const size_t do_hash_flow_key(const uint32_t* d) const
{ {
uint32_t a, b, c; uint32_t a, b, c;
a = b = c = SMB_KEY_HASH_HARDENER; a = b = c = SMB_KEY_HASH_HARDENER;
a += d[0]; b += d[1]; c += d[2]; mix(a, b, c); a += d[0]; b += d[1]; c += d[2]; mix(a, b, c);
a += d[3]; b += d[4]; c += d[5]; mix(a, b, c); a += d[3]; b += d[4]; c += d[5]; mix(a, b, c);
a += d[6]; b += d[7]; c += d[8]; mix(a, b, c); a += d[6]; b += d[7]; c += d[8]; mix(a, b, c);
a += d[9]; b += d[10]; c += d[11]; mix(a, b, c); a += d[9]; b += d[10]; c += d[11]; mix(a, b, c);
a += d[12]; finalize(a, b, c); a += d[12]; b += d[13]; finalize(a, b, c);
return c; return c;
} }
size_t do_hash_session_key(const uint32_t* d) const size_t do_hash_session_key(const uint32_t* d) const
{ {
uint32_t a, b, c; uint32_t a, b, c;
a = b = c = SMB_KEY_HASH_HARDENER; a = b = c = SMB_KEY_HASH_HARDENER;
a += d[0]; b += d[1]; c += d[2]; mix(a, b, c); a += d[0]; b += d[1]; c += d[2]; mix(a, b, c);
a += d[3]; b += d[4]; c += d[5]; mix(a, b, c); a += d[3]; b += d[4]; c += d[5]; mix(a, b, c);
a += d[6]; b += d[7]; c += d[8]; mix(a, b, c); a += d[6]; b += d[7]; c += d[8]; mix(a, b, c);
 End of changes. 5 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)