mbed TLS v2.23.0
include
mbedtls
check_config.h
Go to the documentation of this file.
1
6
/*
7
* Copyright (C) 2006-2018, ARM Limited, All Rights Reserved
8
* SPDX-License-Identifier: Apache-2.0
9
*
10
* Licensed under the Apache License, Version 2.0 (the "License"); you may
11
* not use this file except in compliance with the License.
12
* You may obtain a copy of the License at
13
*
14
* http://www.apache.org/licenses/LICENSE-2.0
15
*
16
* Unless required by applicable law or agreed to in writing, software
17
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
18
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
* See the License for the specific language governing permissions and
20
* limitations under the License.
21
*
22
* This file is part of mbed TLS (https://tls.mbed.org)
23
*/
24
25
/*
26
* It is recommended to include this file from your config.h
27
* in order to catch dependency issues early.
28
*/
29
30
#ifndef MBEDTLS_CHECK_CONFIG_H
31
#define MBEDTLS_CHECK_CONFIG_H
32
33
/*
34
* We assume CHAR_BIT is 8 in many places. In practice, this is true on our
35
* target platforms, so not an issue, but let's just be extra sure.
36
*/
37
#include <limits.h>
38
#if CHAR_BIT != 8
39
#error "mbed TLS requires a platform with 8-bit chars"
40
#endif
41
42
#if defined(_WIN32)
43
#if !defined(MBEDTLS_PLATFORM_C)
44
#error "MBEDTLS_PLATFORM_C is required on Windows"
45
#endif
46
47
/* Fix the config here. Not convenient to put an #ifdef _WIN32 in config.h as
48
* it would confuse config.py. */
49
#if !defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && \
50
!defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO)
51
#define MBEDTLS_PLATFORM_SNPRINTF_ALT
52
#endif
53
54
#if !defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT) && \
55
!defined(MBEDTLS_PLATFORM_VSNPRINTF_MACRO)
56
#define MBEDTLS_PLATFORM_VSNPRINTF_ALT
57
#endif
58
#endif
/* _WIN32 */
59
60
#if defined(TARGET_LIKE_MBED) && \
61
( defined(MBEDTLS_NET_C) || defined(MBEDTLS_TIMING_C) )
62
#error "The NET and TIMING modules are not available for mbed OS - please use the network and timing functions provided by mbed OS"
63
#endif
64
65
#if defined(MBEDTLS_DEPRECATED_WARNING) && \
66
!defined(__GNUC__) && !defined(__clang__)
67
#error "MBEDTLS_DEPRECATED_WARNING only works with GCC and Clang"
68
#endif
69
70
#if defined(MBEDTLS_HAVE_TIME_DATE) && !defined(MBEDTLS_HAVE_TIME)
71
#error "MBEDTLS_HAVE_TIME_DATE without MBEDTLS_HAVE_TIME does not make sense"
72
#endif
73
74
#if defined(MBEDTLS_AESNI_C) && !defined(MBEDTLS_HAVE_ASM)
75
#error "MBEDTLS_AESNI_C defined, but not all prerequisites"
76
#endif
77
78
#if defined(MBEDTLS_CTR_DRBG_C) && !defined(MBEDTLS_AES_C)
79
#error "MBEDTLS_CTR_DRBG_C defined, but not all prerequisites"
80
#endif
81
82
#if defined(MBEDTLS_DHM_C) && !defined(MBEDTLS_BIGNUM_C)
83
#error "MBEDTLS_DHM_C defined, but not all prerequisites"
84
#endif
85
86
#if defined(MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT) && !defined(MBEDTLS_SSL_TRUNCATED_HMAC)
87
#error "MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT defined, but not all prerequisites"
88
#endif
89
90
#if defined(MBEDTLS_CMAC_C) && \
91
!defined(MBEDTLS_AES_C) && !defined(MBEDTLS_DES_C)
92
#error "MBEDTLS_CMAC_C defined, but not all prerequisites"
93
#endif
94
95
#if defined(MBEDTLS_NIST_KW_C) && \
96
( !defined(MBEDTLS_AES_C) || !defined(MBEDTLS_CIPHER_C) )
97
#error "MBEDTLS_NIST_KW_C defined, but not all prerequisites"
98
#endif
99
100
#if defined(MBEDTLS_ECDH_C) && !defined(MBEDTLS_ECP_C)
101
#error "MBEDTLS_ECDH_C defined, but not all prerequisites"
102
#endif
103
104
#if defined(MBEDTLS_ECDSA_C) && \
105
( !defined(MBEDTLS_ECP_C) || \
106
!defined(MBEDTLS_ASN1_PARSE_C) || \
107
!defined(MBEDTLS_ASN1_WRITE_C) )
108
#error "MBEDTLS_ECDSA_C defined, but not all prerequisites"
109
#endif
110
111
#if defined(MBEDTLS_ECJPAKE_C) && \
112
( !defined(MBEDTLS_ECP_C) || !defined(MBEDTLS_MD_C) )
113
#error "MBEDTLS_ECJPAKE_C defined, but not all prerequisites"
114
#endif
115
116
#if defined(MBEDTLS_ECP_RESTARTABLE) && \
117
( defined(MBEDTLS_USE_PSA_CRYPTO) || \
118
defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT) || \
119
defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT) || \
120
defined(MBEDTLS_ECDSA_SIGN_ALT) || \
121
defined(MBEDTLS_ECDSA_VERIFY_ALT) || \
122
defined(MBEDTLS_ECDSA_GENKEY_ALT) || \
123
defined(MBEDTLS_ECP_INTERNAL_ALT) || \
124
defined(MBEDTLS_ECP_ALT) )
125
#error "MBEDTLS_ECP_RESTARTABLE defined, but it cannot coexist with an alternative or PSA-based ECP implementation"
126
#endif
127
128
#if defined(MBEDTLS_ECP_RESTARTABLE) && \
129
! defined(MBEDTLS_ECDH_LEGACY_CONTEXT)
130
#error "MBEDTLS_ECP_RESTARTABLE defined, but not MBEDTLS_ECDH_LEGACY_CONTEXT"
131
#endif
132
133
#if defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) && \
134
defined(MBEDTLS_ECDH_LEGACY_CONTEXT)
135
#error "MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED defined, but MBEDTLS_ECDH_LEGACY_CONTEXT not disabled"
136
#endif
137
138
#if defined(MBEDTLS_ECDSA_DETERMINISTIC) && !defined(MBEDTLS_HMAC_DRBG_C)
139
#error "MBEDTLS_ECDSA_DETERMINISTIC defined, but not all prerequisites"
140
#endif
141
142
#if defined(MBEDTLS_ECP_C) && ( !defined(MBEDTLS_BIGNUM_C) || ( \
143
!defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) && \
144
!defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) && \
145
!defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) && \
146
!defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) && \
147
!defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) && \
148
!defined(MBEDTLS_ECP_DP_BP256R1_ENABLED) && \
149
!defined(MBEDTLS_ECP_DP_BP384R1_ENABLED) && \
150
!defined(MBEDTLS_ECP_DP_BP512R1_ENABLED) && \
151
!defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED) && \
152
!defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED) && \
153
!defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED) && \
154
!defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED) && \
155
!defined(MBEDTLS_ECP_DP_CURVE448_ENABLED) ) )
156
#error "MBEDTLS_ECP_C defined, but not all prerequisites"
157
#endif
158
159
#if defined(MBEDTLS_ECP_C) && !( \
160
defined(MBEDTLS_ECP_ALT) || \
161
defined(MBEDTLS_CTR_DRBG_C) || \
162
defined(MBEDTLS_HMAC_DRBG_C) || \
163
defined(MBEDTLS_ECP_NO_INTERNAL_RNG))
164
#error "MBEDTLS_ECP_C requires a DRBG module unless MBEDTLS_ECP_NO_INTERNAL_RNG is defined or an alternative implementation is used"
165
#endif
166
167
#if defined(MBEDTLS_PK_PARSE_C) && !defined(MBEDTLS_ASN1_PARSE_C)
168
#error "MBEDTLS_PK_PARSE_C defined, but not all prerequesites"
169
#endif
170
171
#if defined(MBEDTLS_ENTROPY_C) && (!defined(MBEDTLS_SHA512_C) && \
172
!defined(MBEDTLS_SHA256_C))
173
#error "MBEDTLS_ENTROPY_C defined, but not all prerequisites"
174
#endif
175
#if defined(MBEDTLS_ENTROPY_C) && defined(MBEDTLS_SHA512_C) && \
176
defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) && (MBEDTLS_CTR_DRBG_ENTROPY_LEN > 64)
177
#error "MBEDTLS_CTR_DRBG_ENTROPY_LEN value too high"
178
#endif
179
#if defined(MBEDTLS_ENTROPY_C) && \
180
( !defined(MBEDTLS_SHA512_C) || defined(MBEDTLS_ENTROPY_FORCE_SHA256) ) \
181
&& defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN) && (MBEDTLS_CTR_DRBG_ENTROPY_LEN > 32)
182
#error "MBEDTLS_CTR_DRBG_ENTROPY_LEN value too high"
183
#endif
184
#if defined(MBEDTLS_ENTROPY_C) && \
185
defined(MBEDTLS_ENTROPY_FORCE_SHA256) && !defined(MBEDTLS_SHA256_C)
186
#error "MBEDTLS_ENTROPY_FORCE_SHA256 defined, but not all prerequisites"
187
#endif
188
189
#if defined(MBEDTLS_TEST_NULL_ENTROPY) && \
190
( !defined(MBEDTLS_ENTROPY_C) || !defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES) )
191
#error "MBEDTLS_TEST_NULL_ENTROPY defined, but not all prerequisites"
192
#endif
193
#if defined(MBEDTLS_TEST_NULL_ENTROPY) && \
194
( defined(MBEDTLS_ENTROPY_NV_SEED) || defined(MBEDTLS_ENTROPY_HARDWARE_ALT) || \
195
defined(MBEDTLS_HAVEGE_C) )
196
#error "MBEDTLS_TEST_NULL_ENTROPY defined, but entropy sources too"
197
#endif
198
199
#if defined(MBEDTLS_GCM_C) && ( \
200
!defined(MBEDTLS_AES_C) && !defined(MBEDTLS_CAMELLIA_C) && !defined(MBEDTLS_ARIA_C) )
201
#error "MBEDTLS_GCM_C defined, but not all prerequisites"
202
#endif
203
204
#if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
205
#error "MBEDTLS_ECP_RANDOMIZE_JAC_ALT defined, but not all prerequisites"
206
#endif
207
208
#if defined(MBEDTLS_ECP_ADD_MIXED_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
209
#error "MBEDTLS_ECP_ADD_MIXED_ALT defined, but not all prerequisites"
210
#endif
211
212
#if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
213
#error "MBEDTLS_ECP_DOUBLE_JAC_ALT defined, but not all prerequisites"
214
#endif
215
216
#if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
217
#error "MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT defined, but not all prerequisites"
218
#endif
219
220
#if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
221
#error "MBEDTLS_ECP_NORMALIZE_JAC_ALT defined, but not all prerequisites"
222
#endif
223
224
#if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
225
#error "MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT defined, but not all prerequisites"
226
#endif
227
228
#if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
229
#error "MBEDTLS_ECP_RANDOMIZE_MXZ_ALT defined, but not all prerequisites"
230
#endif
231
232
#if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT) && !defined(MBEDTLS_ECP_INTERNAL_ALT)
233
#error "MBEDTLS_ECP_NORMALIZE_MXZ_ALT defined, but not all prerequisites"
234
#endif
235
236
#if defined(MBEDTLS_HAVEGE_C) && !defined(MBEDTLS_TIMING_C)
237
#error "MBEDTLS_HAVEGE_C defined, but not all prerequisites"
238
#endif
239
240
#if defined(MBEDTLS_HKDF_C) && !defined(MBEDTLS_MD_C)
241
#error "MBEDTLS_HKDF_C defined, but not all prerequisites"
242
#endif
243
244
#if defined(MBEDTLS_HMAC_DRBG_C) && !defined(MBEDTLS_MD_C)
245
#error "MBEDTLS_HMAC_DRBG_C defined, but not all prerequisites"
246
#endif
247
248
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) && \
249
( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) )
250
#error "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED defined, but not all prerequisites"
251
#endif
252
253
#if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) && \
254
( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) )
255
#error "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED defined, but not all prerequisites"
256
#endif
257
258
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) && !defined(MBEDTLS_DHM_C)
259
#error "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED defined, but not all prerequisites"
260
#endif
261
262
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) && \
263
!defined(MBEDTLS_ECDH_C)
264
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED defined, but not all prerequisites"
265
#endif
266
267
#if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) && \
268
( !defined(MBEDTLS_DHM_C) || !defined(MBEDTLS_RSA_C) || \
269
!defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) )
270
#error "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED defined, but not all prerequisites"
271
#endif
272
273
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) && \
274
( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_RSA_C) || \
275
!defined(MBEDTLS_X509_CRT_PARSE_C) || !defined(MBEDTLS_PKCS1_V15) )
276
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED defined, but not all prerequisites"
277
#endif
278
279
#if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) && \
280
( !defined(MBEDTLS_ECDH_C) || !defined(MBEDTLS_ECDSA_C) || \
281
!defined(MBEDTLS_X509_CRT_PARSE_C) )
282
#error "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED defined, but not all prerequisites"
283
#endif
284
285
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) && \
286
( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \
287
!defined(MBEDTLS_PKCS1_V15) )
288
#error "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED defined, but not all prerequisites"
289
#endif
290
291
#if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) && \
292
( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_X509_CRT_PARSE_C) || \
293
!defined(MBEDTLS_PKCS1_V15) )
294
#error "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED defined, but not all prerequisites"
295
#endif
296
297
#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) && \
298
( !defined(MBEDTLS_ECJPAKE_C) || !defined(MBEDTLS_SHA256_C) || \
299
!defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) )
300
#error "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED defined, but not all prerequisites"
301
#endif
302
303
#if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) && \
304
!defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE) && \
305
( !defined(MBEDTLS_SHA256_C) && \
306
!defined(MBEDTLS_SHA512_C) && \
307
!defined(MBEDTLS_SHA1_C) )
308
#error "!MBEDTLS_SSL_KEEP_PEER_CERTIFICATE requires MBEDTLS_SHA512_C, MBEDTLS_SHA256_C or MBEDTLS_SHA1_C"
309
#endif
310
311
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \
312
( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) )
313
#error "MBEDTLS_MEMORY_BUFFER_ALLOC_C defined, but not all prerequisites"
314
#endif
315
316
#if defined(MBEDTLS_MEMORY_BACKTRACE) && !defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
317
#error "MBEDTLS_MEMORY_BACKTRACE defined, but not all prerequesites"
318
#endif
319
320
#if defined(MBEDTLS_MEMORY_DEBUG) && !defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
321
#error "MBEDTLS_MEMORY_DEBUG defined, but not all prerequesites"
322
#endif
323
324
#if defined(MBEDTLS_PADLOCK_C) && !defined(MBEDTLS_HAVE_ASM)
325
#error "MBEDTLS_PADLOCK_C defined, but not all prerequisites"
326
#endif
327
328
#if defined(MBEDTLS_PEM_PARSE_C) && !defined(MBEDTLS_BASE64_C)
329
#error "MBEDTLS_PEM_PARSE_C defined, but not all prerequisites"
330
#endif
331
332
#if defined(MBEDTLS_PEM_WRITE_C) && !defined(MBEDTLS_BASE64_C)
333
#error "MBEDTLS_PEM_WRITE_C defined, but not all prerequisites"
334
#endif
335
336
#if defined(MBEDTLS_PK_C) && \
337
( !defined(MBEDTLS_RSA_C) && !defined(MBEDTLS_ECP_C) )
338
#error "MBEDTLS_PK_C defined, but not all prerequisites"
339
#endif
340
341
#if defined(MBEDTLS_PK_PARSE_C) && !defined(MBEDTLS_PK_C)
342
#error "MBEDTLS_PK_PARSE_C defined, but not all prerequisites"
343
#endif
344
345
#if defined(MBEDTLS_PK_WRITE_C) && !defined(MBEDTLS_PK_C)
346
#error "MBEDTLS_PK_WRITE_C defined, but not all prerequisites"
347
#endif
348
349
#if defined(MBEDTLS_PKCS11_C) && !defined(MBEDTLS_PK_C)
350
#error "MBEDTLS_PKCS11_C defined, but not all prerequisites"
351
#endif
352
353
#if defined(MBEDTLS_PKCS11_C)
354
#if defined(MBEDTLS_DEPRECATED_REMOVED)
355
#error "MBEDTLS_PKCS11_C is deprecated and will be removed in a future version of Mbed TLS"
356
#elif defined(MBEDTLS_DEPRECATED_WARNING)
357
#warning "MBEDTLS_PKCS11_C is deprecated and will be removed in a future version of Mbed TLS"
358
#endif
359
#endif
/* MBEDTLS_PKCS11_C */
360
361
#if defined(MBEDTLS_PLATFORM_EXIT_ALT) && !defined(MBEDTLS_PLATFORM_C)
362
#error "MBEDTLS_PLATFORM_EXIT_ALT defined, but not all prerequisites"
363
#endif
364
365
#if defined(MBEDTLS_PLATFORM_EXIT_MACRO) && !defined(MBEDTLS_PLATFORM_C)
366
#error "MBEDTLS_PLATFORM_EXIT_MACRO defined, but not all prerequisites"
367
#endif
368
369
#if defined(MBEDTLS_PLATFORM_EXIT_MACRO) &&\
370
( defined(MBEDTLS_PLATFORM_STD_EXIT) ||\
371
defined(MBEDTLS_PLATFORM_EXIT_ALT) )
372
#error "MBEDTLS_PLATFORM_EXIT_MACRO and MBEDTLS_PLATFORM_STD_EXIT/MBEDTLS_PLATFORM_EXIT_ALT cannot be defined simultaneously"
373
#endif
374
375
#if defined(MBEDTLS_PLATFORM_TIME_ALT) &&\
376
( !defined(MBEDTLS_PLATFORM_C) ||\
377
!defined(MBEDTLS_HAVE_TIME) )
378
#error "MBEDTLS_PLATFORM_TIME_ALT defined, but not all prerequisites"
379
#endif
380
381
#if defined(MBEDTLS_PLATFORM_TIME_MACRO) &&\
382
( !defined(MBEDTLS_PLATFORM_C) ||\
383
!defined(MBEDTLS_HAVE_TIME) )
384
#error "MBEDTLS_PLATFORM_TIME_MACRO defined, but not all prerequisites"
385
#endif
386
387
#if defined(MBEDTLS_PLATFORM_TIME_TYPE_MACRO) &&\
388
( !defined(MBEDTLS_PLATFORM_C) ||\
389
!defined(MBEDTLS_HAVE_TIME) )
390
#error "MBEDTLS_PLATFORM_TIME_TYPE_MACRO defined, but not all prerequisites"
391
#endif
392
393
#if defined(MBEDTLS_PLATFORM_TIME_MACRO) &&\
394
( defined(MBEDTLS_PLATFORM_STD_TIME) ||\
395
defined(MBEDTLS_PLATFORM_TIME_ALT) )
396
#error "MBEDTLS_PLATFORM_TIME_MACRO and MBEDTLS_PLATFORM_STD_TIME/MBEDTLS_PLATFORM_TIME_ALT cannot be defined simultaneously"
397
#endif
398
399
#if defined(MBEDTLS_PLATFORM_TIME_TYPE_MACRO) &&\
400
( defined(MBEDTLS_PLATFORM_STD_TIME) ||\
401
defined(MBEDTLS_PLATFORM_TIME_ALT) )
402
#error "MBEDTLS_PLATFORM_TIME_TYPE_MACRO and MBEDTLS_PLATFORM_STD_TIME/MBEDTLS_PLATFORM_TIME_ALT cannot be defined simultaneously"
403
#endif
404
405
#if defined(MBEDTLS_PLATFORM_FPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C)
406
#error "MBEDTLS_PLATFORM_FPRINTF_ALT defined, but not all prerequisites"
407
#endif
408
409
#if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C)
410
#error "MBEDTLS_PLATFORM_FPRINTF_MACRO defined, but not all prerequisites"
411
#endif
412
413
#if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO) &&\
414
( defined(MBEDTLS_PLATFORM_STD_FPRINTF) ||\
415
defined(MBEDTLS_PLATFORM_FPRINTF_ALT) )
416
#error "MBEDTLS_PLATFORM_FPRINTF_MACRO and MBEDTLS_PLATFORM_STD_FPRINTF/MBEDTLS_PLATFORM_FPRINTF_ALT cannot be defined simultaneously"
417
#endif
418
419
#if defined(MBEDTLS_PLATFORM_FREE_MACRO) &&\
420
( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) )
421
#error "MBEDTLS_PLATFORM_FREE_MACRO defined, but not all prerequisites"
422
#endif
423
424
#if defined(MBEDTLS_PLATFORM_FREE_MACRO) &&\
425
defined(MBEDTLS_PLATFORM_STD_FREE)
426
#error "MBEDTLS_PLATFORM_FREE_MACRO and MBEDTLS_PLATFORM_STD_FREE cannot be defined simultaneously"
427
#endif
428
429
#if defined(MBEDTLS_PLATFORM_FREE_MACRO) && !defined(MBEDTLS_PLATFORM_CALLOC_MACRO)
430
#error "MBEDTLS_PLATFORM_CALLOC_MACRO must be defined if MBEDTLS_PLATFORM_FREE_MACRO is"
431
#endif
432
433
#if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&\
434
( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_PLATFORM_MEMORY) )
435
#error "MBEDTLS_PLATFORM_CALLOC_MACRO defined, but not all prerequisites"
436
#endif
437
438
#if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) &&\
439
defined(MBEDTLS_PLATFORM_STD_CALLOC)
440
#error "MBEDTLS_PLATFORM_CALLOC_MACRO and MBEDTLS_PLATFORM_STD_CALLOC cannot be defined simultaneously"
441
#endif
442
443
#if defined(MBEDTLS_PLATFORM_CALLOC_MACRO) && !defined(MBEDTLS_PLATFORM_FREE_MACRO)
444
#error "MBEDTLS_PLATFORM_FREE_MACRO must be defined if MBEDTLS_PLATFORM_CALLOC_MACRO is"
445
#endif
446
447
#if defined(MBEDTLS_PLATFORM_MEMORY) && !defined(MBEDTLS_PLATFORM_C)
448
#error "MBEDTLS_PLATFORM_MEMORY defined, but not all prerequisites"
449
#endif
450
451
#if defined(MBEDTLS_PLATFORM_PRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C)
452
#error "MBEDTLS_PLATFORM_PRINTF_ALT defined, but not all prerequisites"
453
#endif
454
455
#if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C)
456
#error "MBEDTLS_PLATFORM_PRINTF_MACRO defined, but not all prerequisites"
457
#endif
458
459
#if defined(MBEDTLS_PLATFORM_PRINTF_MACRO) &&\
460
( defined(MBEDTLS_PLATFORM_STD_PRINTF) ||\
461
defined(MBEDTLS_PLATFORM_PRINTF_ALT) )
462
#error "MBEDTLS_PLATFORM_PRINTF_MACRO and MBEDTLS_PLATFORM_STD_PRINTF/MBEDTLS_PLATFORM_PRINTF_ALT cannot be defined simultaneously"
463
#endif
464
465
#if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) && !defined(MBEDTLS_PLATFORM_C)
466
#error "MBEDTLS_PLATFORM_SNPRINTF_ALT defined, but not all prerequisites"
467
#endif
468
469
#if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C)
470
#error "MBEDTLS_PLATFORM_SNPRINTF_MACRO defined, but not all prerequisites"
471
#endif
472
473
#if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) &&\
474
( defined(MBEDTLS_PLATFORM_STD_SNPRINTF) ||\
475
defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) )
476
#error "MBEDTLS_PLATFORM_SNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_SNPRINTF/MBEDTLS_PLATFORM_SNPRINTF_ALT cannot be defined simultaneously"
477
#endif
478
479
#if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) &&\
480
!defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS)
481
#error "MBEDTLS_PLATFORM_STD_MEM_HDR defined, but not all prerequisites"
482
#endif
483
484
#if defined(MBEDTLS_PLATFORM_STD_CALLOC) && !defined(MBEDTLS_PLATFORM_MEMORY)
485
#error "MBEDTLS_PLATFORM_STD_CALLOC defined, but not all prerequisites"
486
#endif
487
488
#if defined(MBEDTLS_PLATFORM_STD_CALLOC) && !defined(MBEDTLS_PLATFORM_MEMORY)
489
#error "MBEDTLS_PLATFORM_STD_CALLOC defined, but not all prerequisites"
490
#endif
491
492
#if defined(MBEDTLS_PLATFORM_STD_FREE) && !defined(MBEDTLS_PLATFORM_MEMORY)
493
#error "MBEDTLS_PLATFORM_STD_FREE defined, but not all prerequisites"
494
#endif
495
496
#if defined(MBEDTLS_PLATFORM_STD_EXIT) &&\
497
!defined(MBEDTLS_PLATFORM_EXIT_ALT)
498
#error "MBEDTLS_PLATFORM_STD_EXIT defined, but not all prerequisites"
499
#endif
500
501
#if defined(MBEDTLS_PLATFORM_STD_TIME) &&\
502
( !defined(MBEDTLS_PLATFORM_TIME_ALT) ||\
503
!defined(MBEDTLS_HAVE_TIME) )
504
#error "MBEDTLS_PLATFORM_STD_TIME defined, but not all prerequisites"
505
#endif
506
507
#if defined(MBEDTLS_PLATFORM_STD_FPRINTF) &&\
508
!defined(MBEDTLS_PLATFORM_FPRINTF_ALT)
509
#error "MBEDTLS_PLATFORM_STD_FPRINTF defined, but not all prerequisites"
510
#endif
511
512
#if defined(MBEDTLS_PLATFORM_STD_PRINTF) &&\
513
!defined(MBEDTLS_PLATFORM_PRINTF_ALT)
514
#error "MBEDTLS_PLATFORM_STD_PRINTF defined, but not all prerequisites"
515
#endif
516
517
#if defined(MBEDTLS_PLATFORM_STD_SNPRINTF) &&\
518
!defined(MBEDTLS_PLATFORM_SNPRINTF_ALT)
519
#error "MBEDTLS_PLATFORM_STD_SNPRINTF defined, but not all prerequisites"
520
#endif
521
522
#if defined(MBEDTLS_ENTROPY_NV_SEED) &&\
523
( !defined(MBEDTLS_PLATFORM_C) || !defined(MBEDTLS_ENTROPY_C) )
524
#error "MBEDTLS_ENTROPY_NV_SEED defined, but not all prerequisites"
525
#endif
526
527
#if defined(MBEDTLS_PLATFORM_NV_SEED_ALT) &&\
528
!defined(MBEDTLS_ENTROPY_NV_SEED)
529
#error "MBEDTLS_PLATFORM_NV_SEED_ALT defined, but not all prerequisites"
530
#endif
531
532
#if defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) &&\
533
!defined(MBEDTLS_PLATFORM_NV_SEED_ALT)
534
#error "MBEDTLS_PLATFORM_STD_NV_SEED_READ defined, but not all prerequisites"
535
#endif
536
537
#if defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) &&\
538
!defined(MBEDTLS_PLATFORM_NV_SEED_ALT)
539
#error "MBEDTLS_PLATFORM_STD_NV_SEED_WRITE defined, but not all prerequisites"
540
#endif
541
542
#if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO) &&\
543
( defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ) ||\
544
defined(MBEDTLS_PLATFORM_NV_SEED_ALT) )
545
#error "MBEDTLS_PLATFORM_NV_SEED_READ_MACRO and MBEDTLS_PLATFORM_STD_NV_SEED_READ cannot be defined simultaneously"
546
#endif
547
548
#if defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO) &&\
549
( defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE) ||\
550
defined(MBEDTLS_PLATFORM_NV_SEED_ALT) )
551
#error "MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO and MBEDTLS_PLATFORM_STD_NV_SEED_WRITE cannot be defined simultaneously"
552
#endif
553
554
#if defined(MBEDTLS_PSA_CRYPTO_C) && \
555
!( defined(MBEDTLS_CTR_DRBG_C) && \
556
defined(MBEDTLS_ENTROPY_C) )
557
#error "MBEDTLS_PSA_CRYPTO_C defined, but not all prerequisites"
558
#endif
559
560
#if defined(MBEDTLS_PSA_CRYPTO_SPM) && !defined(MBEDTLS_PSA_CRYPTO_C)
561
#error "MBEDTLS_PSA_CRYPTO_SPM defined, but not all prerequisites"
562
#endif
563
564
#if defined(MBEDTLS_PSA_CRYPTO_SE_C) && \
565
! ( defined(MBEDTLS_PSA_CRYPTO_C) && \
566
defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) )
567
#error "MBEDTLS_PSA_CRYPTO_SE_C defined, but not all prerequisites"
568
#endif
569
570
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) && \
571
! defined(MBEDTLS_PSA_CRYPTO_C)
572
#error "MBEDTLS_PSA_CRYPTO_STORAGE_C defined, but not all prerequisites"
573
#endif
574
575
#if defined(MBEDTLS_PSA_INJECT_ENTROPY) && \
576
!( defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) && \
577
defined(MBEDTLS_ENTROPY_NV_SEED) )
578
#error "MBEDTLS_PSA_INJECT_ENTROPY defined, but not all prerequisites"
579
#endif
580
581
#if defined(MBEDTLS_PSA_INJECT_ENTROPY) && \
582
!defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES)
583
#error "MBEDTLS_PSA_INJECT_ENTROPY is not compatible with actual entropy sources"
584
#endif
585
586
#if defined(MBEDTLS_PSA_ITS_FILE_C) && \
587
!defined(MBEDTLS_FS_IO)
588
#error "MBEDTLS_PSA_ITS_FILE_C defined, but not all prerequisites"
589
#endif
590
591
#if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_BIGNUM_C) || \
592
!defined(MBEDTLS_OID_C) )
593
#error "MBEDTLS_RSA_C defined, but not all prerequisites"
594
#endif
595
596
#if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_PKCS1_V21) && \
597
!defined(MBEDTLS_PKCS1_V15) )
598
#error "MBEDTLS_RSA_C defined, but none of the PKCS1 versions enabled"
599
#endif
600
601
#if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT) && \
602
( !defined(MBEDTLS_RSA_C) || !defined(MBEDTLS_PKCS1_V21) )
603
#error "MBEDTLS_X509_RSASSA_PSS_SUPPORT defined, but not all prerequisites"
604
#endif
605
606
#if defined(MBEDTLS_SHA512_NO_SHA384) && !defined(MBEDTLS_SHA512_C)
607
#error "MBEDTLS_SHA512_NO_SHA384 defined without MBEDTLS_SHA512_C"
608
#endif
609
610
#if defined(MBEDTLS_SSL_PROTO_SSL3) && ( !defined(MBEDTLS_MD5_C) || \
611
!defined(MBEDTLS_SHA1_C) )
612
#error "MBEDTLS_SSL_PROTO_SSL3 defined, but not all prerequisites"
613
#endif
614
615
#if defined(MBEDTLS_SSL_PROTO_TLS1) && ( !defined(MBEDTLS_MD5_C) || \
616
!defined(MBEDTLS_SHA1_C) )
617
#error "MBEDTLS_SSL_PROTO_TLS1 defined, but not all prerequisites"
618
#endif
619
620
#if defined(MBEDTLS_SSL_PROTO_TLS1_1) && ( !defined(MBEDTLS_MD5_C) || \
621
!defined(MBEDTLS_SHA1_C) )
622
#error "MBEDTLS_SSL_PROTO_TLS1_1 defined, but not all prerequisites"
623
#endif
624
625
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && ( !defined(MBEDTLS_SHA1_C) && \
626
!defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA512_C) )
627
#error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites"
628
#endif
629
630
#if defined(MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL) && ( !defined(MBEDTLS_HKDF_C) && \
631
!defined(MBEDTLS_SHA256_C) && !defined(MBEDTLS_SHA512_C) )
632
#error "MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL defined, but not all prerequisites"
633
#endif
634
635
#if (defined(MBEDTLS_SSL_PROTO_SSL3) || defined(MBEDTLS_SSL_PROTO_TLS1) || \
636
defined(MBEDTLS_SSL_PROTO_TLS1_1) || defined(MBEDTLS_SSL_PROTO_TLS1_2)) && \
637
!(defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED) || \
638
defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
639
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED) || \
640
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED) || \
641
defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED) || \
642
defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED) || \
643
defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED) || \
644
defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED) || \
645
defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED) || \
646
defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED) || \
647
defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED) )
648
#error "One or more versions of the TLS protocol are enabled " \
649
"but no key exchange methods defined with MBEDTLS_KEY_EXCHANGE_xxxx"
650
#endif
651
652
#if defined(MBEDTLS_SSL_PROTO_DTLS) && \
653
!defined(MBEDTLS_SSL_PROTO_TLS1_1) && \
654
!defined(MBEDTLS_SSL_PROTO_TLS1_2)
655
#error "MBEDTLS_SSL_PROTO_DTLS defined, but not all prerequisites"
656
#endif
657
658
#if defined(MBEDTLS_SSL_CLI_C) && !defined(MBEDTLS_SSL_TLS_C)
659
#error "MBEDTLS_SSL_CLI_C defined, but not all prerequisites"
660
#endif
661
662
#if defined(MBEDTLS_SSL_TLS_C) && ( !defined(MBEDTLS_CIPHER_C) || \
663
!defined(MBEDTLS_MD_C) )
664
#error "MBEDTLS_SSL_TLS_C defined, but not all prerequisites"
665
#endif
666
667
#if defined(MBEDTLS_SSL_SRV_C) && !defined(MBEDTLS_SSL_TLS_C)
668
#error "MBEDTLS_SSL_SRV_C defined, but not all prerequisites"
669
#endif
670
671
#if defined(MBEDTLS_SSL_TLS_C) && (!defined(MBEDTLS_SSL_PROTO_SSL3) && \
672
!defined(MBEDTLS_SSL_PROTO_TLS1) && !defined(MBEDTLS_SSL_PROTO_TLS1_1) && \
673
!defined(MBEDTLS_SSL_PROTO_TLS1_2))
674
#error "MBEDTLS_SSL_TLS_C defined, but no protocols are active"
675
#endif
676
677
#if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_SSL3) && \
678
defined(MBEDTLS_SSL_PROTO_TLS1_1) && !defined(MBEDTLS_SSL_PROTO_TLS1))
679
#error "Illegal protocol selection"
680
#endif
681
682
#if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_TLS1) && \
683
defined(MBEDTLS_SSL_PROTO_TLS1_2) && !defined(MBEDTLS_SSL_PROTO_TLS1_1))
684
#error "Illegal protocol selection"
685
#endif
686
687
#if defined(MBEDTLS_SSL_TLS_C) && (defined(MBEDTLS_SSL_PROTO_SSL3) && \
688
defined(MBEDTLS_SSL_PROTO_TLS1_2) && (!defined(MBEDTLS_SSL_PROTO_TLS1) || \
689
!defined(MBEDTLS_SSL_PROTO_TLS1_1)))
690
#error "Illegal protocol selection"
691
#endif
692
693
#if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY) && !defined(MBEDTLS_SSL_PROTO_DTLS)
694
#error "MBEDTLS_SSL_DTLS_HELLO_VERIFY defined, but not all prerequisites"
695
#endif
696
697
#if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE) && \
698
!defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY)
699
#error "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE defined, but not all prerequisites"
700
#endif
701
702
#if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY) && \
703
( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) )
704
#error "MBEDTLS_SSL_DTLS_ANTI_REPLAY defined, but not all prerequisites"
705
#endif
706
707
#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \
708
( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) )
709
#error "MBEDTLS_SSL_DTLS_CONNECTION_ID defined, but not all prerequisites"
710
#endif
711
712
#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \
713
defined(MBEDTLS_SSL_CID_IN_LEN_MAX) && \
714
MBEDTLS_SSL_CID_IN_LEN_MAX > 255
715
#error "MBEDTLS_SSL_CID_IN_LEN_MAX too large (max 255)"
716
#endif
717
718
#if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID) && \
719
defined(MBEDTLS_SSL_CID_OUT_LEN_MAX) && \
720
MBEDTLS_SSL_CID_OUT_LEN_MAX > 255
721
#error "MBEDTLS_SSL_CID_OUT_LEN_MAX too large (max 255)"
722
#endif
723
724
#if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT) && \
725
( !defined(MBEDTLS_SSL_TLS_C) || !defined(MBEDTLS_SSL_PROTO_DTLS) )
726
#error "MBEDTLS_SSL_DTLS_BADMAC_LIMIT defined, but not all prerequisites"
727
#endif
728
729
#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \
730
!defined(MBEDTLS_SSL_PROTO_TLS1) && \
731
!defined(MBEDTLS_SSL_PROTO_TLS1_1) && \
732
!defined(MBEDTLS_SSL_PROTO_TLS1_2)
733
#error "MBEDTLS_SSL_ENCRYPT_THEN_MAC defined, but not all prerequsites"
734
#endif
735
736
#if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET) && \
737
!defined(MBEDTLS_SSL_PROTO_TLS1) && \
738
!defined(MBEDTLS_SSL_PROTO_TLS1_1) && \
739
!defined(MBEDTLS_SSL_PROTO_TLS1_2)
740
#error "MBEDTLS_SSL_EXTENDED_MASTER_SECRET defined, but not all prerequsites"
741
#endif
742
743
#if defined(MBEDTLS_SSL_TICKET_C) && !defined(MBEDTLS_CIPHER_C)
744
#error "MBEDTLS_SSL_TICKET_C defined, but not all prerequisites"
745
#endif
746
747
#if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING) && \
748
!defined(MBEDTLS_SSL_PROTO_SSL3) && !defined(MBEDTLS_SSL_PROTO_TLS1)
749
#error "MBEDTLS_SSL_CBC_RECORD_SPLITTING defined, but not all prerequisites"
750
#endif
751
752
#if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) && \
753
!defined(MBEDTLS_X509_CRT_PARSE_C)
754
#error "MBEDTLS_SSL_SERVER_NAME_INDICATION defined, but not all prerequisites"
755
#endif
756
757
#if defined(MBEDTLS_THREADING_PTHREAD)
758
#if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL)
759
#error "MBEDTLS_THREADING_PTHREAD defined, but not all prerequisites"
760
#endif
761
#define MBEDTLS_THREADING_IMPL
762
#endif
763
764
#if defined(MBEDTLS_THREADING_ALT)
765
#if !defined(MBEDTLS_THREADING_C) || defined(MBEDTLS_THREADING_IMPL)
766
#error "MBEDTLS_THREADING_ALT defined, but not all prerequisites"
767
#endif
768
#define MBEDTLS_THREADING_IMPL
769
#endif
770
771
#if defined(MBEDTLS_THREADING_C) && !defined(MBEDTLS_THREADING_IMPL)
772
#error "MBEDTLS_THREADING_C defined, single threading implementation required"
773
#endif
774
#undef MBEDTLS_THREADING_IMPL
775
776
#if defined(MBEDTLS_USE_PSA_CRYPTO) && !defined(MBEDTLS_PSA_CRYPTO_C)
777
#error "MBEDTLS_USE_PSA_CRYPTO defined, but not all prerequisites"
778
#endif
779
780
#if defined(MBEDTLS_VERSION_FEATURES) && !defined(MBEDTLS_VERSION_C)
781
#error "MBEDTLS_VERSION_FEATURES defined, but not all prerequisites"
782
#endif
783
784
#if defined(MBEDTLS_X509_USE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \
785
!defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_PARSE_C) || \
786
!defined(MBEDTLS_PK_PARSE_C) )
787
#error "MBEDTLS_X509_USE_C defined, but not all prerequisites"
788
#endif
789
790
#if defined(MBEDTLS_X509_CREATE_C) && ( !defined(MBEDTLS_BIGNUM_C) || \
791
!defined(MBEDTLS_OID_C) || !defined(MBEDTLS_ASN1_WRITE_C) || \
792
!defined(MBEDTLS_PK_WRITE_C) )
793
#error "MBEDTLS_X509_CREATE_C defined, but not all prerequisites"
794
#endif
795
796
#if defined(MBEDTLS_CERTS_C) && !defined(MBEDTLS_X509_USE_C)
797
#error "MBEDTLS_CERTS_C defined, but not all prerequisites"
798
#endif
799
800
#if defined(MBEDTLS_X509_CRT_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) )
801
#error "MBEDTLS_X509_CRT_PARSE_C defined, but not all prerequisites"
802
#endif
803
804
#if defined(MBEDTLS_X509_CRL_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) )
805
#error "MBEDTLS_X509_CRL_PARSE_C defined, but not all prerequisites"
806
#endif
807
808
#if defined(MBEDTLS_X509_CSR_PARSE_C) && ( !defined(MBEDTLS_X509_USE_C) )
809
#error "MBEDTLS_X509_CSR_PARSE_C defined, but not all prerequisites"
810
#endif
811
812
#if defined(MBEDTLS_X509_CRT_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) )
813
#error "MBEDTLS_X509_CRT_WRITE_C defined, but not all prerequisites"
814
#endif
815
816
#if defined(MBEDTLS_X509_CSR_WRITE_C) && ( !defined(MBEDTLS_X509_CREATE_C) )
817
#error "MBEDTLS_X509_CSR_WRITE_C defined, but not all prerequisites"
818
#endif
819
820
#if defined(MBEDTLS_HAVE_INT32) && defined(MBEDTLS_HAVE_INT64)
821
#error "MBEDTLS_HAVE_INT32 and MBEDTLS_HAVE_INT64 cannot be defined simultaneously"
822
#endif
/* MBEDTLS_HAVE_INT32 && MBEDTLS_HAVE_INT64 */
823
824
#if ( defined(MBEDTLS_HAVE_INT32) || defined(MBEDTLS_HAVE_INT64) ) && \
825
defined(MBEDTLS_HAVE_ASM)
826
#error "MBEDTLS_HAVE_INT32/MBEDTLS_HAVE_INT64 and MBEDTLS_HAVE_ASM cannot be defined simultaneously"
827
#endif
/* (MBEDTLS_HAVE_INT32 || MBEDTLS_HAVE_INT64) && MBEDTLS_HAVE_ASM */
828
829
#if defined(MBEDTLS_SSL_PROTO_SSL3)
830
#if defined(MBEDTLS_DEPRECATED_REMOVED)
831
#error "MBEDTLS_SSL_PROTO_SSL3 is deprecated and will be removed in a future version of Mbed TLS"
832
#elif defined(MBEDTLS_DEPRECATED_WARNING)
833
#warning "MBEDTLS_SSL_PROTO_SSL3 is deprecated and will be removed in a future version of Mbed TLS"
834
#endif
835
#endif
/* MBEDTLS_SSL_PROTO_SSL3 */
836
837
#if defined(MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO)
838
#if defined(MBEDTLS_DEPRECATED_REMOVED)
839
#error "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO is deprecated and will be removed in a future version of Mbed TLS"
840
#elif defined(MBEDTLS_DEPRECATED_WARNING)
841
#warning "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO is deprecated and will be removed in a future version of Mbed TLS"
842
#endif
843
#endif
/* MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */
844
845
#if defined(MBEDTLS_SSL_HW_RECORD_ACCEL)
846
#if defined(MBEDTLS_DEPRECATED_REMOVED)
847
#error "MBEDTLS_SSL_HW_RECORD_ACCEL is deprecated and will be removed in a future version of Mbed TLS"
848
#elif defined(MBEDTLS_DEPRECATED_WARNING)
849
#warning "MBEDTLS_SSL_HW_RECORD_ACCEL is deprecated and will be removed in a future version of Mbed TLS"
850
#endif
/* MBEDTLS_DEPRECATED_REMOVED */
851
#endif
/* MBEDTLS_SSL_HW_RECORD_ACCEL */
852
853
/*
854
* Avoid warning from -pedantic. This is a convenient place for this
855
* workaround since this is included by every single file before the
856
* #if defined(MBEDTLS_xxx_C) that results in empty translation units.
857
*/
858
typedef
int
mbedtls_iso_c_forbids_empty_translation_units
;
859
860
#endif
/* MBEDTLS_CHECK_CONFIG_H */
mbedtls_iso_c_forbids_empty_translation_units
int mbedtls_iso_c_forbids_empty_translation_units
Definition:
check_config.h:858
Generated on Sun Jul 19 2020 13:02:29 for mbed TLS v2.23.0 by
1.8.18