wolfSSL / wolfssl

The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3 and DTLS 1.3!
https://www.wolfssl.com
GNU General Public License v2.0
2.34k stars 831 forks source link

srp errors -> 5.6.6-stable-update2-esp32 #7155

Closed AchimPieters closed 9 months ago

AchimPieters commented 9 months ago
          Hello @AchimPieters ! Good to hear from you.

esp32 series, but how to incorporate this into my project?

Great news! The latest code works with all the ESP32 flavors! Please confirm you are using files from the 5.6.6 release (or later).

The examples now contain an updated components/wolfssl directory, in particular a user_settings.h that has a section to detect which ESP32 flavor was selected with the idf.py set-target command. (e.g. CONFIG_IDF_TARGET_ESP32C6, etc)

Hardware acceleration is enabled for all the SoC's supported by ESP-IDF v5.1. Newer chips will work, with HW disabled for any of those undetected.

Note there was a post release change in https://github.com/wolfSSL/wolfssl/pull/7148 that fixed the environment variable option to point to your wolfssl source, if not in the same [workspace]/github clone structure.

If you cannot get it working, please open a new issue so we can track it with visibility. Thanks!

Best Regards.

Originally posted by @gojimmypi in https://github.com/wolfSSL/wolfssl/issues/6870#issuecomment-1902697162

AchimPieters commented 9 months ago

@gojimmypi I have installed 5.6.6-stable-update2-esp32 but now I got the same errors as in srp errors https://github.com/wolfSSL/wolfssl/issues/6870#issuecomment-1902697162, so I'm looking into that.

Check my git here: https://github.com/AchimPieters/esp32-homekit-demo also for my current user_settings.h

Can find the WOLFCRYPT_HAVE_SRP and WOLFSSL_BASE64_ENCODE in user_settings.h ? As described in https://github.com/wolfSSL/wolfssl/issues/6870#issuecomment-1902697162

FAILED: esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/crypto.c.obj 
ccache /opt/esp/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.3-dev-1353-gb3f7e2c8a4\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/project/examples/led/build/config -I/project/components/homekit/include -I/project/components/homekit/src -I/opt/esp/idf/components/newlib/platform_include -I/opt/esp/idf/components/freertos/config/include -I/opt/esp/idf/components/freertos/config/include/freertos -I/opt/esp/idf/components/freertos/config/xtensa/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -I/opt/esp/idf/components/freertos/esp_additions/include -I/opt/esp/idf/components/esp_hw_support/include -I/opt/esp/idf/components/esp_hw_support/include/soc -I/opt/esp/idf/components/esp_hw_support/include/soc/esp32 -I/opt/esp/idf/components/esp_hw_support/port/esp32/. -I/opt/esp/idf/components/heap/include -I/opt/esp/idf/components/log/include -I/opt/esp/idf/components/soc/include -I/opt/esp/idf/components/soc/esp32 -I/opt/esp/idf/components/soc/esp32/include -I/opt/esp/idf/components/hal/platform_port/include -I/opt/esp/idf/components/hal/esp32/include -I/opt/esp/idf/components/hal/include -I/opt/esp/idf/components/esp_rom/include -I/opt/esp/idf/components/esp_rom/include/esp32 -I/opt/esp/idf/components/esp_rom/esp32 -I/opt/esp/idf/components/esp_common/include -I/opt/esp/idf/components/esp_system/include -I/opt/esp/idf/components/esp_system/port/soc -I/opt/esp/idf/components/esp_system/port/include/private -I/opt/esp/idf/components/xtensa/esp32/include -I/opt/esp/idf/components/xtensa/include -I/opt/esp/idf/components/xtensa/deprecated_include -I/opt/esp/idf/components/lwip/include -I/opt/esp/idf/components/lwip/include/apps -I/opt/esp/idf/components/lwip/include/apps/sntp -I/opt/esp/idf/components/lwip/lwip/src/include -I/opt/esp/idf/components/lwip/port/include -I/opt/esp/idf/components/lwip/port/freertos/include -I/opt/esp/idf/components/lwip/port/esp32xx/include -I/opt/esp/idf/components/lwip/port/esp32xx/include/arch -I/opt/esp/idf/components/lwip/port/esp32xx/include/sys -I/project/components/wolfssl/include -I/project/components/wolfssl -I/project/components/wolfssl/wolfssl -I/project/components/wolfssl/wolfssl/wolfcrypt -I/project/components/wolfssl/wolfssl/wolfcrypt/port/Espressif -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include/freertos -I/opt/esp/idf/components/esp_partition/include -I/opt/esp/idf/components/json/cJSON -I/project/components/esp-idf/http-parser -I/project/components/esp-idf/http-parser/http-parser -I/project/components/espressif__mdns/include -I/opt/esp/idf/components/console -I/opt/esp/idf/components/vfs/include -I/opt/esp/idf/components/esp_netif/include -I/opt/esp/idf/components/esp_event/include -I/opt/esp/idf/components/spi_flash/include -mlongcalls -Wno-frame-address  -DWOLFSSL_USER_SETTINGS -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=/project/examples/led=. -fmacro-prefix-map=/opt/esp/idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -DHOMEKIT_MAX_CLIENTS=16 -DSPIFLASH_BASE_ADDR= -DESP_IDF -DHOMEKIT_DEBUG -MD -MT esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/crypto.c.obj -MF esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/crypto.c.obj.d -o esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/crypto.c.obj -c /project/components/homekit/src/crypto.c
/project/components/homekit/src/crypto.c:59:19: error: unknown type name 'Srp'
   59 | int wc_SrpSetKeyH(Srp *srp, byte *secret, word32 size) {
      |                   ^~~
/project/components/homekit/src/crypto.c:80:1: error: unknown type name 'Srp'
   80 | Srp *crypto_srp_new() {
      | ^~~
/project/components/homekit/src/crypto.c: In function 'crypto_srp_new':
/project/components/homekit/src/crypto.c:81:9: error: unknown type name 'Srp'
   81 |         Srp *srp = malloc(sizeof(Srp));
      |         ^~~
/project/components/homekit/src/crypto.c:81:34: error: 'Srp' undeclared (first use in this function); did you mean srp'?
   81 |         Srp *srp = malloc(sizeof(Srp));
      |                                  ^~~
      |                                  srp
/project/components/homekit/src/crypto.c:81:34: note: each undeclared identifier is reported only once for each function it appears in
/project/components/homekit/src/crypto.c:84:17: error: implicit declaration of function 'wc_SrpInit' [-Werror=implicit-function-declaration]
   84 |         int r = wc_SrpInit(srp, SRP_TYPE_SHA512, SRP_CLIENT_SIDE);
      |                 ^~~~~~~~~~
/project/components/homekit/src/crypto.c:84:33: error: 'SRP_TYPE_SHA512' undeclared (first use in this function); did you mean 'WC_HASH_TYPE_SHA512'?
   84 |         int r = wc_SrpInit(srp, SRP_TYPE_SHA512, SRP_CLIENT_SIDE);
      |                                 ^~~~~~~~~~~~~~~
      |                                 WC_HASH_TYPE_SHA512
/project/components/homekit/src/crypto.c:84:50: error: 'SRP_CLIENT_SIDE' undeclared (first use in this function)
   84 |         int r = wc_SrpInit(srp, SRP_TYPE_SHA512, SRP_CLIENT_SIDE);
      |                                                  ^~~~~~~~~~~~~~~
/project/components/homekit/src/crypto.c:89:12: error: request for member 'keyGenFunc_cb' in something not a structure or union
   89 |         srp->keyGenFunc_cb = wc_SrpSetKeyH;
      |            ^~
/project/components/homekit/src/crypto.c:89:30: error: 'wc_SrpSetKeyH' undeclared (first use in this function)
   89 |         srp->keyGenFunc_cb = wc_SrpSetKeyH;
      |                              ^~~~~~~~~~~~~
/project/components/homekit/src/crypto.c: At top level:
/project/components/homekit/src/crypto.c:95:22: error: unknown type name 'Srp'
   95 | void crypto_srp_free(Srp *srp) {
      |                      ^~~
/project/components/homekit/src/crypto.c:101:21: error: unknown type name 'Srp'
  101 | int crypto_srp_init(Srp *srp, const char *username, const char *password) {
      |                     ^~~
/project/components/homekit/src/crypto.c:153:25: error: unknown type name 'Srp'
  153 | int crypto_srp_get_salt(Srp *srp, byte *buffer, size_t *buffer_size) {
      |                         ^~~
/project/components/homekit/src/crypto.c:168:31: error: unknown type name 'Srp'
  168 | int crypto_srp_get_public_key(Srp *srp, byte *buffer, size_t *buffer_size) {
      |                               ^~~
/project/components/homekit/src/crypto.c:187:9: error: unknown type name 'Srp'
  187 |         Srp *srp,
      |         ^~~
/project/components/homekit/src/crypto.c:205:23: error: unknown type name 'Srp'
  205 | int crypto_srp_verify(Srp *srp, const byte *proof, size_t proof_size) {
      |                       ^~~
/project/components/homekit/src/crypto.c:216:26: error: unknown type name 'Srp'
  216 | int crypto_srp_get_proof(Srp *srp, byte *proof, size_t *proof_size) {
      |                          ^~~
/project/components/homekit/src/crypto.c:263:9: error: unknown type name 'Srp'
  263 |         Srp *srp,
      |         ^~~
/project/components/homekit/src/crypto.c: In function 'crypto_chacha20poly1305_decrypt':
/project/components/homekit/src/crypto.c:282:29: error: 'CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE' undeclared (first use in this function)
  282 |         if (message_size <= CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE) {
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/components/homekit/src/crypto.c:298:17: error: implicit declaration of function 'wc_ChaCha20Poly1305_Decrypt'; did you mean 'crypto_chacha20poly1305_decrypt'? [-Werror=implicit-function-declaration]
  298 |         int r = wc_ChaCha20Poly1305_Decrypt(
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 crypto_chacha20poly1305_decrypt
/project/components/homekit/src/crypto.c: In function 'crypto_chacha20poly1305_encrypt':
/project/components/homekit/src/crypto.c:315:37: error: 'CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE' undeclared (first use in this function)
  315 |         size_t len = message_size + CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE;
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/project/components/homekit/src/crypto.c:323:17: error: implicit declaration of function 'wc_ChaCha20Poly1305_Encrypt'; did you mean 'crypto_chacha20poly1305_encrypt'? [-Werror=implicit-function-declaration]
  323 |         int r = wc_ChaCha20Poly1305_Encrypt(
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 crypto_chacha20poly1305_encrypt
cc1: some warnings being treated as errors
[911/920] Building C object esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/server.c.obj
FAILED: esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/server.c.obj 
ccache /opt/esp/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.3-dev-1353-gb3f7e2c8a4\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/project/examples/led/build/config -I/project/components/homekit/include -I/project/components/homekit/src -I/opt/esp/idf/components/newlib/platform_include -I/opt/esp/idf/components/freertos/config/include -I/opt/esp/idf/components/freertos/config/include/freertos -I/opt/esp/idf/components/freertos/config/xtensa/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -I/opt/esp/idf/components/freertos/esp_additions/include -I/opt/esp/idf/components/esp_hw_support/include -I/opt/esp/idf/components/esp_hw_support/include/soc -I/opt/esp/idf/components/esp_hw_support/include/soc/esp32 -I/opt/esp/idf/components/esp_hw_support/port/esp32/. -I/opt/esp/idf/components/heap/include -I/opt/esp/idf/components/log/include -I/opt/esp/idf/components/soc/include -I/opt/esp/idf/components/soc/esp32 -I/opt/esp/idf/components/soc/esp32/include -I/opt/esp/idf/components/hal/platform_port/include -I/opt/esp/idf/components/hal/esp32/include -I/opt/esp/idf/components/hal/include -I/opt/esp/idf/components/esp_rom/include -I/opt/esp/idf/components/esp_rom/include/esp32 -I/opt/esp/idf/components/esp_rom/esp32 -I/opt/esp/idf/components/esp_common/include -I/opt/esp/idf/components/esp_system/include -I/opt/esp/idf/components/esp_system/port/soc -I/opt/esp/idf/components/esp_system/port/include/private -I/opt/esp/idf/components/xtensa/esp32/include -I/opt/esp/idf/components/xtensa/include -I/opt/esp/idf/components/xtensa/deprecated_include -I/opt/esp/idf/components/lwip/include -I/opt/esp/idf/components/lwip/include/apps -I/opt/esp/idf/components/lwip/include/apps/sntp -I/opt/esp/idf/components/lwip/lwip/src/include -I/opt/esp/idf/components/lwip/port/include -I/opt/esp/idf/components/lwip/port/freertos/include -I/opt/esp/idf/components/lwip/port/esp32xx/include -I/opt/esp/idf/components/lwip/port/esp32xx/include/arch -I/opt/esp/idf/components/lwip/port/esp32xx/include/sys -I/project/components/wolfssl/include -I/project/components/wolfssl -I/project/components/wolfssl/wolfssl -I/project/components/wolfssl/wolfssl/wolfcrypt -I/project/components/wolfssl/wolfssl/wolfcrypt/port/Espressif -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include/freertos -I/opt/esp/idf/components/esp_partition/include -I/opt/esp/idf/components/json/cJSON -I/project/components/esp-idf/http-parser -I/project/components/esp-idf/http-parser/http-parser -I/project/components/espressif__mdns/include -I/opt/esp/idf/components/console -I/opt/esp/idf/components/vfs/include -I/opt/esp/idf/components/esp_netif/include -I/opt/esp/idf/components/esp_event/include -I/opt/esp/idf/components/spi_flash/include -mlongcalls -Wno-frame-address  -DWOLFSSL_USER_SETTINGS -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=/project/examples/led=. -fmacro-prefix-map=/opt/esp/idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -DHOMEKIT_MAX_CLIENTS=16 -DSPIFLASH_BASE_ADDR= -DESP_IDF -DHOMEKIT_DEBUG -MD -MT esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/server.c.obj -MF esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/server.c.obj.d -o esp-idf/homekit/CMakeFiles/__idf_homekit.dir/src/server.c.obj -c /project/components/homekit/src/server.c
/project/components/homekit/src/server.c: In function 'homekit_setup_mdns':
/project/components/homekit/src/server.c:4072:25: error: implicit declaration of function 'Base64_Encode_NoNl'; did you mean 'base64_encode'? [-Werror=implicit-function-declaration]
 4072 |                         Base64_Encode_NoNl((const unsigned char *)shaHash, 4, encodedHash, &len);
      |                         ^~~~~~~~~~~~~~~~~~
      |                         base64_encode
cc1: some warnings being treated as errors
[912/920] Building C object esp-idf/wolfssl/CMakeFiles/__idf_wolfssl.dir/wolfcrypt/src/tfm.c.obj
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /project/examples/led/build/log/idf_py_stderr_output_20490 and /project/examples/led/build/log/idf_py_stdout_output_20490
root@22fb157df2ff:/project/examples/led# 
gojimmypi commented 9 months ago

Hello @AchimPieters -

I have installed 5.6.6-stable-update2-esp32

That sounds like the version from the wolfSSL Managed Component, which likely has a different user_settings.h file than you were previously using for wolfSSL.

You'll need to convert it to a non-managed component and copy in your prior, working user_settings.h files. Once you copy in the file, the ESP-IDF should give instructions on how to proceed. See also the docs.

Cheers

AchimPieters commented 9 months ago

@gojimmypi followed all instructions as described in srp errors #6870, but now I got new errors?

FAILED: esp-idf/wolfssl/CMakeFiles/__idf_wolfssl.dir/wolfcrypt/src/port/Espressif/esp32_sha.c.obj 
ccache /opt/esp/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.3-dev-1353-gb3f7e2c8a4\" -DLIBWOLFSSL_VERSION_GIT_BRANCH=\"main\" -DLIBWOLFSSL_VERSION_GIT_HASH=\"eb4487cf7e68dcf34a4a0781d933c8cc1e05c9d7\" -DLIBWOLFSSL_VERSION_GIT_HASH_DATE="\"'Mon Jan 22 17:41:44 2024 +0100'\"" -DLIBWOLFSSL_VERSION_GIT_ORIGIN=\"https://github.com/AchimPieters/esp32-homekit-demo.git\" -DLIBWOLFSSL_VERSION_GIT_SHORT_HASH=\"eb4487c\" -DLIBWOLFSSL_VERSION_WOLFSSL_ROOT=\"/project/components/wolfssl\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -DWOLFSSL_USER_SETTINGS_DIR=\"//project//examples//led//components//wolfssl//include//user_settings.h\" -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/project/examples/led/build/config -I/project/components/wolfssl/include -I/project/components/wolfssl -I/project/components/wolfssl/wolfssl -I/project/components/wolfssl/wolfssl/wolfcrypt -I/project/components/wolfssl/wolfssl/wolfcrypt/port/Espressif -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include/freertos -I/opt/esp/idf/components/newlib/platform_include -I/opt/esp/idf/components/freertos/config/include -I/opt/esp/idf/components/freertos/config/include/freertos -I/opt/esp/idf/components/freertos/config/xtensa/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -I/opt/esp/idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -I/opt/esp/idf/components/freertos/esp_additions/include -I/opt/esp/idf/components/esp_hw_support/include -I/opt/esp/idf/components/esp_hw_support/include/soc -I/opt/esp/idf/components/esp_hw_support/include/soc/esp32 -I/opt/esp/idf/components/esp_hw_support/port/esp32/. -I/opt/esp/idf/components/heap/include -I/opt/esp/idf/components/log/include -I/opt/esp/idf/components/soc/include -I/opt/esp/idf/components/soc/esp32 -I/opt/esp/idf/components/soc/esp32/include -I/opt/esp/idf/components/hal/platform_port/include -I/opt/esp/idf/components/hal/esp32/include -I/opt/esp/idf/components/hal/include -I/opt/esp/idf/components/esp_rom/include -I/opt/esp/idf/components/esp_rom/include/esp32 -I/opt/esp/idf/components/esp_rom/esp32 -I/opt/esp/idf/components/esp_common/include -I/opt/esp/idf/components/esp_system/include -I/opt/esp/idf/components/esp_system/port/soc -I/opt/esp/idf/components/esp_system/port/include/private -I/opt/esp/idf/components/xtensa/esp32/include -I/opt/esp/idf/components/xtensa/include -I/opt/esp/idf/components/xtensa/deprecated_include -I/opt/esp/idf/components/lwip/include -I/opt/esp/idf/components/lwip/include/apps -I/opt/esp/idf/components/lwip/include/apps/sntp -I/opt/esp/idf/components/lwip/lwip/src/include -I/opt/esp/idf/components/lwip/port/include -I/opt/esp/idf/components/lwip/port/freertos/include -I/opt/esp/idf/components/lwip/port/esp32xx/include -I/opt/esp/idf/components/lwip/port/esp32xx/include/arch -I/opt/esp/idf/components/lwip/port/esp32xx/include/sys -mlongcalls -Wno-frame-address  -DWOLFSSL_USER_SETTINGS -DWOLFSSL_CMAKE_SYSTEM_NAME_LINUX -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=/project/examples/led=. -fmacro-prefix-map=/opt/esp/idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/wolfssl/CMakeFiles/__idf_wolfssl.dir/wolfcrypt/src/port/Espressif/esp32_sha.c.obj -MF esp-idf/wolfssl/CMakeFiles/__idf_wolfssl.dir/wolfcrypt/src/port/Espressif/esp32_sha.c.obj.d -o esp-idf/wolfssl/CMakeFiles/__idf_wolfssl.dir/wolfcrypt/src/port/Espressif/esp32_sha.c.obj -c /project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c: In function 'esp_sha_ctx_copy':
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:531:12: error: invalid use of undefined type 'struct wc_Sha'
  531 |     if (src->ctx.mode == ESP32_SHA_HW) {
      |            ^~
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:545:16: error: invalid use of undefined type 'struct wc_Sha'
  545 |             dst->ctx.mode = ESP32_SHA_HW_COPY;
      |                ^~
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:548:37: error: invalid use of undefined type 'struct wc_Sha'
  548 |             ret = esp_sha_init(&(dst->ctx), WC_HASH_TYPE_SHA);
      |                                     ^~
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:559:16: error: invalid use of undefined type 'struct wc_Sha'
  559 |         if (dst->ctx.mode == ESP32_SHA_SW) {
      |                ^~
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:585:12: error: invalid use of undefined type 'struct wc_Sha'
  585 |         dst->ctx.initializer = &(dst->ctx); /* assign new breadcrumb to dst */
      |            ^~
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:585:37: error: invalid use of undefined type 'struct wc_Sha'
  585 |         dst->ctx.initializer = &(dst->ctx); /* assign new breadcrumb to dst */
      |                                     ^~
/project/components/wolfssl/wolfcrypt/src/port/Espressif/esp32_sha.c:589:16: error: invalid use of undefined type 'struct wc_Sha'
  589 |             dst->ctx.task_owner = 0;
      |                ^~
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /project/examples/led/build/log/idf_py_stderr_output_41832 and /project/examples/led/build/log/idf_py_stdout_output_41832
root@22fb157df2ff:/project/examples/led# 

For latest changes, see: https://github.com/AchimPieters/esp32-homekit-demo

AchimPieters commented 9 months ago

@gojimmypi I was thinking about closing this one and opening a new issue because it became another error, what do you think?

@dgarske your insight was the solution last time, maybe you could help also this time?

AchimPieters commented 9 months ago

moved to : esp32_sha errors -> 5.6.6-stable-update2-esp32 #7210