Skip to content

Commit b57c37c

Browse files
committed
espressif: Use mbedtls implementation of ssl module.
the mbedtls version is a bit different so there are some new #ifdefs needed. Tested with the ssl test from #8910 on Adafruit MatrixPortal S3 (no pico w testing done)
1 parent 9abe273 commit b57c37c

File tree

17 files changed

+134
-440
lines changed

17 files changed

+134
-440
lines changed

lib/mbedtls_config/crt_bundle.c

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919

2020
#include "py/runtime.h"
2121
#include "py/mperrno.h"
22-
#include "lib/mbedtls/include/mbedtls/x509_crt.h"
22+
#include "mbedtls/version.h"
23+
#include "mbedtls/x509_crt.h"
2324
#include "lib/mbedtls_config/crt_bundle.h"
2425

2526
#define BUNDLE_HEADER_OFFSET 2
@@ -55,6 +56,10 @@ static crt_bundle_t s_crt_bundle;
5556
static int crt_check_signature(mbedtls_x509_crt *child, const uint8_t *pub_key_buf, size_t pub_key_len);
5657

5758

59+
#if MBEDTLS_VERSION_MAJOR < 3
60+
#define MBEDTLS_PRIVATE(x) x
61+
#endif
62+
5863
static int crt_check_signature(mbedtls_x509_crt *child, const uint8_t *pub_key_buf, size_t pub_key_len) {
5964
int ret = 0;
6065
mbedtls_x509_crt parent;
@@ -70,21 +75,22 @@ static int crt_check_signature(mbedtls_x509_crt *child, const uint8_t *pub_key_b
7075

7176

7277
// Fast check to avoid expensive computations when not necessary
73-
if (!mbedtls_pk_can_do(&parent.pk, child->sig_pk)) {
78+
if (!mbedtls_pk_can_do(&parent.pk, child->MBEDTLS_PRIVATE(sig_pk))) {
7479
LOGE(TAG, "Simple compare failed");
7580
ret = -1;
7681
goto cleanup;
7782
}
7883

79-
md_info = mbedtls_md_info_from_type(child->sig_md);
84+
md_info = mbedtls_md_info_from_type(child->MBEDTLS_PRIVATE(sig_md));
8085
if ((ret = mbedtls_md(md_info, child->tbs.p, child->tbs.len, hash)) != 0) {
8186
LOGE(TAG, "Internal mbedTLS error %X", ret);
8287
goto cleanup;
8388
}
8489

85-
if ((ret = mbedtls_pk_verify_ext(child->sig_pk, child->sig_opts, &parent.pk,
86-
child->sig_md, hash, mbedtls_md_get_size(md_info),
87-
child->sig.p, child->sig.len)) != 0) {
90+
if ((ret = mbedtls_pk_verify_ext(
91+
child->MBEDTLS_PRIVATE(sig_pk), child->MBEDTLS_PRIVATE(sig_opts), &parent.pk,
92+
child->MBEDTLS_PRIVATE(sig_md), hash, mbedtls_md_get_size(md_info),
93+
child->MBEDTLS_PRIVATE(sig).p, child->MBEDTLS_PRIVATE(sig).len)) != 0) {
8894

8995
LOGE(TAG, "PK verify failed with error %X", ret);
9096
goto cleanup;

lib/mbedtls_errors/mp_mbedtls_errors.c

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,12 @@
154154
#endif
155155

156156
#if defined(MBEDTLS_PADLOCK_C)
157+
#if defined(MBEDTLS_PADLOCK_FILE)
158+
#include MBEDTLS_PADLOCK_FILE
159+
#else
157160
#include "mbedtls/padlock.h"
158161
#endif
162+
#endif
159163

160164
#if defined(MBEDTLS_PEM_PARSE_C) || defined(MBEDTLS_PEM_WRITE_C)
161165
#include "mbedtls/pem.h"
@@ -235,7 +239,9 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
235239
{ -(MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED), "CIPHER_FULL_BLOCK_EXPECTED" },
236240
{ -(MBEDTLS_ERR_CIPHER_AUTH_FAILED), "CIPHER_AUTH_FAILED" },
237241
{ -(MBEDTLS_ERR_CIPHER_INVALID_CONTEXT), "CIPHER_INVALID_CONTEXT" },
242+
#if defined(MBEDTLS_ERR_CIPHER_HW_ACCEL_FAILED)
238243
{ -(MBEDTLS_ERR_CIPHER_HW_ACCEL_FAILED), "CIPHER_HW_ACCEL_FAILED" },
244+
#endif
239245
#endif /* MBEDTLS_CIPHER_C */
240246

241247
#if defined(MBEDTLS_DHM_C)
@@ -261,7 +267,9 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
261267
{ -(MBEDTLS_ERR_ECP_RANDOM_FAILED), "ECP_RANDOM_FAILED" },
262268
{ -(MBEDTLS_ERR_ECP_INVALID_KEY), "ECP_INVALID_KEY" },
263269
{ -(MBEDTLS_ERR_ECP_SIG_LEN_MISMATCH), "ECP_SIG_LEN_MISMATCH" },
270+
#if defined(MBEDTLS_ERR_ECP_HW_ACCEL_FAILED)
264271
{ -(MBEDTLS_ERR_ECP_HW_ACCEL_FAILED), "ECP_HW_ACCEL_FAILED" },
272+
#endif
265273
{ -(MBEDTLS_ERR_ECP_IN_PROGRESS), "ECP_IN_PROGRESS" },
266274
#endif /* MBEDTLS_ECP_C */
267275

@@ -270,7 +278,9 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
270278
{ -(MBEDTLS_ERR_MD_BAD_INPUT_DATA), "MD_BAD_INPUT_DATA" },
271279
{ -(MBEDTLS_ERR_MD_ALLOC_FAILED), "MD_ALLOC_FAILED" },
272280
{ -(MBEDTLS_ERR_MD_FILE_IO_ERROR), "MD_FILE_IO_ERROR" },
281+
#if defined(MBEDTLS_ERR_MD_HW_ACCEL_FAILED)
273282
{ -(MBEDTLS_ERR_MD_HW_ACCEL_FAILED), "MD_HW_ACCEL_FAILED" },
283+
#endif
274284
#endif /* MBEDTLS_MD_C */
275285

276286
#if defined(MBEDTLS_PEM_PARSE_C) || defined(MBEDTLS_PEM_WRITE_C)
@@ -300,7 +310,9 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
300310
{ -(MBEDTLS_ERR_PK_UNKNOWN_NAMED_CURVE), "PK_UNKNOWN_NAMED_CURVE" },
301311
{ -(MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE), "PK_FEATURE_UNAVAILABLE" },
302312
{ -(MBEDTLS_ERR_PK_SIG_LEN_MISMATCH), "PK_SIG_LEN_MISMATCH" },
313+
#if defined(MBEDTLS_ERR_PK_HW_ACCEL_FAILED)
303314
{ -(MBEDTLS_ERR_PK_HW_ACCEL_FAILED), "PK_HW_ACCEL_FAILED" },
315+
#endif
304316
#endif /* MBEDTLS_PK_C */
305317

306318
#if defined(MBEDTLS_PKCS12_C)
@@ -327,8 +339,12 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
327339
{ -(MBEDTLS_ERR_RSA_VERIFY_FAILED), "RSA_VERIFY_FAILED" },
328340
{ -(MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE), "RSA_OUTPUT_TOO_LARGE" },
329341
{ -(MBEDTLS_ERR_RSA_RNG_FAILED), "RSA_RNG_FAILED" },
342+
#if defined(MBEDTLS_ERR_RSA_UNSUPPORTED_OPERATION)
330343
{ -(MBEDTLS_ERR_RSA_UNSUPPORTED_OPERATION), "RSA_UNSUPPORTED_OPERATION" },
344+
#endif
345+
#if defined(MBEDTLS_ERR_RSA_HW_ACCEL_FAILED)
331346
{ -(MBEDTLS_ERR_RSA_HW_ACCEL_FAILED), "RSA_HW_ACCEL_FAILED" },
347+
#endif
332348
#endif /* MBEDTLS_RSA_C */
333349

334350
#if defined(MBEDTLS_SSL_TLS_C)
@@ -337,35 +353,75 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
337353
{ -(MBEDTLS_ERR_SSL_INVALID_MAC), "SSL_INVALID_MAC" },
338354
{ -(MBEDTLS_ERR_SSL_INVALID_RECORD), "SSL_INVALID_RECORD" },
339355
{ -(MBEDTLS_ERR_SSL_CONN_EOF), "SSL_CONN_EOF" },
356+
#if defined(MBEDTLS_ERR_SSL_UNKNOWN_CIPHER)
340357
{ -(MBEDTLS_ERR_SSL_UNKNOWN_CIPHER), "SSL_UNKNOWN_CIPHER" },
358+
#endif
359+
#if defined(MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN)
341360
{ -(MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN), "SSL_NO_CIPHER_CHOSEN" },
361+
#endif
342362
{ -(MBEDTLS_ERR_SSL_NO_RNG), "SSL_NO_RNG" },
343363
{ -(MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE), "SSL_NO_CLIENT_CERTIFICATE" },
364+
#if defined(MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE)
344365
{ -(MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE), "SSL_CERTIFICATE_TOO_LARGE" },
366+
#endif
367+
#if defined(MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED)
345368
{ -(MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED), "SSL_CERTIFICATE_REQUIRED" },
369+
#endif
346370
{ -(MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED), "SSL_PRIVATE_KEY_REQUIRED" },
347371
{ -(MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED), "SSL_CA_CHAIN_REQUIRED" },
348372
{ -(MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE), "SSL_UNEXPECTED_MESSAGE" },
373+
#if defined(MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED)
349374
{ -(MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED), "SSL_PEER_VERIFY_FAILED" },
375+
#endif
350376
{ -(MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY), "SSL_PEER_CLOSE_NOTIFY" },
377+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO)
351378
{ -(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO), "SSL_BAD_HS_CLIENT_HELLO" },
379+
#endif
380+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO)
352381
{ -(MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO), "SSL_BAD_HS_SERVER_HELLO" },
382+
#endif
383+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE)
353384
{ -(MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE), "SSL_BAD_HS_CERTIFICATE" },
385+
#endif
386+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST)
354387
{ -(MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST), "SSL_BAD_HS_CERTIFICATE_REQUEST" },
388+
#endif
389+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE)
355390
{ -(MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE), "SSL_BAD_HS_SERVER_KEY_EXCHANGE" },
391+
#endif
392+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE)
356393
{ -(MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE), "SSL_BAD_HS_SERVER_HELLO_DONE" },
394+
#endif
395+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE)
357396
{ -(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE), "SSL_BAD_HS_CLIENT_KEY_EXCHANGE" },
397+
#endif
398+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP)
358399
{ -(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP), "SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP" },
400+
#endif
401+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS)
359402
{ -(MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS), "SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS" },
403+
#endif
404+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY)
360405
{ -(MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY), "SSL_BAD_HS_CERTIFICATE_VERIFY" },
406+
#endif
407+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC)
361408
{ -(MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC), "SSL_BAD_HS_CHANGE_CIPHER_SPEC" },
409+
#endif
410+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_FINISHED)
362411
{ -(MBEDTLS_ERR_SSL_BAD_HS_FINISHED), "SSL_BAD_HS_FINISHED" },
412+
#endif
363413
{ -(MBEDTLS_ERR_SSL_ALLOC_FAILED), "SSL_ALLOC_FAILED" },
364414
{ -(MBEDTLS_ERR_SSL_HW_ACCEL_FAILED), "SSL_HW_ACCEL_FAILED" },
365415
{ -(MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH), "SSL_HW_ACCEL_FALLTHROUGH" },
416+
#if defined(MBEDTLS_ERR_SSL_COMPRESSION_FAILED)
366417
{ -(MBEDTLS_ERR_SSL_COMPRESSION_FAILED), "SSL_COMPRESSION_FAILED" },
418+
#endif
419+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION)
367420
{ -(MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION), "SSL_BAD_HS_PROTOCOL_VERSION" },
421+
#endif
422+
#if defined(MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET)
368423
{ -(MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET), "SSL_BAD_HS_NEW_SESSION_TICKET" },
424+
#endif
369425
{ -(MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED), "SSL_SESSION_TICKET_EXPIRED" },
370426
{ -(MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH), "SSL_PK_TYPE_MISMATCH" },
371427
{ -(MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY), "SSL_UNKNOWN_IDENTITY" },
@@ -374,14 +430,18 @@ static const struct ssl_errs mbedtls_high_level_error_tab[] = {
374430
{ -(MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO), "SSL_WAITING_SERVER_HELLO_RENEGO" },
375431
{ -(MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED), "SSL_HELLO_VERIFY_REQUIRED" },
376432
{ -(MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL), "SSL_BUFFER_TOO_SMALL" },
433+
#if defined(MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE)
377434
{ -(MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE), "SSL_NO_USABLE_CIPHERSUITE" },
435+
#endif
378436
{ -(MBEDTLS_ERR_SSL_WANT_READ), "SSL_WANT_READ" },
379437
{ -(MBEDTLS_ERR_SSL_WANT_WRITE), "SSL_WANT_WRITE" },
380438
{ -(MBEDTLS_ERR_SSL_TIMEOUT), "SSL_TIMEOUT" },
381439
{ -(MBEDTLS_ERR_SSL_CLIENT_RECONNECT), "SSL_CLIENT_RECONNECT" },
382440
{ -(MBEDTLS_ERR_SSL_UNEXPECTED_RECORD), "SSL_UNEXPECTED_RECORD" },
383441
{ -(MBEDTLS_ERR_SSL_NON_FATAL), "SSL_NON_FATAL" },
442+
#if defined(MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH)
384443
{ -(MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH), "SSL_INVALID_VERIFY_HASH" },
444+
#endif
385445
{ -(MBEDTLS_ERR_SSL_CONTINUE_PROCESSING), "SSL_CONTINUE_PROCESSING" },
386446
{ -(MBEDTLS_ERR_SSL_ASYNC_IN_PROGRESS), "SSL_ASYNC_IN_PROGRESS" },
387447
{ -(MBEDTLS_ERR_SSL_EARLY_MESSAGE), "SSL_EARLY_MESSAGE" },
@@ -424,8 +484,12 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
424484
{ -(MBEDTLS_ERR_AES_INVALID_KEY_LENGTH), "AES_INVALID_KEY_LENGTH" },
425485
{ -(MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH), "AES_INVALID_INPUT_LENGTH" },
426486
{ -(MBEDTLS_ERR_AES_BAD_INPUT_DATA), "AES_BAD_INPUT_DATA" },
487+
#if defined(MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE)
427488
{ -(MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE), "AES_FEATURE_UNAVAILABLE" },
489+
#endif
490+
#if defined(MBEDTLS_ERR_AES_HW_ACCEL_FAILED)
428491
{ -(MBEDTLS_ERR_AES_HW_ACCEL_FAILED), "AES_HW_ACCEL_FAILED" },
492+
#endif
429493
#endif /* MBEDTLS_AES_C */
430494

431495
#if defined(MBEDTLS_ARC4_C)
@@ -435,8 +499,12 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
435499
#if defined(MBEDTLS_ARIA_C)
436500
{ -(MBEDTLS_ERR_ARIA_BAD_INPUT_DATA), "ARIA_BAD_INPUT_DATA" },
437501
{ -(MBEDTLS_ERR_ARIA_INVALID_INPUT_LENGTH), "ARIA_INVALID_INPUT_LENGTH" },
502+
#if defined(MBEDTLS_ERR_ARIA_FEATURE_UNAVAILABLE)
438503
{ -(MBEDTLS_ERR_ARIA_FEATURE_UNAVAILABLE), "ARIA_FEATURE_UNAVAILABLE" },
504+
#endif
505+
#if defined(MBEDTLS_ERR_ARIA_HW_ACCEL_FAILED)
439506
{ -(MBEDTLS_ERR_ARIA_HW_ACCEL_FAILED), "ARIA_HW_ACCEL_FAILED" },
507+
#endif
440508
#endif /* MBEDTLS_ARIA_C */
441509

442510
#if defined(MBEDTLS_ASN1_PARSE_C)
@@ -480,13 +548,17 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
480548
#if defined(MBEDTLS_CCM_C)
481549
{ -(MBEDTLS_ERR_CCM_BAD_INPUT), "CCM_BAD_INPUT" },
482550
{ -(MBEDTLS_ERR_CCM_AUTH_FAILED), "CCM_AUTH_FAILED" },
551+
#if defined(MBEDTLS_ERR_CCM_HW_ACCEL_FAILED)
483552
{ -(MBEDTLS_ERR_CCM_HW_ACCEL_FAILED), "CCM_HW_ACCEL_FAILED" },
553+
#endif
484554
#endif /* MBEDTLS_CCM_C */
485555

486556
#if defined(MBEDTLS_CHACHA20_C)
487557
{ -(MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA), "CHACHA20_BAD_INPUT_DATA" },
488558
{ -(MBEDTLS_ERR_CHACHA20_FEATURE_UNAVAILABLE), "CHACHA20_FEATURE_UNAVAILABLE" },
559+
#if defined(MBEDTLS_ERR_CHACHA20_HW_ACCEL_FAILED)
489560
{ -(MBEDTLS_ERR_CHACHA20_HW_ACCEL_FAILED), "CHACHA20_HW_ACCEL_FAILED" },
561+
#endif
490562
#endif /* MBEDTLS_CHACHA20_C */
491563

492564
#if defined(MBEDTLS_CHACHAPOLY_C)
@@ -495,7 +567,9 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
495567
#endif /* MBEDTLS_CHACHAPOLY_C */
496568

497569
#if defined(MBEDTLS_CMAC_C)
570+
#if defined(MBEDTLS_ERR_CMAC_HW_ACCEL_FAILED)
498571
{ -(MBEDTLS_ERR_CMAC_HW_ACCEL_FAILED), "CMAC_HW_ACCEL_FAILED" },
572+
#endif
499573
#endif /* MBEDTLS_CMAC_C */
500574

501575
#if defined(MBEDTLS_CTR_DRBG_C)
@@ -525,7 +599,9 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
525599

526600
#if defined(MBEDTLS_GCM_C)
527601
{ -(MBEDTLS_ERR_GCM_AUTH_FAILED), "GCM_AUTH_FAILED" },
602+
#if defined(MBEDTLS_ERR_GCM_HW_ACCEL_FAILED)
528603
{ -(MBEDTLS_ERR_GCM_HW_ACCEL_FAILED), "GCM_HW_ACCEL_FAILED" },
604+
#endif
529605
{ -(MBEDTLS_ERR_GCM_BAD_INPUT), "GCM_BAD_INPUT" },
530606
#endif /* MBEDTLS_GCM_C */
531607

@@ -549,7 +625,9 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
549625
#endif /* MBEDTLS_MD4_C */
550626

551627
#if defined(MBEDTLS_MD5_C)
628+
#if defined(MBEDTLS_ERR_MD5_HW_ACCEL_FAILED)
552629
{ -(MBEDTLS_ERR_MD5_HW_ACCEL_FAILED), "MD5_HW_ACCEL_FAILED" },
630+
#endif
553631
#endif /* MBEDTLS_MD5_C */
554632

555633
#if defined(MBEDTLS_NET_C)
@@ -593,17 +671,23 @@ static const struct ssl_errs mbedtls_low_level_error_tab[] = {
593671
#endif /* MBEDTLS_RIPEMD160_C */
594672

595673
#if defined(MBEDTLS_SHA1_C)
674+
#if defined(MBEDTLS_ERR_SHA1_HW_ACCEL_FAILED)
596675
{ -(MBEDTLS_ERR_SHA1_HW_ACCEL_FAILED), "SHA1_HW_ACCEL_FAILED" },
676+
#endif
597677
{ -(MBEDTLS_ERR_SHA1_BAD_INPUT_DATA), "SHA1_BAD_INPUT_DATA" },
598678
#endif /* MBEDTLS_SHA1_C */
599679

600680
#if defined(MBEDTLS_SHA256_C)
681+
#if defined(MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED)
601682
{ -(MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED), "SHA256_HW_ACCEL_FAILED" },
683+
#endif
602684
{ -(MBEDTLS_ERR_SHA256_BAD_INPUT_DATA), "SHA256_BAD_INPUT_DATA" },
603685
#endif /* MBEDTLS_SHA256_C */
604686

605687
#if defined(MBEDTLS_SHA512_C)
688+
#if defined(MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED)
606689
{ -(MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED), "SHA512_HW_ACCEL_FAILED" },
690+
#endif
607691
{ -(MBEDTLS_ERR_SHA512_BAD_INPUT_DATA), "SHA512_BAD_INPUT_DATA" },
608692
#endif /* MBEDTLS_SHA512_C */
609693

ports/espressif/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ CFLAGS += \
146146
-DHAVE_CONFIG_H \
147147
-DESP_PLATFORM=1 \
148148
-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" \
149+
-DMBEDTLS_PADLOCK_FILE=\"ports/espressif/esp-idf/components/mbedtls/mbedtls/library/padlock.h\" \
149150
-DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX
150151

151152
# Make our canary value match FreeRTOS's
@@ -285,6 +286,8 @@ SRC_C += \
285286
peripherals/i2c.c \
286287
peripherals/$(IDF_TARGET)/pins.c
287288

289+
SRC_C += lib/mbedtls_config/crt_bundle.c
290+
288291
SRC_C += $(wildcard common-hal/espidf/*.c)
289292

290293
ifneq ($(CIRCUITPY_ESP_USB_SERIAL_JTAG),0)

ports/espressif/common-hal/socketpool/Socket.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#include "py/runtime.h"
3333
#include "shared-bindings/socketpool/SocketPool.h"
3434
#include "shared-bindings/ssl/SSLSocket.h"
35-
#include "common-hal/ssl/SSLSocket.h"
35+
#include "shared-module/ssl/SSLSocket.h"
3636
#include "supervisor/port.h"
3737
#include "supervisor/shared/tick.h"
3838
#include "supervisor/workflow.h"

ports/espressif/common-hal/socketpool/Socket.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include "py/obj.h"
3030

3131
#include "common-hal/socketpool/SocketPool.h"
32-
#include "common-hal/ssl/SSLContext.h"
3332

3433
#include "components/esp-tls/esp_tls.h"
3534
#include "components/lwip/lwip/src/include/lwip/sockets.h"

0 commit comments

Comments
 (0)