| 
														
															@@ -2719,7 +2719,6 @@ struct mg_connection { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	const char *host;         /* Host (HTTP/1.1 header or SNI) */ 
														 | 
														
														 | 
														
															 	const char *host;         /* Host (HTTP/1.1 header or SNI) */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	SSL *ssl;                 /* SSL descriptor */ 
														 | 
														
														 | 
														
															 	SSL *ssl;                 /* SSL descriptor */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	SSL_CTX *client_ssl_ctx;  /* SSL context for client connections */ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	struct socket client;     /* Connected client */ 
														 | 
														
														 | 
														
															 	struct socket client;     /* Connected client */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	time_t conn_birth_time;   /* Time (wall clock) when connection was 
														 | 
														
														 | 
														
															 	time_t conn_birth_time;   /* Time (wall clock) when connection was 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	                           * established */ 
														 | 
														
														 | 
														
															 	                           * established */ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16414,8 +16413,10 @@ mg_close_connection(struct mg_connection *conn) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	close_connection(conn); 
														 | 
														
														 | 
														
															 	close_connection(conn); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
														
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (conn->client_ssl_ctx != NULL) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		SSL_CTX_free((SSL_CTX *)conn->client_ssl_ctx); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (((conn->phys_ctx->context_type == CONTEXT_HTTP_CLIENT) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	     || (conn->phys_ctx->context_type == CONTEXT_WS_CLIENT)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	    && (conn->phys_ctx->dd.ssl_ctx != NULL)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		SSL_CTX_free(conn->phys_ctx->dd.ssl_ctx); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #endif 
														 | 
														
														 | 
														
															 #endif 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16437,10 +16438,6 @@ mg_close_connection(struct mg_connection *conn) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-/* Only for memory statistics */ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-static struct mg_context common_client_context; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 static struct mg_connection * 
														 | 
														
														 | 
														
															 static struct mg_connection * 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
														
														 | 
														
															 mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                        int use_ssl, 
														 | 
														
														 | 
														
															                        int use_ssl, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16460,8 +16457,8 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	size_t conn_size = ((sizeof(struct mg_connection) + 7) >> 3) << 3; 
														 | 
														
														 | 
														
															 	size_t conn_size = ((sizeof(struct mg_connection) + 7) >> 3) << 3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	size_t ctx_size = ((sizeof(struct mg_context) + 7) >> 3) << 3; 
														 | 
														
														 | 
														
															 	size_t ctx_size = ((sizeof(struct mg_context) + 7) >> 3) << 3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	conn = (struct mg_connection *)mg_calloc_ctx( 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	    1, conn_size + ctx_size + max_req_size, &common_client_context); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	conn = (struct mg_connection *)mg_calloc( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	    1, conn_size + ctx_size + max_req_size); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (conn == NULL) { 
														 | 
														
														 | 
														
															 	if (conn == NULL) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		mg_snprintf(NULL, 
														 | 
														
														 | 
														
															 		mg_snprintf(NULL, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16490,7 +16487,7 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	conn->phys_ctx->context_type = CONTEXT_HTTP_CLIENT; 
														 | 
														
														 | 
														
															 	conn->phys_ctx->context_type = CONTEXT_HTTP_CLIENT; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	conn->dom_ctx = &(conn->phys_ctx->dd); 
														 | 
														
														 | 
														
															 	conn->dom_ctx = &(conn->phys_ctx->dd); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	if (!connect_socket(&common_client_context, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (!connect_socket(conn->phys_ctx, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	                    client_options->host, 
														 | 
														
														 | 
														
															 	                    client_options->host, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	                    client_options->port, 
														 | 
														
														 | 
														
															 	                    client_options->port, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	                    use_ssl, 
														 | 
														
														 | 
														
															 	                    use_ssl, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16507,7 +16504,8 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
														
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if defined(OPENSSL_API_1_1) 
														 | 
														
														 | 
														
															 #if defined(OPENSSL_API_1_1) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (use_ssl 
														 | 
														
														 | 
														
															 	if (use_ssl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	    && (conn->client_ssl_ctx = SSL_CTX_new(TLS_client_method())) == NULL) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	    && (conn->dom_ctx->ssl_ctx = SSL_CTX_new(TLS_client_method())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	           == NULL) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		mg_snprintf(NULL, 
														 | 
														
														 | 
														
															 		mg_snprintf(NULL, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            NULL, /* No truncation check for ebuf */ 
														 | 
														
														 | 
														
															 		            NULL, /* No truncation check for ebuf */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            ebuf, 
														 | 
														
														 | 
														
															 		            ebuf, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16520,7 +16518,7 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #else 
														 | 
														
														 | 
														
															 #else 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (use_ssl 
														 | 
														
														 | 
														
															 	if (use_ssl 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	    && (conn->client_ssl_ctx = SSL_CTX_new(SSLv23_client_method())) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	    && (conn->dom_ctx->ssl_ctx = SSL_CTX_new(SSLv23_client_method())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	           == NULL) { 
														 | 
														
														 | 
														
															 	           == NULL) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		mg_snprintf(NULL, 
														 | 
														
														 | 
														
															 		mg_snprintf(NULL, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            NULL, /* No truncation check for ebuf */ 
														 | 
														
														 | 
														
															 		            NULL, /* No truncation check for ebuf */ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16565,7 +16563,7 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            ebuf_len, 
														 | 
														
														 | 
														
															 		            ebuf_len, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            "Can not create mutex"); 
														 | 
														
														 | 
														
															 		            "Can not create mutex"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
														
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		SSL_CTX_free(conn->client_ssl_ctx); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		SSL_CTX_free(conn->dom_ctx->ssl_ctx); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #endif 
														 | 
														
														 | 
														
															 #endif 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		closesocket(sock); 
														 | 
														
														 | 
														
															 		closesocket(sock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		mg_free(conn); 
														 | 
														
														 | 
														
															 		mg_free(conn); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16575,18 +16573,16 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
														
														 | 
														
															 #if !defined(NO_SSL) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	if (use_ssl) { 
														 | 
														
														 | 
														
															 	if (use_ssl) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		common_client_context.dd.ssl_ctx = conn->client_ssl_ctx; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		/* TODO: Check ssl_verify_peer and ssl_ca_path here. 
														 | 
														
														 | 
														
															 		/* TODO: Check ssl_verify_peer and ssl_ca_path here. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		 * SSL_CTX_set_verify call is needed to switch off server 
														 | 
														
														 | 
														
															 		 * SSL_CTX_set_verify call is needed to switch off server 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		 * certificate checking, which is off by default in OpenSSL and 
														 | 
														
														 | 
														
															 		 * certificate checking, which is off by default in OpenSSL and 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		 * on in yaSSL. */ 
														 | 
														
														 | 
														
															 		 * on in yaSSL. */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		/* TODO: SSL_CTX_set_verify(conn->client_ssl_ctx, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		/* TODO: SSL_CTX_set_verify(conn->dom_ctx, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		 * SSL_VERIFY_PEER, verify_ssl_server); */ 
														 | 
														
														 | 
														
															 		 * SSL_VERIFY_PEER, verify_ssl_server); */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (client_options->client_cert) { 
														 | 
														
														 | 
														
															 		if (client_options->client_cert) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (!ssl_use_pem_file(&common_client_context, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			                      &(common_client_context.dd), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (!ssl_use_pem_file(conn->phys_ctx, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			                      conn->dom_ctx, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			                      client_options->client_cert, 
														 | 
														
														 | 
														
															 			                      client_options->client_cert, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			                      NULL)) { 
														 | 
														
														 | 
														
															 			                      NULL)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				mg_snprintf(NULL, 
														 | 
														
														 | 
														
															 				mg_snprintf(NULL, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16594,7 +16590,7 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				            ebuf, 
														 | 
														
														 | 
														
															 				            ebuf, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				            ebuf_len, 
														 | 
														
														 | 
														
															 				            ebuf_len, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				            "Can not use SSL client certificate"); 
														 | 
														
														 | 
														
															 				            "Can not use SSL client certificate"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				SSL_CTX_free(conn->client_ssl_ctx); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				SSL_CTX_free(conn->dom_ctx->ssl_ctx); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				closesocket(sock); 
														 | 
														
														 | 
														
															 				closesocket(sock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				mg_free(conn); 
														 | 
														
														 | 
														
															 				mg_free(conn); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				return NULL; 
														 | 
														
														 | 
														
															 				return NULL; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16602,25 +16598,25 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (client_options->server_cert) { 
														 | 
														
														 | 
														
															 		if (client_options->server_cert) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if (SSL_CTX_load_verify_locations(conn->client_ssl_ctx, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (SSL_CTX_load_verify_locations(conn->dom_ctx->ssl_ctx, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			                                  client_options->server_cert, 
														 | 
														
														 | 
														
															 			                                  client_options->server_cert, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			                                  NULL) 
														 | 
														
														 | 
														
															 			                                  NULL) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				!= 1) { 
														 | 
														
														 | 
														
															 				!= 1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				mg_cry_internal(conn, 
														 | 
														
														 | 
														
															 				mg_cry_internal(conn, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				                "SSL_CTX_load_verify_locations error: %s ", 
														 | 
														
														 | 
														
															 				                "SSL_CTX_load_verify_locations error: %s ", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				                ssl_error()); 
														 | 
														
														 | 
														
															 				                ssl_error()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				SSL_CTX_free(conn->client_ssl_ctx); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				SSL_CTX_free(conn->dom_ctx->ssl_ctx); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				closesocket(sock); 
														 | 
														
														 | 
														
															 				closesocket(sock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				mg_free(conn); 
														 | 
														
														 | 
														
															 				mg_free(conn); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				return NULL; 
														 | 
														
														 | 
														
															 				return NULL; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			SSL_CTX_set_verify(conn->client_ssl_ctx, SSL_VERIFY_PEER, NULL); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			SSL_CTX_set_verify(conn->dom_ctx->ssl_ctx, SSL_VERIFY_PEER, NULL); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} else { 
														 | 
														
														 | 
														
															 		} else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			SSL_CTX_set_verify(conn->client_ssl_ctx, SSL_VERIFY_NONE, NULL); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			SSL_CTX_set_verify(conn->dom_ctx->ssl_ctx, SSL_VERIFY_NONE, NULL); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (!sslize(conn, 
														 | 
														
														 | 
														
															 		if (!sslize(conn, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		            conn->client_ssl_ctx, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		            conn->dom_ctx->ssl_ctx, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            SSL_connect, 
														 | 
														
														 | 
														
															 		            SSL_connect, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            &(conn->phys_ctx->stop_flag), 
														 | 
														
														 | 
														
															 		            &(conn->phys_ctx->stop_flag), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		            client_options)) { 
														 | 
														
														 | 
														
															 		            client_options)) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16629,7 +16625,7 @@ mg_connect_client_impl(const struct mg_client_options *client_options, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			            ebuf, 
														 | 
														
														 | 
														
															 			            ebuf, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			            ebuf_len, 
														 | 
														
														 | 
														
															 			            ebuf_len, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			            "SSL connection error"); 
														 | 
														
														 | 
														
															 			            "SSL connection error"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			SSL_CTX_free(conn->client_ssl_ctx); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			SSL_CTX_free(conn->dom_ctx->ssl_ctx); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			closesocket(sock); 
														 | 
														
														 | 
														
															 			closesocket(sock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			mg_free(conn); 
														 | 
														
														 | 
														
															 			mg_free(conn); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return NULL; 
														 | 
														
														 | 
														
															 			return NULL; 
														 |