|
1 | 1 | /* |
2 | | - * Copyright (c) 2021 Nordic Semiconductor |
| 2 | + * Copyright (c) 2024 Nordic Semiconductor |
3 | 3 | * |
4 | 4 | * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause |
5 | 5 | * |
6 | 6 | */ |
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. |
27 | 10 | */ |
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 |
32 | 13 |
|
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 |
37 | 17 | */ |
38 | | -/****************************************************************/ |
39 | 18 |
|
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 |
52 | 91 | #define MBEDTLS_ASN1_PARSE_C |
53 | 92 | #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 |
121 | 93 |
|
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 */ |
174 | 148 |
|
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 */ |
181 | 149 | /* #undef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */ |
182 | 150 | /* #undef MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */ |
| 151 | +/* #undef MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */ |
183 | 152 | /* #undef MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */ |
184 | 153 | /* #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 */ |
186 | 160 |
|
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) */ |
209 | 162 |
|
210 | | -#endif /* MBEDTLS_PSA_CRYPTO_SPM */ |
| 163 | +#define MBEDTLS_PSA_CRYPTO_CONFIG |
211 | 164 |
|
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. */ |
217 | 168 |
|
218 | | -#ifdef __cplusplus |
219 | | -} |
| 169 | +#if CONFIG_MBEDTLS_CMAC_ALT |
| 170 | +/* NCSDK-24838 */ |
| 171 | +#define MBEDTLS_CIPHER_MODE_CBC |
220 | 172 | #endif |
221 | 173 |
|
222 | | -#endif /* MBEDTLS_CONFIG_PSA_H */ |
| 174 | +#endif /* MBEDTLS_CONFIG_FILE_H */ |
0 commit comments