From 238b8357a313dcb90c86f95a0d52c99dee444875 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Thu, 18 May 2023 19:22:23 +0200 Subject: [TLS] Fix crashes trying to use TLS when not available. If no StreamPeerTLS implementation is available, HTTPClient and WebSocketPeer will now correctly refuse to connect using TLS returning ERR_UNAVAILABLE. Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS is not available. (cherry picked from commit eeac6f8c7f070a9f4674bfa51ec35c57516311c0) --- thirdparty/enet/godot.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'thirdparty/enet') diff --git a/thirdparty/enet/godot.cpp b/thirdparty/enet/godot.cpp index ea7f4957a2..2cbfe59fc6 100644 --- a/thirdparty/enet/godot.cpp +++ b/thirdparty/enet/godot.cpp @@ -436,6 +436,7 @@ ENetSocket enet_socket_create(ENetSocketType type) { } int enet_host_dtls_server_setup(ENetHost *host, void *p_options) { + ERR_FAIL_COND_V_MSG(!DTLSServer::is_available(), -1, "DTLS server is not available in this build."); ENetGodotSocket *sock = (ENetGodotSocket *)host->socket; if (!sock->can_upgrade()) { return -1; @@ -446,6 +447,7 @@ int enet_host_dtls_server_setup(ENetHost *host, void *p_options) { } int enet_host_dtls_client_setup(ENetHost *host, const char *p_for_hostname, void *p_options) { + ERR_FAIL_COND_V_MSG(!PacketPeerDTLS::is_available(), -1, "DTLS is not available in this build."); ENetGodotSocket *sock = (ENetGodotSocket *)host->socket; if (!sock->can_upgrade()) { return -1; -- cgit v1.2.3