From: Richard Gibson Date: Thu, 30 Aug 2018 03:57:20 +0000 (-0400) Subject: dnsdist: Add lua binding for reading trailing data X-Git-Tag: rec-4.2.0-alpha1~16^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64cda3dd489098c4f5e378d6c6e47245b540abaa;p=thirdparty%2Fpdns.git dnsdist: Add lua binding for reading trailing data --- diff --git a/pdns/dnsdist-lua-bindings-dnsquestion.cc b/pdns/dnsdist-lua-bindings-dnsquestion.cc index 52ccf2711c..ebc93901b0 100644 --- a/pdns/dnsdist-lua-bindings-dnsquestion.cc +++ b/pdns/dnsdist-lua-bindings-dnsquestion.cc @@ -63,6 +63,12 @@ void setupLuaBindingsDNSQuestion() return *dq.ednsOptions; }); + g_lua.registerFunction(DNSQuestion::*)(void)>("getTrailingData", [](const DNSQuestion& dq) { + const uint8_t* message = reinterpret_cast(dq.dh); + const uint16_t length = getDNSPacketLength(reinterpret_cast(message), dq.len); + vector tail(message + length, message + dq.len); + return tail; + }); g_lua.registerFunction("sendTrap", [](const DNSQuestion& dq, boost::optional reason) { #ifdef HAVE_NET_SNMP