mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-03-20 19:21:09 +01:00
Have MBEDTLS_TIMING_C require MBEDTLS_HAVE_TIME
Nowadays, the timing module just builds on a function that provides a timer with millisecond resolution. In terms of platform requirements, this is almost exactly equivalent to `mbedtls_ms_time()` provides (`mbedtls_ms_time()` is arguably a little stronger because it is supposed to last longer than a single timer object, but an application could start a timer when it starts, so there's no real difference.) So it's a bit silly that `timing.c` essentially reimplements this. Rely on `mbedtls_ms_time()` instead. This is an API break because in Mbed TLS 4.0, it was possible to enable `MBEDTLS_TIMING_C` without `MBEDTLS_HAVE_TIME`. However, `timing.c` only provided an implementation for Windows and Unix-like platforms, and on those platforms, it is very likely that the default implementation of `MBEDTLS_HAVE_TIME` would also work. (The main exception would be a platform that has the traditional Unix function `gettimeofday()`, but not the 1990s novelty `clock_gettime()`.) So make this an official requirement, as a belated change that really should have gone into 4.0 if we'd taken the time to dig into it. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
5
ChangeLog.d/timing.txt
Normal file
5
ChangeLog.d/timing.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
API changes
|
||||
* MBEDTLS_TIMING_C now requires MBEDTLS_HAVE_TIME to be enabled in the
|
||||
TF-PSA-Crypto configuration, unless MBEDTLS_TIMING_ALT is enabled.
|
||||
As a benefit, platforms where the default implementation is not
|
||||
supported now only need to implement MBEDTLS_PLATFORM_MS_TIME_ALT.
|
||||
Reference in New Issue
Block a user