summaryrefslogtreecommitdiff
path: root/src/tls_wrap.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tls_wrap.cc')
-rw-r--r--src/tls_wrap.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tls_wrap.cc b/src/tls_wrap.cc
index cd6321b969..a1944df056 100644
--- a/src/tls_wrap.cc
+++ b/src/tls_wrap.cc
@@ -1033,6 +1033,14 @@ int TLSWrap::SelectSNIContextCallback(SSL* s, int* ad, void* arg) {
Local<Object> object = p->object();
Local<Value> ctx;
+ // Set the servername as early as possible
+ Local<Object> owner = p->GetOwner();
+ if (!owner->Set(env->context(),
+ env->servername_string(),
+ OneByteString(env->isolate(), servername)).FromMaybe(false)) {
+ return SSL_TLSEXT_ERR_NOACK;
+ }
+
if (!object->Get(env->context(), env->sni_context_string()).ToLocal(&ctx))
return SSL_TLSEXT_ERR_NOACK;