Closed blackhack closed 11 months ago
In WebAuthentication.cpp -> #ifdef ESP32 + #include "esp_idf_version.h"
if(ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)){ mbedtls_md5_starts(&_ctx); mbedtls_md5_update(&_ctx, data, len); mbedtls_md5_finish(&_ctx, _buf); }else{ mbedtls_md5_starts_ret(&_ctx); mbedtls_md5_update_ret(&_ctx, data, len); mbedtls_md5_finish_ret(&_ctx, _buf); }
In AsyncWebSocket.cpp change
if(ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)){ mbedtls_sha1_starts_ret(&ctx); mbedtls_sha1_update_ret(&ctx, (const unsigned char)key.c_str(), key.length()); mbedtls_sha1_finish_ret(&ctx, hash); }else{ mbedtls_sha1_starts(&ctx); mbedtls_sha1_update(&ctx, (const unsigned char)key.c_str(), key.length()); mbedtls_sha1_finish(&ctx, hash); }
This fixes compilation on the latest Git version of the Arduino ESP32 core due to API changes in IDF 5.1.
Of course, these changes make ESPAsyncWebServer incompatible with prior Arduino core versions.