diff --git a/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPRequest.cpp b/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPRequest.cpp index 46e6e73f33b..84bdda67ddc 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPRequest.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/HTTP/HTTPRequest.cpp @@ -261,6 +261,10 @@ void HTTPRequest::PlatformStartRequest() curl_easy_setopt(m_pCURL, CURLOPT_SSL_VERIFYHOST, 0); #endif + // Explicitly set supported elliptic curves for Schannel to prevent division by zero + // in CTlsExtServer::ParseEllipticCurveExtension when using libcurl 8.6.0 with Schannel + curl_easy_setopt(m_pCURL, CURLOPT_SSL_EC_CURVES, "X25519:P-256:P-384:P-521"); + } } diff --git a/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/OnlineServices_RoomsInterface.cpp b/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/OnlineServices_RoomsInterface.cpp index 11f938ecf16..1be6e907465 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/OnlineServices_RoomsInterface.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameNetwork/GeneralsOnline/OnlineServices_RoomsInterface.cpp @@ -88,6 +88,11 @@ void WebSocket::Connect(const char* url, bool bIsReconnect, std::function