Progress on supporting IPv6 (#805)
* Progress on supporting IPv6 * Apply suggestions from code review Co-authored-by: James Sumners <james@sumners.email> * tests: add IPv6 URL format test to server.test.js Co-authored-by: James Sumners <james@sumners.email>
This commit is contained in:
parent
9143456b4f
commit
188870d7b5
|
@ -508,7 +508,15 @@ Object.defineProperties(Server.prototype, {
|
||||||
} else {
|
} else {
|
||||||
str = 'ldap://'
|
str = 'ldap://'
|
||||||
}
|
}
|
||||||
str += this.host + ':' + this.port
|
|
||||||
|
let host = this.host
|
||||||
|
// Node 18 switched family from returning a string to returning a number
|
||||||
|
// https://nodejs.org/api/net.html#serveraddress
|
||||||
|
if (addr.family === 'IPv6' || addr.family === 6) {
|
||||||
|
host = '[' + this.host + ']'
|
||||||
|
}
|
||||||
|
|
||||||
|
str += host + ':' + this.port
|
||||||
return str
|
return str
|
||||||
},
|
},
|
||||||
configurable: false
|
configurable: false
|
||||||
|
|
|
@ -24,7 +24,7 @@ tap.test('basic create', function (t) {
|
||||||
tap.test('connection count', function (t) {
|
tap.test('connection count', function (t) {
|
||||||
const server = ldap.createServer()
|
const server = ldap.createServer()
|
||||||
t.ok(server)
|
t.ok(server)
|
||||||
server.listen(0, 'localhost', function () {
|
server.listen(0, '127.0.0.1', function () {
|
||||||
t.ok(true, 'server listening on ' + server.url)
|
t.ok(true, 'server listening on ' + server.url)
|
||||||
|
|
||||||
server.getConnections(function (err, count) {
|
server.getConnections(function (err, count) {
|
||||||
|
@ -62,6 +62,17 @@ tap.test('properties', function (t) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
tap.test('IPv6 URL is formatted correctly', function (t) {
|
||||||
|
const server = ldap.createServer()
|
||||||
|
t.equal(server.url, null, 'url empty before bind')
|
||||||
|
server.listen(0, '::1', function () {
|
||||||
|
t.ok(server.url)
|
||||||
|
t.equal(server.url, 'ldap://[::1]:' + server.port)
|
||||||
|
|
||||||
|
server.close(() => t.end())
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
tap.test('listen on unix/named socket', function (t) {
|
tap.test('listen on unix/named socket', function (t) {
|
||||||
const server = ldap.createServer()
|
const server = ldap.createServer()
|
||||||
server.listen(t.context.sock, function () {
|
server.listen(t.context.sock, function () {
|
||||||
|
@ -437,7 +448,7 @@ tap.test('multithreading support via external server', function (t) {
|
||||||
config: serverOptions
|
config: serverOptions
|
||||||
}
|
}
|
||||||
t.ok(server)
|
t.ok(server)
|
||||||
fauxServer.listen(5555, 'localhost', function () {
|
fauxServer.listen(5555, '127.0.0.1', function () {
|
||||||
t.ok(true, 'server listening on ' + server.url)
|
t.ok(true, 'server listening on ' + server.url)
|
||||||
|
|
||||||
t.ok(fauxServer)
|
t.ok(fauxServer)
|
||||||
|
@ -459,7 +470,7 @@ tap.test('multithreading support via hook', function (t) {
|
||||||
const server = ldap.createServer(serverOptions)
|
const server = ldap.createServer(serverOptions)
|
||||||
const fauxServer = ldap.createServer(serverOptions)
|
const fauxServer = ldap.createServer(serverOptions)
|
||||||
t.ok(server)
|
t.ok(server)
|
||||||
fauxServer.listen(0, 'localhost', function () {
|
fauxServer.listen(0, '127.0.0.1', function () {
|
||||||
t.ok(true, 'server listening on ' + server.url)
|
t.ok(true, 'server listening on ' + server.url)
|
||||||
|
|
||||||
t.ok(fauxServer)
|
t.ok(fauxServer)
|
||||||
|
|
Loading…
Reference in New Issue