From 3a7cd3a7db12b5a670ce6b2b3fcba08ac5bcf30c Mon Sep 17 00:00:00 2001 From: Daniele Lacamera Date: Fri, 8 May 2026 09:09:03 +0200 Subject: [PATCH 1/3] Arduino UNO: force USE_CERT_BUFFERS_256 to fit in flash Fixes failing CI test --- examples/configs/user_settings_arduino.h | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/examples/configs/user_settings_arduino.h b/examples/configs/user_settings_arduino.h index 2c28e8a82bd..c4ad6914362 100644 --- a/examples/configs/user_settings_arduino.h +++ b/examples/configs/user_settings_arduino.h @@ -180,6 +180,12 @@ /* WOLFSSL_SEND_HRR_COOKIE is needed to use DTLS 1.3 server */ #define WOLFSSL_SEND_HRR_COOKIE #endif +#elif defined(ARDUINO_UNOR4_WIFI) + /* + * UNO R4 WiFi is now just over the flash limit in the client sketch. + * Use the smaller ECC-256 built-in cert set to keep the examples fitting. + */ + #define USE_CERT_BUFFERS_256 #elif defined (__AVR__) || defined(__AVR_ARCH__) || defined(__MEGAAVR__) /* Do not enable TLS on platforms without networking */ @@ -628,6 +634,25 @@ #define CTX_SERVER_KEY server_key_der_1024 #define CTX_SERVER_KEY_SIZE sizeof_server_key_der_1024 #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 + #elif defined(USE_CERT_BUFFERS_256) + #include + #define CTX_CA_CERT ca_ecc_cert_der_256 + #define CTX_CA_CERT_SIZE sizeof_ca_ecc_cert_der_256 + #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 + + #define CTX_CLIENT_CERT cliecc_cert_der_256 + #define CTX_CLIENT_CERT_SIZE sizeof_cliecc_cert_der_256 + #define CTX_CLIENT_CERT_TYPE WOLFSSL_FILETYPE_ASN1 + #define CTX_CLIENT_KEY ecc_clikey_der_256 + #define CTX_CLIENT_KEY_SIZE sizeof_ecc_clikey_der_256 + #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 + + #define CTX_SERVER_CERT serv_ecc_der_256 + #define CTX_SERVER_CERT_SIZE sizeof_serv_ecc_der_256 + #define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_ASN1 + #define CTX_SERVER_KEY ecc_key_der_256 + #define CTX_SERVER_KEY_SIZE sizeof_ecc_key_der_256 + #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else #define USE_CERT_BUFFERS_256 #endif From 23c28c32031a369c0d055503465b93d3233e20c9 Mon Sep 17 00:00:00 2001 From: Daniele Lacamera Date: Fri, 8 May 2026 09:29:22 +0200 Subject: [PATCH 2/3] Address Copilot's comments: uniform mutual exclusions --- examples/configs/user_settings_arduino.h | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/examples/configs/user_settings_arduino.h b/examples/configs/user_settings_arduino.h index c4ad6914362..65b8ebcc641 100644 --- a/examples/configs/user_settings_arduino.h +++ b/examples/configs/user_settings_arduino.h @@ -594,6 +594,9 @@ #ifdef USE_CERT_BUFFERS_1024 #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." #endif + #ifdef USE_CERT_BUFFERS_256 + #error "USE_CERT_BUFFERS_256 is already defined. Pick one." + #endif #include #define CTX_CA_CERT ca_cert_der_2048 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048 @@ -616,6 +619,9 @@ #ifdef USE_CERT_BUFFERS_2048 #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." #endif + #ifdef USE_CERT_BUFFERS_256 + #error "USE_CERT_BUFFERS_256 is already defined. Pick one." + #endif #include #define CTX_CA_CERT ca_cert_der_1024 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024 @@ -635,6 +641,12 @@ #define CTX_SERVER_KEY_SIZE sizeof_server_key_der_1024 #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #elif defined(USE_CERT_BUFFERS_256) + #ifdef USE_CERT_BUFFERS_2048 + #error "USE_CERT_BUFFERS_2048 is already defined. Pick one." + #endif + #ifdef USE_CERT_BUFFERS_1024 + #error "USE_CERT_BUFFERS_1024 is already defined. Pick one." + #endif #include #define CTX_CA_CERT ca_ecc_cert_der_256 #define CTX_CA_CERT_SIZE sizeof_ca_ecc_cert_der_256 @@ -655,6 +667,24 @@ #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #else #define USE_CERT_BUFFERS_256 + #include + #define CTX_CA_CERT ca_ecc_cert_der_256 + #define CTX_CA_CERT_SIZE sizeof_ca_ecc_cert_der_256 + #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1 + + #define CTX_CLIENT_CERT cliecc_cert_der_256 + #define CTX_CLIENT_CERT_SIZE sizeof_cliecc_cert_der_256 + #define CTX_CLIENT_CERT_TYPE WOLFSSL_FILETYPE_ASN1 + #define CTX_CLIENT_KEY ecc_clikey_der_256 + #define CTX_CLIENT_KEY_SIZE sizeof_ecc_clikey_der_256 + #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1 + + #define CTX_SERVER_CERT serv_ecc_der_256 + #define CTX_SERVER_CERT_SIZE sizeof_serv_ecc_der_256 + #define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_ASN1 + #define CTX_SERVER_KEY ecc_key_der_256 + #define CTX_SERVER_KEY_SIZE sizeof_ecc_key_der_256 + #define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1 #endif #endif From 347553ca092e1b07b65b8b94086f4dc1bfaea4ec Mon Sep 17 00:00:00 2001 From: Daniele Lacamera Date: Fri, 8 May 2026 11:02:51 +0200 Subject: [PATCH 3/3] Added missing known_macro --- .wolfssl_known_macro_extras | 1 + 1 file changed, 1 insertion(+) diff --git a/.wolfssl_known_macro_extras b/.wolfssl_known_macro_extras index 83e0502626c..144ea2ff02b 100644 --- a/.wolfssl_known_macro_extras +++ b/.wolfssl_known_macro_extras @@ -26,6 +26,7 @@ ARDUINO_SAM_DUE ARDUINO_SEEED_XIAO ARDUINO_TEENSY40 ARDUINO_TEENSY41 +ARDUINO_UNOR4_WIFI ASN_DUMP_OID ASN_TEMPLATE_SKIP_ISCA_CHECK ATCAPRINTF