diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 242bc729..c084cfc5 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -1593,8 +1593,6 @@ libwebsocket_service_fd(struct libwebsocket_context *context, break; } - /* accepting connection to main listener */ - new_wsi = libwebsocket_create_new_server_wsi(context); if (new_wsi == NULL) { #ifdef WIN32 @@ -1628,6 +1626,9 @@ libwebsocket_service_fd(struct libwebsocket_context *context, break; } + SSL_set_ex_data(new_wsi->ssl, + openssl_websocket_private_data_index, context); + SSL_set_fd(new_wsi->ssl, accept_fd); n = SSL_accept(new_wsi->ssl);