summaryrefslogtreecommitdiffstats
path: root/examples/dumpdns2pcap.lua
diff options
context:
space:
mode:
authorDaniel Baumann <mail@daniel-baumann.ch>2023-12-10 09:45:27 +0000
committerDaniel Baumann <mail@daniel-baumann.ch>2023-12-10 09:45:27 +0000
commit38b6c8c8ca8294c87bce5325fbba50fba1a40465 (patch)
tree14f869a6270a904547a6abcb113c5425554d8331 /examples/dumpdns2pcap.lua
parentAdding upstream version 1.2.3. (diff)
downloaddnsjit-38b6c8c8ca8294c87bce5325fbba50fba1a40465.tar.xz
dnsjit-38b6c8c8ca8294c87bce5325fbba50fba1a40465.zip
Adding upstream version 1.3.0.upstream/1.3.0upstream
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'examples/dumpdns2pcap.lua')
-rwxr-xr-xexamples/dumpdns2pcap.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/examples/dumpdns2pcap.lua b/examples/dumpdns2pcap.lua
index 08656cc..03cc21f 100755
--- a/examples/dumpdns2pcap.lua
+++ b/examples/dumpdns2pcap.lua
@@ -26,6 +26,18 @@ while true do
if obj == nil then break end
local pl = obj:cast()
if obj:type() == "payload" and pl.len > 0 then
+ local protocol = obj.obj_prev
+ while protocol ~= nil do
+ if protocol.obj_type == object.UDP or protocol.obj_type == object.TCP then
+ break
+ end
+ protocol = protocol.obj_prev
+ end
+
+ dns:reset()
+ if protocol ~= nil and protocol.obj_type == object.TCP then
+ dns.includes_dnslen = 1
+ end
dns.obj_prev = obj
if dns:parse_header() == 0 then
receiver(rctx, obj)