1
0
Fork 0
godot/core
Fabio Alessandrelli 2c789788c0 mbedTLS: Fix concurrency issues with TLS
When we first integrated mbedTLS, we decided not to enable
MBEDTLS_THREADING_C (which adds mutex locking to calls modifying the
state), and instead to simply create separate contexts ("states") for
each connection.

This worked fine until recently.
Sadly, mbedTLS 3 added a global state for the new PSA crypto
functionalities (which are required to support TLSv1.3).
This results in TLSv1.3 connections to access and modify the global
state concurrently when running in threads.

This commit enables MBEDTLS_THREADING_C, and MBEDTLS_THREADING_C_ALT to
provide a generic Godot implementation using the engine Mutex class.
2025-05-08 11:45:00 +02:00
..
config Add `GLOBAL_GET` cached macros. 2025-04-30 15:08:50 +01:00
crypto CryptoCore: Use size_t for buffer sizes to fix encoding/sums of 2.0+ GiB files. 2025-04-03 11:29:59 +02:00
debugger Inline static variables (part 1) 2025-04-29 18:10:44 +02:00
error Core: Use `__fastfail()` in MSVC error macros 2025-04-29 12:25:11 -05:00
extension Rename `_strlen_clipped` to `strnlen` (and use the system equivalent for `char *` inputs). 2025-05-06 15:17:07 +02:00
input MacOS: Embedded window support. 2025-05-06 06:09:05 +10:00
io mbedTLS: Fix concurrency issues with TLS 2025-05-08 11:45:00 +02:00
math Fix RandomPCG::random(int, int) overflow bug 2025-05-06 17:54:12 -04:00
object Fix empty lines being added for errors with no script backtrace 2025-05-05 13:27:21 +02:00
os Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
string Merge pull request #101356 from Ivorforce/inline-utf-creation-functions 2025-05-07 12:48:32 -05:00
templates Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
variant Merge pull request #103264 from mhilbrunner/docs-path-join 2025-05-07 12:48:29 -05:00
SCsub SCons: Begin decoupling generation & build code 2025-04-25 08:23:01 -05:00
core_bind.compat.inc Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
core_bind.cpp Inline static variables (part 1) 2025-04-29 18:10:44 +02:00
core_bind.h Inline static variables (part 1) 2025-04-29 18:10:44 +02:00
core_builders.py SCons: Begin decoupling generation & build code 2025-04-25 08:23:01 -05:00
core_constants.cpp Add enable checkboxes to editor sections 2025-04-15 13:49:41 -07:00
core_constants.h Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
core_globals.h Inline static variables (part 1) 2025-04-29 18:10:44 +02:00
core_string_names.h Always use `String` as `StringName` backing internally. 2025-04-23 14:57:03 +02:00
doc_data.cpp Add `String::replace_char(s)` methods for performance and convenience 2025-04-10 13:08:45 +02:00
doc_data.h Do not iterate Dictionary with get_key_at_index. 2025-04-07 21:54:13 +08:00
register_core_types.cpp Remove registration of deprecated classes 2025-05-05 20:16:50 +02:00
register_core_types.h Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
typedefs.h Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
version.h Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00