mirror of
https://github.com/nmap/nmap.git
synced 2026-08-31 15:03:20 +00:00
Restore working DNS updates in dns.encode.
This was broken in the merge in r22778. Patrick Donnelly noticed this with nse_check_globals.
This commit is contained in:
parent
0183cde860
commit
832fae4c11
1 changed files with 8 additions and 8 deletions
|
|
@ -809,22 +809,22 @@ end
|
|||
function encode(pkt)
|
||||
if type(pkt) ~= "table" then return nil end
|
||||
local encFlags = encodeFlags(pkt.flags)
|
||||
local questions = encodeQuestions(pkt.questions)
|
||||
local additional = encodeAdditional(pkt.additional)
|
||||
local qorzlen = #pkt.questions
|
||||
local aorplen = #pkt.answers
|
||||
local aorulen = #pkt.auth
|
||||
local data, qorzlen, aorulen
|
||||
|
||||
if ( #pkt.questions < 1 ) then
|
||||
if ( #pkt.questions > 0 ) then
|
||||
data = encodeQuestions( pkt.questions )
|
||||
qorzlen = #pkt.questions
|
||||
aorulen = 0
|
||||
else
|
||||
-- The packet has no questions, assume we're dealing with an update
|
||||
data = encodeZones( pkt.zones )
|
||||
data = encodeZones( pkt.zones ) .. encodeUpdates( pkt.updates )
|
||||
qorzlen = #pkt.zones
|
||||
|
||||
aorulen = #pkt.updates
|
||||
data = data .. encodeUpdates( pkt.updates )
|
||||
end
|
||||
|
||||
local encStr = bin.pack(">SBS4", pkt.id, encFlags, qorzlen, aorplen, aorulen, #pkt.additional) .. questions .. additional
|
||||
local encStr = bin.pack(">SBS4", pkt.id, encFlags, qorzlen, aorplen, aorulen, #pkt.additional) .. data .. additional
|
||||
return encStr
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue