1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-15 20:29:03 +00:00

Do a connect on rpc-grind UDP sockets to invoke socket_lock.

This connect should be side effect–free except for calling socket_lock,
which prevents the creation of an excessive number of sockets. Not using
the lock was causing "Too many open files" errors.

We should have a cleaner general solution for this, and not require
scripts to "connect" their unconnected UDP sockets. I seem to remember
that there was a good reason for not enforcing the lock on socket
creation, but only on connect, as we do.

http://seclists.org/nmap-dev/2012/q4/435
This commit is contained in:
david
2012-12-31 19:06:33 +00:00
parent 4cf5d561cb
commit e03dcf3d8a

View File

@@ -187,11 +187,15 @@ Comm = {
local resvport = math.random(1, 1024)
socket = nmap.new_socket("udp")
status, err = socket:bind(nil, resvport)
if status then break end
socket:close()
if status then
status, err = socket:connect(host, port)
if status or err == "TIMEOUT" then break end
socket:close()
end
end
else
socket = nmap.new_socket("udp")
status, err = socket:connect(host, port)
end
end
if (not(status)) then