Fix for Zephyr TimeNowInMilliseconds. Resolves issue with TLS v1.3 server and session tickets time (uptime in sim < 1000 ms was being made 0).

This commit is contained in:
David Garske
2024-03-15 14:01:59 -07:00
parent 737fa53636
commit 85c22abe4e
3 changed files with 15 additions and 6 deletions

View File

@@ -9768,7 +9768,12 @@ ProtocolVersion MakeDTLSv1_3(void)
word32 LowResTimer(void)
{
return k_uptime_get() / 1000;
int64_t t;
#if defined(CONFIG_ARCH_POSIX)
k_cpu_idle();
#endif
t = k_uptime_get(); /* returns current uptime in milliseconds */
return (word32)(t / 1000);
}
#elif defined(WOLFSSL_LINUXKM)

View File

@@ -1910,10 +1910,12 @@ end:
#elif defined(WOLFSSL_ZEPHYR)
word32 TimeNowInMilliseconds(void)
{
int64_t t;
#if defined(CONFIG_ARCH_POSIX)
k_cpu_idle();
#endif
return (word32)k_uptime_get() / 1000;
t = k_uptime_get(); /* returns current uptime in milliseconds */
return (word32)t;
}
#else
@@ -2201,10 +2203,12 @@ end:
#elif defined(WOLFSSL_ZEPHYR)
sword64 TimeNowInMilliseconds(void)
{
int64_t t;
#if defined(CONFIG_ARCH_POSIX)
k_cpu_idle();
#endif
return (sword64)k_uptime_get() / 1000;
t = k_uptime_get(); /* returns current uptime in milliseconds */
return (sword64)t;
}
#else