From b1dd4966335cbe49c189a72a5ded77c190869948 Mon Sep 17 00:00:00 2001 From: jdwilliams15 Date: Wed, 4 Jun 2014 16:13:41 -0400 Subject: [PATCH 1/3] Changed socket error handler to handle 'ECONNREFUSED'. In event of ECONNREFUSED the port is available --- lib/portscanner.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/portscanner.js b/lib/portscanner.js index 8ed389d..59ed5fd 100644 --- a/lib/portscanner.js +++ b/lib/portscanner.js @@ -64,6 +64,7 @@ portscanner.checkPortStatus = function(port, options, callback) { var host = options.host || '127.0.0.1' var timeout = options.timeout || 400 + var connectionRefused = false; var socket = new Socket() , status = null @@ -86,12 +87,20 @@ portscanner.checkPortStatus = function(port, options, callback) { // Assuming the port is not open if an error. May need to refine based on // exception socket.on('error', function(exception) { - error = exception - status = 'closed' + if(exception.code !== "ECONNREFUSED") { + error = exception + } + else + connectionRefused = true; + status = 'closed' }) // Return after the socket has closed - socket.on('close', function() { + socket.on('close', function(exception) { + if(exception && !connectionRefused) + error = exception; + else + error = null; callback(error, status) }) From 053b56e455367f04dc2115b2e16353b7b5641f6a Mon Sep 17 00:00:00 2001 From: jdwilliams15 Date: Sat, 21 Jun 2014 20:33:55 -0400 Subject: [PATCH 2/3] fixed indentation --- lib/portscanner.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/portscanner.js b/lib/portscanner.js index 59ed5fd..6b4f78d 100644 --- a/lib/portscanner.js +++ b/lib/portscanner.js @@ -88,19 +88,19 @@ portscanner.checkPortStatus = function(port, options, callback) { // exception socket.on('error', function(exception) { if(exception.code !== "ECONNREFUSED") { - error = exception + error = exception } else - connectionRefused = true; - status = 'closed' + connectionRefused = true; + status = 'closed' }) // Return after the socket has closed socket.on('close', function(exception) { if(exception && !connectionRefused) - error = exception; + error = exception; else - error = null; + error = null; callback(error, status) }) From 725afef7b40b6b51abbba035cbd4c63268df665a Mon Sep 17 00:00:00 2001 From: jdwilliams15 Date: Sat, 21 Jun 2014 20:45:00 -0400 Subject: [PATCH 3/3] fix indent --- lib/portscanner.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/portscanner.js b/lib/portscanner.js index 6b4f78d..a27ba84 100644 --- a/lib/portscanner.js +++ b/lib/portscanner.js @@ -88,19 +88,19 @@ portscanner.checkPortStatus = function(port, options, callback) { // exception socket.on('error', function(exception) { if(exception.code !== "ECONNREFUSED") { - error = exception + error = exception } - else - connectionRefused = true; - status = 'closed' + else + connectionRefused = true; + status = 'closed' }) // Return after the socket has closed socket.on('close', function(exception) { - if(exception && !connectionRefused) - error = exception; - else - error = null; + if(exception && !connectionRefused) + error = exception; + else + error = null; callback(error, status) })