|
@@ -30,6 +30,8 @@
|
|
|
|
|
|
#include "tls_context_mbedtls.h"
|
|
#include "tls_context_mbedtls.h"
|
|
|
|
|
|
|
|
+#include "core/config/project_settings.h"
|
|
|
|
+
|
|
static void my_debug(void *ctx, int level,
|
|
static void my_debug(void *ctx, int level,
|
|
const char *file, int line,
|
|
const char *file, int line,
|
|
const char *str) {
|
|
const char *str) {
|
|
@@ -144,6 +146,11 @@ Error TLSContextMbedTLS::init_server(int p_transport, Ref<TLSOptions> p_options,
|
|
cookies = p_cookies;
|
|
cookies = p_cookies;
|
|
mbedtls_ssl_conf_dtls_cookies(&conf, mbedtls_ssl_cookie_write, mbedtls_ssl_cookie_check, &(cookies->cookie_ctx));
|
|
mbedtls_ssl_conf_dtls_cookies(&conf, mbedtls_ssl_cookie_write, mbedtls_ssl_cookie_check, &(cookies->cookie_ctx));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (Engine::get_singleton()->is_editor_hint() || !(bool)GLOBAL_GET("network/tls/enable_tls_v1.3")) {
|
|
|
|
+ mbedtls_ssl_conf_max_tls_version(&conf, MBEDTLS_SSL_VERSION_TLS1_2);
|
|
|
|
+ }
|
|
|
|
+
|
|
mbedtls_ssl_setup(&tls, &conf);
|
|
mbedtls_ssl_setup(&tls, &conf);
|
|
return OK;
|
|
return OK;
|
|
}
|
|
}
|
|
@@ -187,6 +194,10 @@ Error TLSContextMbedTLS::init_client(int p_transport, const String &p_hostname,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (Engine::get_singleton()->is_editor_hint() || !(bool)GLOBAL_GET("network/tls/enable_tls_v1.3")) {
|
|
|
|
+ mbedtls_ssl_conf_max_tls_version(&conf, MBEDTLS_SSL_VERSION_TLS1_2);
|
|
|
|
+ }
|
|
|
|
+
|
|
// Set valid CAs
|
|
// Set valid CAs
|
|
mbedtls_ssl_conf_ca_chain(&conf, &(cas->cert), nullptr);
|
|
mbedtls_ssl_conf_ca_chain(&conf, &(cas->cert), nullptr);
|
|
mbedtls_ssl_setup(&tls, &conf);
|
|
mbedtls_ssl_setup(&tls, &conf);
|