| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~[1443/1456] Building CXX object esp-idf/arduino/CMakeFiles/__idf_arduino.dir/libraries/NetworkClientSecure/src/ssl_client.cpp.obj
:
:
C:/Users/Mike/Projects/components/arduino/libraries/NetworkClientSecure/src/ssl_client.cpp
C:/Users/Mike/Projects/components/arduino/libraries/NetworkClientSecure/src/ssl_client.cpp: In function 'int ssl_starttls_handshake(sslclient_context*)':
C:/Users/Mike/Projects/components/arduino/libraries/NetworkClientSecure/src/ssl_client.cpp:354:5: error: 'mbedtls_x509_crt_verify_info' was not declared in this scope; did you mean 'mbedtls_x509_crt_verify_chain'?
354 | mbedtls_x509_crt_verify_info(buf, sizeof(buf), " ! ", flags);
The sketch uses NetworkClientSecure function from Arduino-ESP32 Network component in order to make use of the mbedtls API functions in the IDE, and for some reason there is a conflict between the "ssl-client.cpp" routine from Arduino-ESP32 and the mbedtls library of IDE v6.0. I can't understand what is causing this error message, because:
- a. the sketch compiles without errors in Arduino IDE 2.3.10 with board "ESP32 Dev Module" with Arduino-ESP32 v 4.0.0 alpha1 and earlier releases
- IDE 6.0 can successfully build other examples which use the mbedtls component and they run without error
- The "missing" routine
' is in mbedtls files x509_crt.h, x509_crt.c which are included by mbedtls file ssl.h dependant on the value of Menuconfig settingmbedtls_x509_crt_verify_info
- which is set to "y".MBEDTLS_X509_CRT_H
attachment=0]idf_py_stdout_output_21184.txt[/attachment]
Btw: the reason i am using the IDF instead of Arduino IDE is because the Arduino-ESP32 is currently limited to TLS1.2 and i wanted to try the TLS1.3 functions in IDF 6.0, using "Arduino-as-a-component"