blob: 646cde231051fde57c870d2e20e2bf2929175f07 [file] [log] [blame]
Minos Galanakis22098d42025-03-20 09:33:09 +00001/*
2 * Version feature information
3 *
4 * Copyright The Mbed TLS Contributors
5 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
6 */
7
8#include "common.h"
9
10#if defined(MBEDTLS_VERSION_C)
11
12#include "mbedtls/version.h"
13
14#include <string.h>
15
16static const char * const features[] = {
17#if defined(MBEDTLS_VERSION_FEATURES)
18 #if defined(MBEDTLS_HAVE_ASM)
19 "HAVE_ASM", //no-check-names
20#endif /* MBEDTLS_HAVE_ASM */
21#if defined(MBEDTLS_NO_UDBL_DIVISION)
22 "NO_UDBL_DIVISION", //no-check-names
23#endif /* MBEDTLS_NO_UDBL_DIVISION */
24#if defined(MBEDTLS_NO_64BIT_MULTIPLICATION)
25 "NO_64BIT_MULTIPLICATION", //no-check-names
26#endif /* MBEDTLS_NO_64BIT_MULTIPLICATION */
27#if defined(MBEDTLS_HAVE_SSE2)
28 "HAVE_SSE2", //no-check-names
29#endif /* MBEDTLS_HAVE_SSE2 */
30#if defined(MBEDTLS_HAVE_TIME)
31 "HAVE_TIME", //no-check-names
32#endif /* MBEDTLS_HAVE_TIME */
33#if defined(MBEDTLS_HAVE_TIME_DATE)
34 "HAVE_TIME_DATE", //no-check-names
35#endif /* MBEDTLS_HAVE_TIME_DATE */
36#if defined(MBEDTLS_PLATFORM_MEMORY)
37 "PLATFORM_MEMORY", //no-check-names
38#endif /* MBEDTLS_PLATFORM_MEMORY */
39#if defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS)
40 "PLATFORM_NO_STD_FUNCTIONS", //no-check-names
41#endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */
42#if defined(MBEDTLS_PLATFORM_SETBUF_ALT)
43 "PLATFORM_SETBUF_ALT", //no-check-names
44#endif /* MBEDTLS_PLATFORM_SETBUF_ALT */
45#if defined(MBEDTLS_PLATFORM_EXIT_ALT)
46 "PLATFORM_EXIT_ALT", //no-check-names
47#endif /* MBEDTLS_PLATFORM_EXIT_ALT */
48#if defined(MBEDTLS_PLATFORM_TIME_ALT)
49 "PLATFORM_TIME_ALT", //no-check-names
50#endif /* MBEDTLS_PLATFORM_TIME_ALT */
51#if defined(MBEDTLS_PLATFORM_FPRINTF_ALT)
52 "PLATFORM_FPRINTF_ALT", //no-check-names
53#endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */
54#if defined(MBEDTLS_PLATFORM_PRINTF_ALT)
55 "PLATFORM_PRINTF_ALT", //no-check-names
56#endif /* MBEDTLS_PLATFORM_PRINTF_ALT */
57#if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT)
58 "PLATFORM_SNPRINTF_ALT", //no-check-names
59#endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */
60#if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT)
61 "PLATFORM_VSNPRINTF_ALT", //no-check-names
62#endif /* MBEDTLS_PLATFORM_VSNPRINTF_ALT */
63#if defined(MBEDTLS_PLATFORM_NV_SEED_ALT)
64 "PLATFORM_NV_SEED_ALT", //no-check-names
65#endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */
66#if defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT)
67 "PLATFORM_SETUP_TEARDOWN_ALT", //no-check-names
68#endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */
69#if defined(MBEDTLS_PLATFORM_MS_TIME_ALT)
70 "PLATFORM_MS_TIME_ALT", //no-check-names
71#endif /* MBEDTLS_PLATFORM_MS_TIME_ALT */
72#if defined(MBEDTLS_PLATFORM_GMTIME_R_ALT)
73 "PLATFORM_GMTIME_R_ALT", //no-check-names
74#endif /* MBEDTLS_PLATFORM_GMTIME_R_ALT */
75#if defined(MBEDTLS_PLATFORM_ZEROIZE_ALT)
76 "PLATFORM_ZEROIZE_ALT", //no-check-names
77#endif /* MBEDTLS_PLATFORM_ZEROIZE_ALT */
78#if defined(MBEDTLS_DEPRECATED_WARNING)
79 "DEPRECATED_WARNING", //no-check-names
80#endif /* MBEDTLS_DEPRECATED_WARNING */
81#if defined(MBEDTLS_DEPRECATED_REMOVED)
82 "DEPRECATED_REMOVED", //no-check-names
83#endif /* MBEDTLS_DEPRECATED_REMOVED */
84#if defined(MBEDTLS_TIMING_ALT)
85 "TIMING_ALT", //no-check-names
86#endif /* MBEDTLS_TIMING_ALT */
87#if defined(MBEDTLS_AES_ALT)
88 "AES_ALT", //no-check-names
89#endif /* MBEDTLS_AES_ALT */
90#if defined(MBEDTLS_ARIA_ALT)
91 "ARIA_ALT", //no-check-names
92#endif /* MBEDTLS_ARIA_ALT */
93#if defined(MBEDTLS_CAMELLIA_ALT)
94 "CAMELLIA_ALT", //no-check-names
95#endif /* MBEDTLS_CAMELLIA_ALT */
96#if defined(MBEDTLS_CCM_ALT)
97 "CCM_ALT", //no-check-names
98#endif /* MBEDTLS_CCM_ALT */
99#if defined(MBEDTLS_CHACHA20_ALT)
100 "CHACHA20_ALT", //no-check-names
101#endif /* MBEDTLS_CHACHA20_ALT */
102#if defined(MBEDTLS_CHACHAPOLY_ALT)
103 "CHACHAPOLY_ALT", //no-check-names
104#endif /* MBEDTLS_CHACHAPOLY_ALT */
105#if defined(MBEDTLS_CMAC_ALT)
106 "CMAC_ALT", //no-check-names
107#endif /* MBEDTLS_CMAC_ALT */
108#if defined(MBEDTLS_DES_ALT)
109 "DES_ALT", //no-check-names
110#endif /* MBEDTLS_DES_ALT */
111#if defined(MBEDTLS_DHM_ALT)
112 "DHM_ALT", //no-check-names
113#endif /* MBEDTLS_DHM_ALT */
114#if defined(MBEDTLS_ECJPAKE_ALT)
115 "ECJPAKE_ALT", //no-check-names
116#endif /* MBEDTLS_ECJPAKE_ALT */
117#if defined(MBEDTLS_GCM_ALT)
118 "GCM_ALT", //no-check-names
119#endif /* MBEDTLS_GCM_ALT */
120#if defined(MBEDTLS_NIST_KW_ALT)
121 "NIST_KW_ALT", //no-check-names
122#endif /* MBEDTLS_NIST_KW_ALT */
123#if defined(MBEDTLS_MD5_ALT)
124 "MD5_ALT", //no-check-names
125#endif /* MBEDTLS_MD5_ALT */
126#if defined(MBEDTLS_POLY1305_ALT)
127 "POLY1305_ALT", //no-check-names
128#endif /* MBEDTLS_POLY1305_ALT */
129#if defined(MBEDTLS_RIPEMD160_ALT)
130 "RIPEMD160_ALT", //no-check-names
131#endif /* MBEDTLS_RIPEMD160_ALT */
132#if defined(MBEDTLS_RSA_ALT)
133 "RSA_ALT", //no-check-names
134#endif /* MBEDTLS_RSA_ALT */
135#if defined(MBEDTLS_SHA1_ALT)
136 "SHA1_ALT", //no-check-names
137#endif /* MBEDTLS_SHA1_ALT */
138#if defined(MBEDTLS_SHA256_ALT)
139 "SHA256_ALT", //no-check-names
140#endif /* MBEDTLS_SHA256_ALT */
141#if defined(MBEDTLS_SHA512_ALT)
142 "SHA512_ALT", //no-check-names
143#endif /* MBEDTLS_SHA512_ALT */
144#if defined(MBEDTLS_ECP_ALT)
145 "ECP_ALT", //no-check-names
146#endif /* MBEDTLS_ECP_ALT */
147#if defined(MBEDTLS_MD5_PROCESS_ALT)
148 "MD5_PROCESS_ALT", //no-check-names
149#endif /* MBEDTLS_MD5_PROCESS_ALT */
150#if defined(MBEDTLS_RIPEMD160_PROCESS_ALT)
151 "RIPEMD160_PROCESS_ALT", //no-check-names
152#endif /* MBEDTLS_RIPEMD160_PROCESS_ALT */
153#if defined(MBEDTLS_SHA1_PROCESS_ALT)
154 "SHA1_PROCESS_ALT", //no-check-names
155#endif /* MBEDTLS_SHA1_PROCESS_ALT */
156#if defined(MBEDTLS_SHA256_PROCESS_ALT)
157 "SHA256_PROCESS_ALT", //no-check-names
158#endif /* MBEDTLS_SHA256_PROCESS_ALT */
159#if defined(MBEDTLS_SHA512_PROCESS_ALT)
160 "SHA512_PROCESS_ALT", //no-check-names
161#endif /* MBEDTLS_SHA512_PROCESS_ALT */
162#if defined(MBEDTLS_DES_SETKEY_ALT)
163 "DES_SETKEY_ALT", //no-check-names
164#endif /* MBEDTLS_DES_SETKEY_ALT */
165#if defined(MBEDTLS_DES_CRYPT_ECB_ALT)
166 "DES_CRYPT_ECB_ALT", //no-check-names
167#endif /* MBEDTLS_DES_CRYPT_ECB_ALT */
168#if defined(MBEDTLS_DES3_CRYPT_ECB_ALT)
169 "DES3_CRYPT_ECB_ALT", //no-check-names
170#endif /* MBEDTLS_DES3_CRYPT_ECB_ALT */
171#if defined(MBEDTLS_AES_SETKEY_ENC_ALT)
172 "AES_SETKEY_ENC_ALT", //no-check-names
173#endif /* MBEDTLS_AES_SETKEY_ENC_ALT */
174#if defined(MBEDTLS_AES_SETKEY_DEC_ALT)
175 "AES_SETKEY_DEC_ALT", //no-check-names
176#endif /* MBEDTLS_AES_SETKEY_DEC_ALT */
177#if defined(MBEDTLS_AES_ENCRYPT_ALT)
178 "AES_ENCRYPT_ALT", //no-check-names
179#endif /* MBEDTLS_AES_ENCRYPT_ALT */
180#if defined(MBEDTLS_AES_DECRYPT_ALT)
181 "AES_DECRYPT_ALT", //no-check-names
182#endif /* MBEDTLS_AES_DECRYPT_ALT */
183#if defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT)
184 "ECDH_GEN_PUBLIC_ALT", //no-check-names
185#endif /* MBEDTLS_ECDH_GEN_PUBLIC_ALT */
186#if defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT)
187 "ECDH_COMPUTE_SHARED_ALT", //no-check-names
188#endif /* MBEDTLS_ECDH_COMPUTE_SHARED_ALT */
189#if defined(MBEDTLS_ECDSA_VERIFY_ALT)
190 "ECDSA_VERIFY_ALT", //no-check-names
191#endif /* MBEDTLS_ECDSA_VERIFY_ALT */
192#if defined(MBEDTLS_ECDSA_SIGN_ALT)
193 "ECDSA_SIGN_ALT", //no-check-names
194#endif /* MBEDTLS_ECDSA_SIGN_ALT */
195#if defined(MBEDTLS_ECDSA_GENKEY_ALT)
196 "ECDSA_GENKEY_ALT", //no-check-names
197#endif /* MBEDTLS_ECDSA_GENKEY_ALT */
198#if defined(MBEDTLS_ECP_INTERNAL_ALT)
199 "ECP_INTERNAL_ALT", //no-check-names
200#endif /* MBEDTLS_ECP_INTERNAL_ALT */
201#if defined(MBEDTLS_ECP_NO_FALLBACK)
202 "ECP_NO_FALLBACK", //no-check-names
203#endif /* MBEDTLS_ECP_NO_FALLBACK */
204#if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT)
205 "ECP_RANDOMIZE_JAC_ALT", //no-check-names
206#endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */
207#if defined(MBEDTLS_ECP_ADD_MIXED_ALT)
208 "ECP_ADD_MIXED_ALT", //no-check-names
209#endif /* MBEDTLS_ECP_ADD_MIXED_ALT */
210#if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT)
211 "ECP_DOUBLE_JAC_ALT", //no-check-names
212#endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */
213#if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT)
214 "ECP_NORMALIZE_JAC_MANY_ALT", //no-check-names
215#endif /* MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT */
216#if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT)
217 "ECP_NORMALIZE_JAC_ALT", //no-check-names
218#endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */
219#if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT)
220 "ECP_DOUBLE_ADD_MXZ_ALT", //no-check-names
221#endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */
222#if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT)
223 "ECP_RANDOMIZE_MXZ_ALT", //no-check-names
224#endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */
225#if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT)
226 "ECP_NORMALIZE_MXZ_ALT", //no-check-names
227#endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */
228#if defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
229 "ENTROPY_HARDWARE_ALT", //no-check-names
230#endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */
231#if defined(MBEDTLS_AES_ROM_TABLES)
232 "AES_ROM_TABLES", //no-check-names
233#endif /* MBEDTLS_AES_ROM_TABLES */
234#if defined(MBEDTLS_AES_FEWER_TABLES)
235 "AES_FEWER_TABLES", //no-check-names
236#endif /* MBEDTLS_AES_FEWER_TABLES */
237#if defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
238 "AES_ONLY_128_BIT_KEY_LENGTH", //no-check-names
239#endif /* MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
240#if defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
241 "AES_USE_HARDWARE_ONLY", //no-check-names
242#endif /* MBEDTLS_AES_USE_HARDWARE_ONLY */
243#if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY)
244 "CAMELLIA_SMALL_MEMORY", //no-check-names
245#endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */
246#if defined(MBEDTLS_CHECK_RETURN_WARNING)
247 "CHECK_RETURN_WARNING", //no-check-names
248#endif /* MBEDTLS_CHECK_RETURN_WARNING */
249#if defined(MBEDTLS_CIPHER_MODE_CBC)
250 "CIPHER_MODE_CBC", //no-check-names
251#endif /* MBEDTLS_CIPHER_MODE_CBC */
252#if defined(MBEDTLS_CIPHER_MODE_CFB)
253 "CIPHER_MODE_CFB", //no-check-names
254#endif /* MBEDTLS_CIPHER_MODE_CFB */
255#if defined(MBEDTLS_CIPHER_MODE_CTR)
256 "CIPHER_MODE_CTR", //no-check-names
257#endif /* MBEDTLS_CIPHER_MODE_CTR */
258#if defined(MBEDTLS_CIPHER_MODE_OFB)
259 "CIPHER_MODE_OFB", //no-check-names
260#endif /* MBEDTLS_CIPHER_MODE_OFB */
261#if defined(MBEDTLS_CIPHER_MODE_XTS)
262 "CIPHER_MODE_XTS", //no-check-names
263#endif /* MBEDTLS_CIPHER_MODE_XTS */
264#if defined(MBEDTLS_CIPHER_NULL_CIPHER)
265 "CIPHER_NULL_CIPHER", //no-check-names
266#endif /* MBEDTLS_CIPHER_NULL_CIPHER */
267#if defined(MBEDTLS_CIPHER_PADDING_PKCS7)
268 "CIPHER_PADDING_PKCS7", //no-check-names
269#endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */
270#if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS)
271 "CIPHER_PADDING_ONE_AND_ZEROS", //no-check-names
272#endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */
273#if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN)
274 "CIPHER_PADDING_ZEROS_AND_LEN", //no-check-names
275#endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */
276#if defined(MBEDTLS_CIPHER_PADDING_ZEROS)
277 "CIPHER_PADDING_ZEROS", //no-check-names
278#endif /* MBEDTLS_CIPHER_PADDING_ZEROS */
279#if defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY)
280 "CTR_DRBG_USE_128_BIT_KEY", //no-check-names
281#endif /* MBEDTLS_CTR_DRBG_USE_128_BIT_KEY */
282#if defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED)
283 "ECDH_VARIANT_EVEREST_ENABLED", //no-check-names
284#endif /* MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED */
285#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
286 "ECP_DP_SECP192R1_ENABLED", //no-check-names
287#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
288#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
289 "ECP_DP_SECP224R1_ENABLED", //no-check-names
290#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
291#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
292 "ECP_DP_SECP256R1_ENABLED", //no-check-names
293#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
294#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
295 "ECP_DP_SECP384R1_ENABLED", //no-check-names
296#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
297#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
298 "ECP_DP_SECP521R1_ENABLED", //no-check-names
299#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
300#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
301 "ECP_DP_SECP192K1_ENABLED", //no-check-names
302#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
303#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
304 "ECP_DP_SECP224K1_ENABLED", //no-check-names
305#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
306#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
307 "ECP_DP_SECP256K1_ENABLED", //no-check-names
308#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
309#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)
310 "ECP_DP_BP256R1_ENABLED", //no-check-names
311#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */
312#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)
313 "ECP_DP_BP384R1_ENABLED", //no-check-names
314#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */
315#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)
316 "ECP_DP_BP512R1_ENABLED", //no-check-names
317#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */
318#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
319 "ECP_DP_CURVE25519_ENABLED", //no-check-names
320#endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */
321#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
322 "ECP_DP_CURVE448_ENABLED", //no-check-names
323#endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */
324#if defined(MBEDTLS_ECP_NIST_OPTIM)
325 "ECP_NIST_OPTIM", //no-check-names
326#endif /* MBEDTLS_ECP_NIST_OPTIM */
327#if defined(MBEDTLS_ECP_RESTARTABLE)
328 "ECP_RESTARTABLE", //no-check-names
329#endif /* MBEDTLS_ECP_RESTARTABLE */
330#if defined(MBEDTLS_ECP_WITH_MPI_UINT)
331 "ECP_WITH_MPI_UINT", //no-check-names
332#endif /* MBEDTLS_ECP_WITH_MPI_UINT */
333#if defined(MBEDTLS_ECDSA_DETERMINISTIC)
334 "ECDSA_DETERMINISTIC", //no-check-names
335#endif /* MBEDTLS_ECDSA_DETERMINISTIC */
336#if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
337 "KEY_EXCHANGE_PSK_ENABLED", //no-check-names
338#endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
339#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
340 "KEY_EXCHANGE_DHE_PSK_ENABLED", //no-check-names
341#endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
342#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
343 "KEY_EXCHANGE_ECDHE_PSK_ENABLED", //no-check-names
344#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
345#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
346 "KEY_EXCHANGE_RSA_PSK_ENABLED", //no-check-names
347#endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
348#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
349 "KEY_EXCHANGE_RSA_ENABLED", //no-check-names
350#endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
351#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
352 "KEY_EXCHANGE_DHE_RSA_ENABLED", //no-check-names
353#endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
354#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
355 "KEY_EXCHANGE_ECDHE_RSA_ENABLED", //no-check-names
356#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
357#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
358 "KEY_EXCHANGE_ECDHE_ECDSA_ENABLED", //no-check-names
359#endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
360#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
361 "KEY_EXCHANGE_ECDH_ECDSA_ENABLED", //no-check-names
362#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
363#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
364 "KEY_EXCHANGE_ECDH_RSA_ENABLED", //no-check-names
365#endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
366#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
367 "KEY_EXCHANGE_ECJPAKE_ENABLED", //no-check-names
368#endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
369#if defined(MBEDTLS_PK_PARSE_EC_EXTENDED)
370 "PK_PARSE_EC_EXTENDED", //no-check-names
371#endif /* MBEDTLS_PK_PARSE_EC_EXTENDED */
372#if defined(MBEDTLS_PK_PARSE_EC_COMPRESSED)
373 "PK_PARSE_EC_COMPRESSED", //no-check-names
374#endif /* MBEDTLS_PK_PARSE_EC_COMPRESSED */
375#if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
376 "ERROR_STRERROR_DUMMY", //no-check-names
377#endif /* MBEDTLS_ERROR_STRERROR_DUMMY */
378#if defined(MBEDTLS_GENPRIME)
379 "GENPRIME", //no-check-names
380#endif /* MBEDTLS_GENPRIME */
381#if defined(MBEDTLS_FS_IO)
382 "FS_IO", //no-check-names
383#endif /* MBEDTLS_FS_IO */
384#if defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES)
385 "NO_DEFAULT_ENTROPY_SOURCES", //no-check-names
386#endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */
387#if defined(MBEDTLS_NO_PLATFORM_ENTROPY)
388 "NO_PLATFORM_ENTROPY", //no-check-names
389#endif /* MBEDTLS_NO_PLATFORM_ENTROPY */
390#if defined(MBEDTLS_ENTROPY_FORCE_SHA256)
391 "ENTROPY_FORCE_SHA256", //no-check-names
392#endif /* MBEDTLS_ENTROPY_FORCE_SHA256 */
393#if defined(MBEDTLS_ENTROPY_NV_SEED)
394 "ENTROPY_NV_SEED", //no-check-names
395#endif /* MBEDTLS_ENTROPY_NV_SEED */
396#if defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER)
397 "PSA_CRYPTO_KEY_ID_ENCODES_OWNER", //no-check-names
398#endif /* MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER */
399#if defined(MBEDTLS_MEMORY_DEBUG)
400 "MEMORY_DEBUG", //no-check-names
401#endif /* MBEDTLS_MEMORY_DEBUG */
402#if defined(MBEDTLS_MEMORY_BACKTRACE)
403 "MEMORY_BACKTRACE", //no-check-names
404#endif /* MBEDTLS_MEMORY_BACKTRACE */
405#if defined(MBEDTLS_PK_RSA_ALT_SUPPORT)
406 "PK_RSA_ALT_SUPPORT", //no-check-names
407#endif /* MBEDTLS_PK_RSA_ALT_SUPPORT */
408#if defined(MBEDTLS_PKCS1_V15)
409 "PKCS1_V15", //no-check-names
410#endif /* MBEDTLS_PKCS1_V15 */
411#if defined(MBEDTLS_PKCS1_V21)
412 "PKCS1_V21", //no-check-names
413#endif /* MBEDTLS_PKCS1_V21 */
414#if defined(MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS)
415 "PSA_CRYPTO_BUILTIN_KEYS", //no-check-names
416#endif /* MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS */
417#if defined(MBEDTLS_PSA_CRYPTO_CLIENT)
418 "PSA_CRYPTO_CLIENT", //no-check-names
419#endif /* MBEDTLS_PSA_CRYPTO_CLIENT */
420#if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
421 "PSA_CRYPTO_EXTERNAL_RNG", //no-check-names
422#endif /* MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG */
423#if defined(MBEDTLS_PSA_CRYPTO_SPM)
424 "PSA_CRYPTO_SPM", //no-check-names
425#endif /* MBEDTLS_PSA_CRYPTO_SPM */
426#if defined(MBEDTLS_PSA_KEY_STORE_DYNAMIC)
427 "PSA_KEY_STORE_DYNAMIC", //no-check-names
428#endif /* MBEDTLS_PSA_KEY_STORE_DYNAMIC */
429#if defined(MBEDTLS_PSA_P256M_DRIVER_ENABLED)
430 "PSA_P256M_DRIVER_ENABLED", //no-check-names
431#endif /* MBEDTLS_PSA_P256M_DRIVER_ENABLED */
432#if defined(MBEDTLS_PSA_INJECT_ENTROPY)
433 "PSA_INJECT_ENTROPY", //no-check-names
434#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
435#if defined(MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS)
436 "PSA_ASSUME_EXCLUSIVE_BUFFERS", //no-check-names
437#endif /* MBEDTLS_PSA_ASSUME_EXCLUSIVE_BUFFERS */
438#if defined(MBEDTLS_RSA_NO_CRT)
439 "RSA_NO_CRT", //no-check-names
440#endif /* MBEDTLS_RSA_NO_CRT */
441#if defined(MBEDTLS_SELF_TEST)
442 "SELF_TEST", //no-check-names
443#endif /* MBEDTLS_SELF_TEST */
444#if defined(MBEDTLS_SHA256_SMALLER)
445 "SHA256_SMALLER", //no-check-names
446#endif /* MBEDTLS_SHA256_SMALLER */
447#if defined(MBEDTLS_SHA512_SMALLER)
448 "SHA512_SMALLER", //no-check-names
449#endif /* MBEDTLS_SHA512_SMALLER */
450#if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES)
451 "SSL_ALL_ALERT_MESSAGES", //no-check-names
452#endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */
453#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID)
454 "SSL_DTLS_CONNECTION_ID", //no-check-names
455#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */
456#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT)
457 "SSL_DTLS_CONNECTION_ID_COMPAT", //no-check-names
458#endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT */
459#if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
460 "SSL_ASYNC_PRIVATE", //no-check-names
461#endif /* MBEDTLS_SSL_ASYNC_PRIVATE */
462#if defined(MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME)
463 "SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME", //no-check-names
464#endif /* MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME */
465#if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION)
466 "SSL_CONTEXT_SERIALIZATION", //no-check-names
467#endif /* MBEDTLS_SSL_CONTEXT_SERIALIZATION */
468#if defined(MBEDTLS_SSL_DEBUG_ALL)
469 "SSL_DEBUG_ALL", //no-check-names
470#endif /* MBEDTLS_SSL_DEBUG_ALL */
471#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
472 "SSL_ENCRYPT_THEN_MAC", //no-check-names
473#endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */
474#if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
475 "SSL_EXTENDED_MASTER_SECRET", //no-check-names
476#endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */
477#if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
478 "SSL_KEEP_PEER_CERTIFICATE", //no-check-names
479#endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
480#if defined(MBEDTLS_SSL_RENEGOTIATION)
481 "SSL_RENEGOTIATION", //no-check-names
482#endif /* MBEDTLS_SSL_RENEGOTIATION */
483#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
484 "SSL_MAX_FRAGMENT_LENGTH", //no-check-names
485#endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */
486#if defined(MBEDTLS_SSL_RECORD_SIZE_LIMIT)
487 "SSL_RECORD_SIZE_LIMIT", //no-check-names
488#endif /* MBEDTLS_SSL_RECORD_SIZE_LIMIT */
489#if defined(MBEDTLS_SSL_PROTO_TLS1_2)
490 "SSL_PROTO_TLS1_2", //no-check-names
491#endif /* MBEDTLS_SSL_PROTO_TLS1_2 */
492#if defined(MBEDTLS_SSL_PROTO_TLS1_3)
493 "SSL_PROTO_TLS1_3", //no-check-names
494#endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
495#if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE)
496 "SSL_TLS1_3_COMPATIBILITY_MODE", //no-check-names
497#endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */
498#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED)
499 "SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED", //no-check-names
500#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED */
501#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED)
502 "SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED", //no-check-names
503#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED */
504#if defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED)
505 "SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED", //no-check-names
506#endif /* MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED */
507#if defined(MBEDTLS_SSL_EARLY_DATA)
508 "SSL_EARLY_DATA", //no-check-names
509#endif /* MBEDTLS_SSL_EARLY_DATA */
510#if defined(MBEDTLS_SSL_PROTO_DTLS)
511 "SSL_PROTO_DTLS", //no-check-names
512#endif /* MBEDTLS_SSL_PROTO_DTLS */
513#if defined(MBEDTLS_SSL_ALPN)
514 "SSL_ALPN", //no-check-names
515#endif /* MBEDTLS_SSL_ALPN */
516#if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
517 "SSL_DTLS_ANTI_REPLAY", //no-check-names
518#endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */
519#if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY)
520 "SSL_DTLS_HELLO_VERIFY", //no-check-names
521#endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */
522#if defined(MBEDTLS_SSL_DTLS_SRTP)
523 "SSL_DTLS_SRTP", //no-check-names
524#endif /* MBEDTLS_SSL_DTLS_SRTP */
525#if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE)
526 "SSL_DTLS_CLIENT_PORT_REUSE", //no-check-names
527#endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */
528#if defined(MBEDTLS_SSL_SESSION_TICKETS)
529 "SSL_SESSION_TICKETS", //no-check-names
530#endif /* MBEDTLS_SSL_SESSION_TICKETS */
531#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
532 "SSL_SERVER_NAME_INDICATION", //no-check-names
533#endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */
534#if defined(MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH)
535 "SSL_VARIABLE_BUFFER_LENGTH", //no-check-names
536#endif /* MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH */
537#if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN)
538 "TEST_CONSTANT_FLOW_MEMSAN", //no-check-names
539#endif /* MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN */
540#if defined(MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND)
541 "TEST_CONSTANT_FLOW_VALGRIND", //no-check-names
542#endif /* MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND */
543#if defined(MBEDTLS_TEST_HOOKS)
544 "TEST_HOOKS", //no-check-names
545#endif /* MBEDTLS_TEST_HOOKS */
546#if defined(MBEDTLS_THREADING_ALT)
547 "THREADING_ALT", //no-check-names
548#endif /* MBEDTLS_THREADING_ALT */
549#if defined(MBEDTLS_THREADING_PTHREAD)
550 "THREADING_PTHREAD", //no-check-names
551#endif /* MBEDTLS_THREADING_PTHREAD */
552#if defined(MBEDTLS_USE_PSA_CRYPTO)
553 "USE_PSA_CRYPTO", //no-check-names
554#endif /* MBEDTLS_USE_PSA_CRYPTO */
555#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
556 "PSA_CRYPTO_CONFIG", //no-check-names
557#endif /* MBEDTLS_PSA_CRYPTO_CONFIG */
558#if defined(MBEDTLS_VERSION_FEATURES)
559 "VERSION_FEATURES", //no-check-names
560#endif /* MBEDTLS_VERSION_FEATURES */
561#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)
562 "X509_TRUSTED_CERTIFICATE_CALLBACK", //no-check-names
563#endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */
564#if defined(MBEDTLS_X509_REMOVE_INFO)
565 "X509_REMOVE_INFO", //no-check-names
566#endif /* MBEDTLS_X509_REMOVE_INFO */
567#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT)
568 "X509_RSASSA_PSS_SUPPORT", //no-check-names
569#endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */
570#if defined(MBEDTLS_AESNI_C)
571 "AESNI_C", //no-check-names
572#endif /* MBEDTLS_AESNI_C */
573#if defined(MBEDTLS_AESCE_C)
574 "AESCE_C", //no-check-names
575#endif /* MBEDTLS_AESCE_C */
576#if defined(MBEDTLS_AES_C)
577 "AES_C", //no-check-names
578#endif /* MBEDTLS_AES_C */
579#if defined(MBEDTLS_ASN1_PARSE_C)
580 "ASN1_PARSE_C", //no-check-names
581#endif /* MBEDTLS_ASN1_PARSE_C */
582#if defined(MBEDTLS_ASN1_WRITE_C)
583 "ASN1_WRITE_C", //no-check-names
584#endif /* MBEDTLS_ASN1_WRITE_C */
585#if defined(MBEDTLS_BASE64_C)
586 "BASE64_C", //no-check-names
587#endif /* MBEDTLS_BASE64_C */
588#if defined(MBEDTLS_BLOCK_CIPHER_NO_DECRYPT)
589 "BLOCK_CIPHER_NO_DECRYPT", //no-check-names
590#endif /* MBEDTLS_BLOCK_CIPHER_NO_DECRYPT */
591#if defined(MBEDTLS_BIGNUM_C)
592 "BIGNUM_C", //no-check-names
593#endif /* MBEDTLS_BIGNUM_C */
594#if defined(MBEDTLS_CAMELLIA_C)
595 "CAMELLIA_C", //no-check-names
596#endif /* MBEDTLS_CAMELLIA_C */
597#if defined(MBEDTLS_ARIA_C)
598 "ARIA_C", //no-check-names
599#endif /* MBEDTLS_ARIA_C */
600#if defined(MBEDTLS_CCM_C)
601 "CCM_C", //no-check-names
602#endif /* MBEDTLS_CCM_C */
603#if defined(MBEDTLS_CHACHA20_C)
604 "CHACHA20_C", //no-check-names
605#endif /* MBEDTLS_CHACHA20_C */
606#if defined(MBEDTLS_CHACHAPOLY_C)
607 "CHACHAPOLY_C", //no-check-names
608#endif /* MBEDTLS_CHACHAPOLY_C */
609#if defined(MBEDTLS_CIPHER_C)
610 "CIPHER_C", //no-check-names
611#endif /* MBEDTLS_CIPHER_C */
612#if defined(MBEDTLS_CMAC_C)
613 "CMAC_C", //no-check-names
614#endif /* MBEDTLS_CMAC_C */
615#if defined(MBEDTLS_CTR_DRBG_C)
616 "CTR_DRBG_C", //no-check-names
617#endif /* MBEDTLS_CTR_DRBG_C */
618#if defined(MBEDTLS_DEBUG_C)
619 "DEBUG_C", //no-check-names
620#endif /* MBEDTLS_DEBUG_C */
621#if defined(MBEDTLS_DES_C)
622 "DES_C", //no-check-names
623#endif /* MBEDTLS_DES_C */
624#if defined(MBEDTLS_DHM_C)
625 "DHM_C", //no-check-names
626#endif /* MBEDTLS_DHM_C */
627#if defined(MBEDTLS_ECDH_C)
628 "ECDH_C", //no-check-names
629#endif /* MBEDTLS_ECDH_C */
630#if defined(MBEDTLS_ECDSA_C)
631 "ECDSA_C", //no-check-names
632#endif /* MBEDTLS_ECDSA_C */
633#if defined(MBEDTLS_ECJPAKE_C)
634 "ECJPAKE_C", //no-check-names
635#endif /* MBEDTLS_ECJPAKE_C */
636#if defined(MBEDTLS_ECP_C)
637 "ECP_C", //no-check-names
638#endif /* MBEDTLS_ECP_C */
639#if defined(MBEDTLS_ENTROPY_C)
640 "ENTROPY_C", //no-check-names
641#endif /* MBEDTLS_ENTROPY_C */
642#if defined(MBEDTLS_ERROR_C)
643 "ERROR_C", //no-check-names
644#endif /* MBEDTLS_ERROR_C */
645#if defined(MBEDTLS_GCM_C)
646 "GCM_C", //no-check-names
647#endif /* MBEDTLS_GCM_C */
648#if defined(MBEDTLS_GCM_LARGE_TABLE)
649 "GCM_LARGE_TABLE", //no-check-names
650#endif /* MBEDTLS_GCM_LARGE_TABLE */
651#if defined(MBEDTLS_HKDF_C)
652 "HKDF_C", //no-check-names
653#endif /* MBEDTLS_HKDF_C */
654#if defined(MBEDTLS_HMAC_DRBG_C)
655 "HMAC_DRBG_C", //no-check-names
656#endif /* MBEDTLS_HMAC_DRBG_C */
657#if defined(MBEDTLS_LMS_C)
658 "LMS_C", //no-check-names
659#endif /* MBEDTLS_LMS_C */
660#if defined(MBEDTLS_LMS_PRIVATE)
661 "LMS_PRIVATE", //no-check-names
662#endif /* MBEDTLS_LMS_PRIVATE */
663#if defined(MBEDTLS_NIST_KW_C)
664 "NIST_KW_C", //no-check-names
665#endif /* MBEDTLS_NIST_KW_C */
666#if defined(MBEDTLS_MD_C)
667 "MD_C", //no-check-names
668#endif /* MBEDTLS_MD_C */
669#if defined(MBEDTLS_MD5_C)
670 "MD5_C", //no-check-names
671#endif /* MBEDTLS_MD5_C */
672#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
673 "MEMORY_BUFFER_ALLOC_C", //no-check-names
674#endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */
675#if defined(MBEDTLS_NET_C)
676 "NET_C", //no-check-names
677#endif /* MBEDTLS_NET_C */
678#if defined(MBEDTLS_OID_C)
679 "OID_C", //no-check-names
680#endif /* MBEDTLS_OID_C */
681#if defined(MBEDTLS_PADLOCK_C)
682 "PADLOCK_C", //no-check-names
683#endif /* MBEDTLS_PADLOCK_C */
684#if defined(MBEDTLS_PEM_PARSE_C)
685 "PEM_PARSE_C", //no-check-names
686#endif /* MBEDTLS_PEM_PARSE_C */
687#if defined(MBEDTLS_PEM_WRITE_C)
688 "PEM_WRITE_C", //no-check-names
689#endif /* MBEDTLS_PEM_WRITE_C */
690#if defined(MBEDTLS_PK_C)
691 "PK_C", //no-check-names
692#endif /* MBEDTLS_PK_C */
693#if defined(MBEDTLS_PK_PARSE_C)
694 "PK_PARSE_C", //no-check-names
695#endif /* MBEDTLS_PK_PARSE_C */
696#if defined(MBEDTLS_PK_WRITE_C)
697 "PK_WRITE_C", //no-check-names
698#endif /* MBEDTLS_PK_WRITE_C */
699#if defined(MBEDTLS_PKCS5_C)
700 "PKCS5_C", //no-check-names
701#endif /* MBEDTLS_PKCS5_C */
702#if defined(MBEDTLS_PKCS7_C)
703 "PKCS7_C", //no-check-names
704#endif /* MBEDTLS_PKCS7_C */
705#if defined(MBEDTLS_PKCS12_C)
706 "PKCS12_C", //no-check-names
707#endif /* MBEDTLS_PKCS12_C */
708#if defined(MBEDTLS_PLATFORM_C)
709 "PLATFORM_C", //no-check-names
710#endif /* MBEDTLS_PLATFORM_C */
711#if defined(MBEDTLS_POLY1305_C)
712 "POLY1305_C", //no-check-names
713#endif /* MBEDTLS_POLY1305_C */
714#if defined(MBEDTLS_PSA_CRYPTO_C)
715 "PSA_CRYPTO_C", //no-check-names
716#endif /* MBEDTLS_PSA_CRYPTO_C */
717#if defined(MBEDTLS_PSA_CRYPTO_SE_C)
718 "PSA_CRYPTO_SE_C", //no-check-names
719#endif /* MBEDTLS_PSA_CRYPTO_SE_C */
720#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C)
721 "PSA_CRYPTO_STORAGE_C", //no-check-names
722#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */
723#if defined(MBEDTLS_PSA_ITS_FILE_C)
724 "PSA_ITS_FILE_C", //no-check-names
725#endif /* MBEDTLS_PSA_ITS_FILE_C */
726#if defined(MBEDTLS_PSA_STATIC_KEY_SLOTS)
727 "PSA_STATIC_KEY_SLOTS", //no-check-names
728#endif /* MBEDTLS_PSA_STATIC_KEY_SLOTS */
729#if defined(MBEDTLS_RIPEMD160_C)
730 "RIPEMD160_C", //no-check-names
731#endif /* MBEDTLS_RIPEMD160_C */
732#if defined(MBEDTLS_RSA_C)
733 "RSA_C", //no-check-names
734#endif /* MBEDTLS_RSA_C */
735#if defined(MBEDTLS_SHA1_C)
736 "SHA1_C", //no-check-names
737#endif /* MBEDTLS_SHA1_C */
738#if defined(MBEDTLS_SHA224_C)
739 "SHA224_C", //no-check-names
740#endif /* MBEDTLS_SHA224_C */
741#if defined(MBEDTLS_SHA256_C)
742 "SHA256_C", //no-check-names
743#endif /* MBEDTLS_SHA256_C */
744#if defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT)
745 "SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT", //no-check-names
746#endif /* MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT */
747#if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT)
748 "SHA256_USE_A64_CRYPTO_IF_PRESENT", //no-check-names
749#endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT */
750#if defined(MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY)
751 "SHA256_USE_ARMV8_A_CRYPTO_ONLY", //no-check-names
752#endif /* MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY */
753#if defined(MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY)
754 "SHA256_USE_A64_CRYPTO_ONLY", //no-check-names
755#endif /* MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY */
756#if defined(MBEDTLS_SHA384_C)
757 "SHA384_C", //no-check-names
758#endif /* MBEDTLS_SHA384_C */
759#if defined(MBEDTLS_SHA512_C)
760 "SHA512_C", //no-check-names
761#endif /* MBEDTLS_SHA512_C */
762#if defined(MBEDTLS_SHA3_C)
763 "SHA3_C", //no-check-names
764#endif /* MBEDTLS_SHA3_C */
765#if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT)
766 "SHA512_USE_A64_CRYPTO_IF_PRESENT", //no-check-names
767#endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT */
768#if defined(MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY)
769 "SHA512_USE_A64_CRYPTO_ONLY", //no-check-names
770#endif /* MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY */
771#if defined(MBEDTLS_SSL_CACHE_C)
772 "SSL_CACHE_C", //no-check-names
773#endif /* MBEDTLS_SSL_CACHE_C */
774#if defined(MBEDTLS_SSL_COOKIE_C)
775 "SSL_COOKIE_C", //no-check-names
776#endif /* MBEDTLS_SSL_COOKIE_C */
777#if defined(MBEDTLS_SSL_TICKET_C)
778 "SSL_TICKET_C", //no-check-names
779#endif /* MBEDTLS_SSL_TICKET_C */
780#if defined(MBEDTLS_SSL_CLI_C)
781 "SSL_CLI_C", //no-check-names
782#endif /* MBEDTLS_SSL_CLI_C */
783#if defined(MBEDTLS_SSL_SRV_C)
784 "SSL_SRV_C", //no-check-names
785#endif /* MBEDTLS_SSL_SRV_C */
786#if defined(MBEDTLS_SSL_TLS_C)
787 "SSL_TLS_C", //no-check-names
788#endif /* MBEDTLS_SSL_TLS_C */
789#if defined(MBEDTLS_THREADING_C)
790 "THREADING_C", //no-check-names
791#endif /* MBEDTLS_THREADING_C */
792#if defined(MBEDTLS_TIMING_C)
793 "TIMING_C", //no-check-names
794#endif /* MBEDTLS_TIMING_C */
795#if defined(MBEDTLS_VERSION_C)
796 "VERSION_C", //no-check-names
797#endif /* MBEDTLS_VERSION_C */
798#if defined(MBEDTLS_X509_USE_C)
799 "X509_USE_C", //no-check-names
800#endif /* MBEDTLS_X509_USE_C */
801#if defined(MBEDTLS_X509_CRT_PARSE_C)
802 "X509_CRT_PARSE_C", //no-check-names
803#endif /* MBEDTLS_X509_CRT_PARSE_C */
804#if defined(MBEDTLS_X509_CRL_PARSE_C)
805 "X509_CRL_PARSE_C", //no-check-names
806#endif /* MBEDTLS_X509_CRL_PARSE_C */
807#if defined(MBEDTLS_X509_CSR_PARSE_C)
808 "X509_CSR_PARSE_C", //no-check-names
809#endif /* MBEDTLS_X509_CSR_PARSE_C */
810#if defined(MBEDTLS_X509_CREATE_C)
811 "X509_CREATE_C", //no-check-names
812#endif /* MBEDTLS_X509_CREATE_C */
813#if defined(MBEDTLS_X509_CRT_WRITE_C)
814 "X509_CRT_WRITE_C", //no-check-names
815#endif /* MBEDTLS_X509_CRT_WRITE_C */
816#if defined(MBEDTLS_X509_CSR_WRITE_C)
817 "X509_CSR_WRITE_C", //no-check-names
818#endif /* MBEDTLS_X509_CSR_WRITE_C */
819#endif /* MBEDTLS_VERSION_FEATURES */
820 NULL
821};
822
823int mbedtls_version_check_feature(const char *feature)
824{
825 const char * const *idx = features;
826
827 if (*idx == NULL) {
828 return -2;
829 }
830
831 if (feature == NULL) {
832 return -1;
833 }
834
835 if (strncmp(feature, "MBEDTLS_", 8)) {
836 return -1;
837 }
838
839 feature += 8;
840
841 while (*idx != NULL) {
842 if (!strcmp(*idx, feature)) {
843 return 0;
844 }
845 idx++;
846 }
847 return -1;
848}
849
850#endif /* MBEDTLS_VERSION_C */