diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/asyncnet.nim | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/pure/asyncnet.nim b/lib/pure/asyncnet.nim index 7e2c2f338..2d5c65001 100644 --- a/lib/pure/asyncnet.nim +++ b/lib/pure/asyncnet.nim @@ -253,6 +253,11 @@ proc connect*(socket: AsyncSocket, address: string, port: Port) {.async.} = await connect(socket.fd.AsyncFD, address, port, socket.domain) if socket.isSsl: when defineSsl: + if not isIpAddress(address): + # Set the SNI address for this connection. This call can fail if + # we're not using TLSv1+. + discard SSL_set_tlsext_host_name(socket.sslHandle, address) + let flags = {SocketFlag.SafeDisconn} sslSetConnectState(socket.sslHandle) sslLoop(socket, flags, sslDoHandshake(socket.sslHandle)) |