1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-31 20:09:02 +00:00

Fix endianness in unpacking IP addresses, since ipOps.fromdword is fixed. Fixes #750

This commit is contained in:
dmiller
2017-03-13 14:58:57 +00:00
parent 3e3f600b8a
commit 2091ce3199
17 changed files with 42 additions and 44 deletions

View File

@@ -66,7 +66,7 @@ local function read_ip(data, pos, length)
local results = {}
for i=1, length, 4 do
local value
pos, value = bin.unpack("<I", data, pos)
pos, value = bin.unpack(">I", data, pos)
table.insert(results, ipOps.fromdword(value))
end
@@ -74,7 +74,7 @@ local function read_ip(data, pos, length)
end
else
local value
pos, value = bin.unpack("<I", data, pos)
pos, value = bin.unpack(">I", data, pos)
return pos, ipOps.fromdword(value)
end
@@ -485,10 +485,10 @@ function dhcp_parse(data, transaction_id)
-- Unpack the secs, flags, addresses, sname, and file
pos, result['secs'], result['flags'] = bin.unpack(">SS", data, pos)
pos, result['ciaddr'] = bin.unpack("<I", data, pos)
pos, result['yiaddr'] = bin.unpack("<I", data, pos)
pos, result['siaddr'] = bin.unpack("<I", data, pos)
pos, result['giaddr'] = bin.unpack("<I", data, pos)
pos, result['ciaddr'] = bin.unpack(">I", data, pos)
pos, result['yiaddr'] = bin.unpack(">I", data, pos)
pos, result['siaddr'] = bin.unpack(">I", data, pos)
pos, result['giaddr'] = bin.unpack(">I", data, pos)
pos, result['chaddr'] = bin.unpack("A16", data, pos)
pos, result['sname'] = bin.unpack("A64", data, pos)
pos, result['file'] = bin.unpack("A128", data, pos)