]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4610: dns-bee-message: add tenant-fqdn as key in bee-messages
authorWei Wang (weiwa) <weiwa@cisco.com>
Wed, 19 Mar 2025 14:30:20 +0000 (14:30 +0000)
committerSteve Chew (stechew) <stechew@cisco.com>
Wed, 19 Mar 2025 14:30:20 +0000 (14:30 +0000)
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 <weiwa@cisco.com>
Date:   Tue Mar 18 22:13:56 2025 +0530

    dns: pass packet in DnsResponseEvent

src/pub_sub/dns_events.h
src/service_inspectors/dns/dns.cc

index 809985d4ba5db34d3db7ac779a09855610fe3a30..dced26d2aaa7b7c80839e4ec6a18dd506fca136f 100644 (file)
@@ -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<DnsResponseIp> dns_ips;
     std::vector<DnsResponseFqdn> dns_fqdns;
+    Packet* packet = nullptr;
 };
 
 class SO_PUBLIC DnsResponseEvent : public snort::DataEvent
index 3352191762d715b87ba55c05420a820c5d20e0a5..36078aedc8939e1d3e7c4061a9c1beeabcb2678f 100644 (file)
@@ -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(