1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00

Fix an error in crc32 function in nrpe-enum. Fixes #1199

This commit is contained in:
dmiller
2018-05-03 16:52:39 +00:00
parent d35714e354
commit 99b9735715

View File

@@ -1,5 +1,4 @@
local bin = require "bin" local bin = require "bin"
local bit = require "bit"
local nmap = require "nmap" local nmap = require "nmap"
local shortport = require "shortport" local shortport = require "shortport"
local stdnse = require "stdnse" local stdnse = require "stdnse"
@@ -108,17 +107,12 @@ local CRC32_CONSTANTS = {
local crc32 = function(s) local crc32 = function(s)
local crc = 0xFFFFFFFF local crc = 0xFFFFFFFF
for i = 1, #s do for i = 1, #s do
local p1 = s:byte(i) local p4 = (crc ~ s:byte(i)) & 0xff
local p2 = bit.bxor(crc, p1)
local p3 = bit.band(p2, 0xFF)
local p4 = bit.band(p3)
local p5 = CRC32_CONSTANTS[p4 + 1] local p5 = CRC32_CONSTANTS[p4 + 1]
local p6 = bit.rshift(crc, 8) crc = p5 ~ (crc >> 8)
crc = bit.bxor(p6, p5)
end end
return bit.bxor(crc, 0xFFFFFFFF) return crc ~ 0xFFFFFFFF
end end
local nrpe_open = function(host, port) local nrpe_open = function(host, port)