undefined is passed as hostname to tls.checkServerIdentity
Hi all,
When using tls.connect(options)
with no options.host
I get this:
Hostname/IP doesn't match certificate's altnames: "Host: undefined. is not cert's CN: localhost"
I tried to track this and it seems tls.checkServerIdentity get called with hostname
as undefined
.
Examining the stack, it gets called by _tls_wrap.js:913 and hostname
is defined in _tls_wrap.js:859.
As you can see, hostname
is undefined
because neither options.servername
, options.host
nor options.socket
are set.
The tls.connect doc says: "If host is omitted, it defaults to localhost", so shouldn't it actually set options.host
to "localhost"
in this case?
Adding it to defaults may solve this, but I have very little understanding of this part of the code to be sure.
Is it a bug or intended?
Best regards