|
|
@ -540,3 +540,35 @@ function onconnection(clientHandle) { |
|
|
|
Server.prototype.close = function() { |
|
|
|
this._handle.close(); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// TODO: isIP should be moved to the DNS code. Putting it here now because
|
|
|
|
// this is what the legacy system did.
|
|
|
|
exports.isIP = function(input) { |
|
|
|
if (!input) { |
|
|
|
return 4; |
|
|
|
} else if (/^(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)$/.test(input)) { |
|
|
|
var parts = input.split('.'); |
|
|
|
for (var i = 0; i < parts.length; i++) { |
|
|
|
var part = parseInt(parts[i]); |
|
|
|
if (part < 0 || 255 < part) { |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
return 4; |
|
|
|
} else if (/^(::)?([a-fA-F0-9]+(::?)?)*$/.test(input)) { |
|
|
|
return 6; |
|
|
|
} else { |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
exports.isIPv4 = function(input) { |
|
|
|
return TCP.isIP(input) === 4; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
exports.isIPv6 = function(input) { |
|
|
|
return TCP.isIP(input) === 6; |
|
|
|
}; |
|
|
|