diff --git a/nselib/vnc.lua b/nselib/vnc.lua index 5adf2f58b..61da9a6e9 100644 --- a/nselib/vnc.lua +++ b/nselib/vnc.lua @@ -144,11 +144,11 @@ VNC = { [0xfffffffa] = "UltraVNC MS Logon", }, - new = function(self, host, port) + new = function(self, host, port, socket) local o = { host = host, port = port, - socket = nmap.new_socket(), + socket = socket or nmap.new_socket(), } o.socket:set_timeout(5000) setmetatable(o, self) diff --git a/scripts/vnc-brute.nse b/scripts/vnc-brute.nse index 2e380881a..45492e870 100644 --- a/scripts/vnc-brute.nse +++ b/scripts/vnc-brute.nse @@ -58,16 +58,8 @@ Driver = end, connect = function( self ) - local status, data - self.vnc = vnc.VNC:new( self.host, self.port ) - status, data = self.vnc:connect() - if ( not(status) ) then - local err = brute.Error:new( "VNC connect failed" ) - -- This might be temporary, set the retry flag - err:setRetry( true ) - return false, err - end - return true + self.vnc = vnc.VNC:new( self.host, self.port, brute.new_socket() ) + return self.vnc:connect() end, --- Attempts to login to the VNC server --