Skip to content

Commit 46cedcf

Browse files
Merge pull request #10268 from ColtonWilley/zephyr-4.3-default-tls-support
zephyr: changes needed for Zephyr 4.3 default TLS support
2 parents 0c9a496 + 008ca51 commit 46cedcf

5 files changed

Lines changed: 39 additions & 4 deletions

File tree

.wolfssl_known_macro_extras

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ CONFIG_WOLFSSL
157157
CONFIG_WOLFSSL_ALLOW_TLS13
158158
CONFIG_WOLFSSL_ALPN
159159
CONFIG_WOLFSSL_ALT_CERT_CHAINS
160+
CONFIG_WOLFSSL_ALWAYS_VERIFY_CB
160161
CONFIG_WOLFSSL_APPLE_HOMEKIT
161162
CONFIG_WOLFSSL_ASN_ALLOW_0_SERIAL
162163
CONFIG_WOLFSSL_CERTIFICATE_BUNDLE
@@ -174,11 +175,13 @@ CONFIG_WOLFSSL_EXAMPLE_NAME_WOLFMQTT_TEMPLATE
174175
CONFIG_WOLFSSL_EXAMPLE_NAME_WOLFSSH_ECHOSERVER
175176
CONFIG_WOLFSSL_EXAMPLE_NAME_WOLFSSH_TEMPLATE
176177
CONFIG_WOLFSSL_HKDF
178+
CONFIG_WOLFSSL_KEEP_PEER_CERT
177179
CONFIG_WOLFSSL_MAX_FRAGMENT_LEN
178180
CONFIG_WOLFSSL_MLKEM
179181
CONFIG_WOLFSSL_NO_ASN_STRICT
180182
CONFIG_WOLFSSL_PSK
181183
CONFIG_WOLFSSL_RSA_PSS
184+
CONFIG_WOLFSSL_SESSION_EXPORT
182185
CONFIG_WOLFSSL_TARGET_HOST
183186
CONFIG_WOLFSSL_TARGET_PORT
184187
CONFIG_WOLFSSL_TLS13_ENABLED
@@ -281,6 +284,7 @@ HAVE_ECC512
281284
HAVE_ECC_CDH_CAST
282285
HAVE_ECC_SM2
283286
HAVE_ESP_CLK
287+
HAVE_EXT_CACHE
284288
HAVE_FIPS_VERSION_PORT
285289
HAVE_FUZZER
286290
HAVE_INTEL_MULX

src/internal.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10611,7 +10611,8 @@ ProtocolVersion MakeDTLSv1_3(void)
1061110611
word32 LowResTimer(void)
1061210612
{
1061310613
int64_t t;
10614-
#if defined(CONFIG_ARCH_POSIX) && !defined(CONFIG_BOARD_NATIVE_POSIX)
10614+
#if defined(CONFIG_ARCH_POSIX) && !defined(CONFIG_BOARD_NATIVE_POSIX) \
10615+
&& !defined(CONFIG_BOARD_NATIVE_SIM)
1061510616
k_cpu_idle();
1061610617
#endif
1061710618
t = k_uptime_get(); /* returns current uptime in milliseconds */

wolfcrypt/src/wc_port.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ Threading/Mutex options:
224224
#endif
225225

226226
#if defined(WOLFSSL_ZEPHYR)
227-
#if defined(CONFIG_BOARD_NATIVE_POSIX)
227+
#if defined(CONFIG_BOARD_NATIVE_POSIX) || defined(CONFIG_BOARD_NATIVE_SIM)
228228
#include "native_rtc.h"
229229
#define CONFIG_RTC
230230
#endif
@@ -4113,7 +4113,7 @@ time_t z_time(time_t * timer)
41134113
#if defined(CONFIG_RTC) && \
41144114
(defined(CONFIG_PICOLIBC) || defined(CONFIG_NEWLIB_LIBC))
41154115

4116-
#if defined(CONFIG_BOARD_NATIVE_POSIX)
4116+
#if defined(CONFIG_BOARD_NATIVE_POSIX) || defined(CONFIG_BOARD_NATIVE_SIM)
41174117

41184118
/* When using native sim, get time from simulator rtc */
41194119
uint32_t nsec = 0;
@@ -4145,7 +4145,7 @@ time_t z_time(time_t * timer)
41454145
return epochTime;
41464146
}
41474147
}
4148-
#endif /* defined(CONFIG_BOARD_NATIVE_POSIX) */
4148+
#endif /* CONFIG_BOARD_NATIVE_POSIX || CONFIG_BOARD_NATIVE_SIM */
41494149
#endif
41504150

41514151
/* Fallback to uptime since boot. This works for relative times, but

zephyr/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,21 @@ config WOLFSSL_MAX_FRAGMENT_LEN
9898
Sets the maximum fragment length wolfSSL will use, values 1-6 correspond to enum values
9999
WOLFSSL_MFL_* in ssl.h
100100

101+
config WOLFSSL_SESSION_EXPORT
102+
bool "wolfSSL session export support"
103+
help
104+
Enable external session cache (HAVE_EXT_CACHE)
105+
106+
config WOLFSSL_KEEP_PEER_CERT
107+
bool "wolfSSL keep peer certificate support"
108+
help
109+
Retain peer certificate after handshake (KEEP_PEER_CERT)
110+
111+
config WOLFSSL_ALWAYS_VERIFY_CB
112+
bool "wolfSSL always invoke verify callback"
113+
help
114+
Invoke verify callback on success as well as failure (WOLFSSL_ALWAYS_VERIFY_CB)
115+
101116
config WOLFCRYPT_ARMASM
102117
bool "wolfCrypt ARM Assembly support"
103118
depends on WOLFSSL_BUILTIN

zephyr/user_settings.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,21 @@ extern "C" {
133133
#define NO_SESSION_CACHE /* disable session resumption */
134134
#endif
135135

136+
/* Session export (external session cache) */
137+
#if defined(CONFIG_WOLFSSL_SESSION_EXPORT)
138+
#define HAVE_EXT_CACHE
139+
#endif
140+
141+
/* Keep peer certificate after handshake */
142+
#if defined(CONFIG_WOLFSSL_KEEP_PEER_CERT)
143+
#define KEEP_PEER_CERT
144+
#endif
145+
146+
/* Always invoke verify callback (on success as well as failure) */
147+
#if defined(CONFIG_WOLFSSL_ALWAYS_VERIFY_CB)
148+
#define WOLFSSL_ALWAYS_VERIFY_CB
149+
#endif
150+
136151
/* DTLS */
137152
#if defined(CONFIG_WOLFSSL_DTLS)
138153
#define WOLFSSL_DTLS

0 commit comments

Comments
 (0)