From: Wei Wang (weiwa) Date: Wed, 19 Mar 2025 14:30:20 +0000 (+0000) Subject: Pull request #4610: dns-bee-message: add tenant-fqdn as key in bee-messages X-Git-Tag: 3.7.2.0~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cef0f14c72d6583e32d1de51ed23352d6258233a;p=thirdparty%2Fsnort3.git Pull request #4610: dns-bee-message: add tenant-fqdn as key in bee-messages Merge in SNORT/snort3 from ~WEIWA/snort3:weiwa-master-fqdn-bee-compaction-key to master Squashed commit of the following: commit 745433c3a261d0dded615b83c89a65785bcb102d Author: Wei Wang Date: Tue Mar 18 22:13:56 2025 +0530 dns: pass packet in DnsResponseEvent --- diff --git a/src/pub_sub/dns_events.h b/src/pub_sub/dns_events.h index 809985d4b..dced26d2a 100644 --- a/src/pub_sub/dns_events.h +++ b/src/pub_sub/dns_events.h @@ -71,9 +71,16 @@ public: void get_dns_data(IPFqdnCacheItem& ip_fqdn_cache_item); bool empty() const; + const Packet* get_packet() const override + { return packet; } + + void set_packet(Packet* p) + { packet = p; } + private: std::vector dns_ips; std::vector dns_fqdns; + Packet* packet = nullptr; }; class SO_PUBLIC DnsResponseEvent : public snort::DataEvent diff --git a/src/service_inspectors/dns/dns.cc b/src/service_inspectors/dns/dns.cc index 335219176..36078aedc 100644 --- a/src/service_inspectors/dns/dns.cc +++ b/src/service_inspectors/dns/dns.cc @@ -95,8 +95,9 @@ static DNSData* SetNewDNSData(Packet* p) return nullptr; fd = new DnsFlowData; - + fd->session.dns_events.set_packet(p); p->flow->set_flow_data(fd); + return &fd->session; } @@ -147,12 +148,17 @@ DNSData* get_dns_session_data(Packet* p, bool from_server, DNSData& udpSessionDa if (p->dsize < (sizeof(DNSHdr))) return nullptr; } - + udpSessionData.dns_events.set_packet(p); return &udpSessionData; } fd = (DnsFlowData*)((p->flow)->get_flow_data(DnsFlowData::inspector_id)); - return fd ? &fd->session : nullptr; + if (fd) + { + fd->session.dns_events.set_packet(p); + return &fd->session; + } + return nullptr; } static uint16_t ParseDNSHeader(