Skip to content

Commit 396789b

Browse files
NordicBuildermaciejbaczmanski
authored andcommitted
openthread: add libraries based on commit ee86dc2
Update OpenThread libraries with newest commit Signed-off-by: Nordic Builder <[email protected]>
1 parent 14d6835 commit 396789b

File tree

168 files changed

+13161
-4827
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+13161
-4827
lines changed
0 Bytes
Binary file not shown.
Lines changed: 151 additions & 199 deletions
Original file line numberDiff line numberDiff line change
@@ -1,222 +1,174 @@
11
/*
2-
* Copyright (c) 2021 Nordic Semiconductor
2+
* Copyright (c) 2024 Nordic Semiconductor
33
*
44
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
55
*
66
*/
7-
8-
#ifndef MBEDTLS_CONFIG_PSA_H
9-
#define MBEDTLS_CONFIG_PSA_H
10-
11-
#if defined(MBEDTLS_PSA_CRYPTO_CONFIG_FILE)
12-
#include MBEDTLS_PSA_CRYPTO_CONFIG_FILE
13-
#else
14-
#error "MBEDTLS_PSA_CRYPTO_CONFIG_FILE expected to be set"
15-
#endif
16-
17-
18-
#ifdef __cplusplus
19-
extern "C" {
20-
#endif
21-
22-
/****************************************************************/
23-
/* Require built-in implementations based on CRACEN PSA requirements
24-
*
25-
* NOTE: Required by the CRACEN driver still, which is checking for
26-
* MBEDTLS crypto definitions.
7+
/* The include guards used here ensures that a different Mbed TLS config is not
8+
* added to the build and used by accident. Hence, this guard is not
9+
* equivalent to naming of this file.
2710
*/
28-
/****************************************************************/
29-
#if defined(CONFIG_PSA_NEED_CRACEN_KEY_MANAGEMENT_DRIVER)
30-
#define MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
31-
#endif
11+
#ifndef MBEDTLS_CONFIG_FILE_H
12+
#define MBEDTLS_CONFIG_FILE_H
3213

33-
/****************************************************************/
34-
/* Require built-in implementations based on PSA requirements
35-
*
36-
* NOTE: Required by the TLS stack still, which is checking for MBEDTLS crypto definitions.
14+
/* This file includes configurations for Mbed TLS for platform and TLS/DTLS and X.509
15+
* and it should be used inside TF-M build and when CONFIG_MBEDTLS_LEGACY_CRYPTO_C is
16+
* not used
3717
*/
38-
/****************************************************************/
3918

40-
/* Required for MBEDTLS_HAS_ECDH_CIPHERSUITE_REQUIREMENTS */
41-
#if defined(PSA_WANT_ALG_ECDH)
42-
#define MBEDTLS_ECDH_C
43-
#define MBEDTLS_ECP_C
44-
#define MBEDTLS_BIGNUM_C
45-
#endif
46-
47-
/* Required for MBEDTLS_HAS_ECDSA_CIPHERSUITE_REQUIREMENTS */
48-
#if defined(PSA_WANT_ALG_ECDSA)
49-
#define MBEDTLS_ECDSA_C
50-
#define MBEDTLS_ECP_C
51-
#define MBEDTLS_BIGNUM_C
19+
/* TF-M */
20+
/* #undef MBEDTLS_PSA_CRYPTO_SPM */
21+
22+
/* PSA core configurations */
23+
#define MBEDTLS_PSA_CRYPTO_CLIENT
24+
#define MBEDTLS_PSA_CRYPTO_C
25+
#define MBEDTLS_USE_PSA_CRYPTO
26+
/* Avoid redefinition as TF-M defines this on the command line */
27+
#ifndef MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
28+
/* #undef MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER */
29+
#endif
30+
31+
/* Platform */
32+
#define MBEDTLS_PLATFORM_C
33+
#define MBEDTLS_PLATFORM_MEMORY
34+
#define MBEDTLS_NO_PLATFORM_ENTROPY
35+
#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
36+
/* #undef MBEDTLS_DEBUG_C */
37+
#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
38+
39+
/* Platform configurations for _ALT defines */
40+
/* #undef MBEDTLS_PLATFORM_EXIT_ALT */
41+
/* #undef MBEDTLS_PLATFORM_FPRINTF_ALT */
42+
/* #undef MBEDTLS_PLATFORM_PRINTF_ALT */
43+
/* #undef MBEDTLS_PLATFORM_SNPRINTF_ALT */
44+
/* #undef MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */
45+
#define MBEDTLS_ENTROPY_HARDWARE_ALT
46+
47+
/* Threading configurations */
48+
#define MBEDTLS_THREADING_C
49+
#define MBEDTLS_THREADING_ALT
50+
51+
/* Legacy configurations for _ALT defines */
52+
#define MBEDTLS_AES_SETKEY_ENC_ALT
53+
#define MBEDTLS_AES_SETKEY_DEC_ALT
54+
#define MBEDTLS_AES_ENCRYPT_ALT
55+
#define MBEDTLS_AES_DECRYPT_ALT
56+
/* #undef MBEDTLS_AES_ALT */
57+
/* #undef MBEDTLS_CMAC_ALT */
58+
/* #undef MBEDTLS_CCM_ALT */
59+
/* #undef MBEDTLS_GCM_ALT */
60+
#define MBEDTLS_CHACHA20_ALT
61+
#define MBEDTLS_POLY1305_ALT
62+
/* #undef MBEDTLS_CHACHAPOLY_ALT */
63+
/* #undef MBEDTLS_DHM_ALT */
64+
/* #undef MBEDTLS_ECP_ALT */
65+
#define MBEDTLS_ECDH_GEN_PUBLIC_ALT
66+
#define MBEDTLS_ECDH_COMPUTE_SHARED_ALT
67+
#define MBEDTLS_ECDSA_GENKEY_ALT
68+
#define MBEDTLS_ECDSA_SIGN_ALT
69+
#define MBEDTLS_ECDSA_VERIFY_ALT
70+
#define MBEDTLS_ECJPAKE_ALT
71+
/* #undef MBEDTLS_RSA_ALT */
72+
#define MBEDTLS_SHA1_ALT
73+
#define MBEDTLS_SHA224_ALT
74+
#define MBEDTLS_SHA256_ALT
75+
/* #undef MBEDTLS_SHA384_ALT */
76+
/* #undef MBEDTLS_SHA512_ALT */
77+
78+
/* Legacy configuration for RNG */
79+
#define MBEDTLS_ENTROPY_FORCE_SHA256
80+
#define MBEDTLS_ENTROPY_MAX_SOURCES 1
81+
#define MBEDTLS_NO_PLATFORM_ENTROPY
82+
83+
/* Nordic defines for library support. Note that these configurations are used by the PSA interface */
84+
/* #undef MBEDTLS_LEGACY_CRYPTO_C */
85+
/* #undef MBEDTLS_TLS_LIBRARY */
86+
/* #undef MBEDTLS_X509_LIBRARY */
87+
88+
/* Platform configurations for Mbed TLS APIs*/
89+
#define MBEDTLS_BASE64_C
90+
#define MBEDTLS_OID_C
5291
#define MBEDTLS_ASN1_PARSE_C
5392
#define MBEDTLS_ASN1_WRITE_C
54-
#endif
55-
56-
/* Required for MBEDTLS_HAS_RSA_CIPHERSUITE_REQUIREMENTS
57-
*
58-
* The requirements should all be met on MBEDTLS configurations already.
59-
*/
60-
61-
#if defined(PSA_WANT_ALG_SHA_1)
62-
/* TLS/DTLS 1.2 requires SHA-1 support using legacy API for now.
63-
* Revert this when resolving NCSDK-20975.
64-
*/
65-
#if defined(CONFIG_MBEDTLS_TLS_LIBRARY)
66-
#define MBEDTLS_SHA1_C
67-
#endif
68-
#endif
69-
70-
/* Required for MBEDTLS_HAS_ECJPAKE_CIPHERSUITE_REQUIREMENTS */
71-
#if defined(PSA_WANT_ALG_SHA_256)
72-
#define MBEDTLS_SHA224_C
73-
#define MBEDTLS_SHA256_C
74-
#endif
75-
76-
/* Required for MBEDTLS_HAS_CBC_CIPHERSUITE_REQUIREMENTS */
77-
#if defined(PSA_WANT_ALG_CBC_PKCS7)
78-
/* NB: check_config does not do any checks for CBC. */
79-
#define MBEDTLS_CIPHER_MODE_CBC
80-
#define MBEDTLS_CIPHER_PADDING_PKCS7
81-
#define MBEDTLS_AES_C
82-
#endif
83-
84-
/* Required for MBEDTLS_HAS_CCM_CIPHERSUITE_REQUIREMENTS */
85-
#if defined(PSA_WANT_ALG_CCM)
86-
#define MBEDTLS_CCM_C
87-
#define MBEDTLS_AES_C
88-
#endif
89-
90-
/* Required for MBEDTLS_HAS_GCM_CIPHERSUITE_REQUIREMENTS */
91-
#if defined(PSA_WANT_ALG_GCM)
92-
#define MBEDTLS_GCM_C
93-
#define MBEDTLS_AES_C
94-
#endif
95-
96-
/* Required for MBEDTLS_HAS_CHACHAPOLY_CIPHERSUITE_REQUIREMENTS */
97-
#if defined(PSA_WANT_ALG_CHACHA20_POLY1305)
98-
#if defined(PSA_WANT_KEY_TYPE_CHACHA20)
99-
#define MBEDTLS_CHACHA20_C
100-
#define MBEDTLS_POLY1305_C
101-
#define MBEDTLS_CHACHAPOLY_C
102-
#endif
103-
#endif
104-
105-
/* Because we have enabled MBEDTLS_ECP_C we need atleast one ECC curve type. */
106-
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
107-
#define MBEDTLS_ECP_DP_BP256R1_ENABLED
108-
#endif
109-
110-
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
111-
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
112-
#endif
113-
114-
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
115-
#define MBEDTLS_ECP_DP_BP512R1_ENABLED
116-
#endif
117-
118-
#if defined(PSA_WANT_ECC_MONTGOMERY_255)
119-
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
120-
#endif
12193

122-
#if defined(PSA_WANT_ECC_MONTGOMERY_448)
123-
#define MBEDTLS_ECP_DP_CURVE448_ENABLED
124-
#endif
125-
126-
#if defined(PSA_WANT_ECC_SECP_R1_192)
127-
#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
128-
#endif
129-
130-
#if defined(PSA_WANT_ECC_SECP_R1_224)
131-
#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
132-
#endif
133-
134-
#if defined(PSA_WANT_ECC_SECP_R1_256)
135-
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
136-
#endif
137-
138-
#if defined(PSA_WANT_ECC_SECP_R1_384)
139-
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
140-
#endif
141-
142-
#if defined(PSA_WANT_ECC_SECP_R1_521)
143-
#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
144-
#endif
145-
146-
#if defined(PSA_WANT_ECC_SECP_K1_192)
147-
#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
148-
#endif
149-
150-
#if defined(PSA_WANT_ECC_SECP_K1_224)
151-
#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
152-
#endif
153-
154-
#if defined(PSA_WANT_ECC_SECP_K1_256)
155-
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
156-
#endif
157-
158-
/* Required for MBEDTLS_HAS_ECJPAKE_CIPHERSUITE_REQUIREMENTS */
159-
#if defined(PSA_WANT_ALG_JPAKE)
160-
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
161-
#define MBEDTLS_BIGNUM_C
162-
#define MBEDTLS_ECP_C
163-
#define MBEDTLS_ECJPAKE_C
164-
#endif
165-
166-
/* Nordic added */
167-
#if defined(MBEDTLS_PK_PARSE_C)
168-
#define MBEDTLS_ASN1_PARSE_C
169-
#endif
170-
171-
#if defined(MBEDTLS_PK_WRITE_C)
172-
#define MBEDTLS_ASN1_WRITE_C
173-
#endif
94+
/* Ensure these are not enabled internal in NS build */
95+
#if !defined(MBEDTLS_PSA_CRYPTO_SPM) && !defined(INSIDE_TFM_BUILD)
96+
97+
/* Legacy configurations for Mbed TLS APIs */
98+
/* #undef MBEDTLS_CIPHER_C */
99+
/* #undef MBEDTLS_MD_C */
100+
/* #undef MBEDTLS_PK_C */
101+
/* #undef MBEDTLS_PK_WRITE_C */
102+
/* #undef MBEDTLS_PK_PARSE_C */
103+
/* #undef MBEDTLS_PEM_PARSE_C */
104+
/* #undef MBEDTLS_PEM_WRITE_C */
105+
106+
/* TLS/DTLS configurations */
107+
/* #undef MBEDTLS_SSL_ALL_ALERT_MESSAGES */
108+
/* #undef MBEDTLS_SSL_DTLS_CONNECTION_ID */
109+
/* #undef MBEDTLS_SSL_CONTEXT_SERIALIZATION */
110+
/* #undef MBEDTLS_SSL_DEBUG_ALL */
111+
/* #undef MBEDTLS_SSL_ENCRYPT_THEN_MAC */
112+
/* #undef MBEDTLS_SSL_EXTENDED_MASTER_SECRET */
113+
/* #undef MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
114+
/* #undef MBEDTLS_SSL_RENEGOTIATION */
115+
/* #undef MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */
116+
/* #undef MBEDTLS_SSL_PROTO_TLS1_2 */
117+
/* #undef MBEDTLS_SSL_PROTO_DTLS */
118+
/* #undef MBEDTLS_SSL_ALPN */
119+
/* #undef MBEDTLS_SSL_DTLS_ANTI_REPLAY */
120+
/* #undef MBEDTLS_SSL_DTLS_HELLO_VERIFY */
121+
/* #undef MBEDTLS_SSL_DTLS_SRTP */
122+
/* #undef MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */
123+
/* #undef MBEDTLS_SSL_SESSION_TICKETS */
124+
#ifndef MBEDTLS_SSL_EXPORT_KEYS
125+
/* #undef MBEDTLS_SSL_EXPORT_KEYS */
126+
#endif
127+
/* #undef MBEDTLS_SSL_SERVER_NAME_INDICATION */
128+
/* #undef MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH */
129+
/* #undef MBEDTLS_SSL_CACHE_C */
130+
/* #undef MBEDTLS_SSL_TICKET_C */
131+
/* #undef MBEDTLS_SSL_CLI_C */
132+
/* #undef MBEDTLS_SSL_COOKIE_C */
133+
/* #undef MBEDTLS_SSL_SRV_C */
134+
/* #undef MBEDTLS_SSL_TLS_C */
135+
/* #undef MBEDTLS_SSL_IN_CONTENT_LEN */
136+
/* #undef MBEDTLS_SSL_OUT_CONTENT_LEN */
137+
/* #undef MBEDTLS_SSL_CIPHERSUITES */
138+
139+
/* #undef MBEDTLS_X509_RSASSA_PSS_SUPPORT */
140+
/* #undef MBEDTLS_X509_USE_C */
141+
/* #undef MBEDTLS_X509_CRT_PARSE_C */
142+
/* #undef MBEDTLS_X509_CRL_PARSE_C */
143+
/* #undef MBEDTLS_X509_CSR_PARSE_C */
144+
/* #undef MBEDTLS_X509_CREATE_C */
145+
/* #undef MBEDTLS_X509_CRT_WRITE_C */
146+
/* #undef MBEDTLS_X509_CSR_WRITE_C */
147+
/* #undef MBEDTLS_X509_REMOVE_INFO */
174148

175-
/* TLS/DTLS additions */
176-
#if !defined(MBEDTLS_PSA_CRYPTO_SPM)
177-
/* #undef MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
178-
/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
179-
/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
180-
/* #undef MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
181149
/* #undef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
182150
/* #undef MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
151+
/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
183152
/* #undef MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
184153
/* #undef MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
185-
/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
154+
/* #undef MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
155+
/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
156+
/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
157+
/* #undef MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
158+
/* #undef MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
159+
/* #undef MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
186160

187-
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) || \
188-
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
189-
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
190-
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
191-
defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \
192-
defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) || \
193-
defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
194-
defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) || \
195-
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
196-
#define MBEDTLS_X509_CRT_PARSE_C
197-
#define MBEDTLS_ASN1_PARSE_C
198-
#define MBEDTLS_ASN1_WRITE_C
199-
#define MBEDTLS_X509_USE_C
200-
#define MBEDTLS_PK_PARSE_C
201-
#define MBEDTLS_PK_WRITE_C
202-
#define MBEDTLS_PK_C
203-
#define MBEDTLS_OID_C
204-
#define MBEDTLS_DHM_C
205-
#define MBEDTLS_BIGNUM_C
206-
#define MBEDTLS_BASE64_C
207-
#define MBEDTLS_PEM_PARSE_C
208-
#endif
161+
#endif /* !defined(MBEDTLS_PSA_CRYPTO_SPM) && !defined(INSIDE_TFM_BUILD) */
209162

210-
#endif /* MBEDTLS_PSA_CRYPTO_SPM */
163+
#define MBEDTLS_PSA_CRYPTO_CONFIG
211164

212-
#if defined(CONFIG_MBEDTLS_DEBUG)
213-
#define MBEDTLS_ERROR_C
214-
#define MBEDTLS_DEBUG_C
215-
#define MBEDTLS_SSL_DEBUG_ALL
216-
#endif
165+
/* Controlling some MPI sizes */
166+
#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum window size used. */
167+
#define MBEDTLS_MPI_MAX_SIZE 256 /**< Maximum number of bytes for usable MPIs. */
217168

218-
#ifdef __cplusplus
219-
}
169+
#if CONFIG_MBEDTLS_CMAC_ALT
170+
/* NCSDK-24838 */
171+
#define MBEDTLS_CIPHER_MODE_CBC
220172
#endif
221173

222-
#endif /* MBEDTLS_CONFIG_PSA_H */
174+
#endif /* MBEDTLS_CONFIG_FILE_H */

openthread/lib/nrf52840/hard-float/v1.3/ftd/openthread_lib_configuration.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ GCC_version: arm-zephyr-eabi-gcc (Zephyr SDK 0.16.8) 12.2.0
22

33
NRFXLIB_RELEASE_TAG=v2.8.0
44
OpenThread_commit=ncs-thread-reference-20241002-0-gee86dc26d
5-
NRFXLIB_commit=v2.7.0-85-g380330cb
6-
MBEDTLS_commit=v3.5.2-ncs2-0-g72868c6f1
5+
NRFXLIB_commit=v2.7.0-104-g35863321
6+
MBEDTLS_commit=mbedtls-2.26.0-16450-g2e24f78c0
77

88
CONFIG_OPENTHREAD_BLE_TCAT_RING_BUF_SIZE=512
99
CONFIG_OPENTHREAD_BLE_TCAT_THREAD_STACK_SIZE=5120
Binary file not shown.

0 commit comments

Comments
 (0)