Description
Board
ESP32C313
Device Description
DevkitC
Hardware Configuration
No
Version
latest master (checkout manually)
IDE Name
Arduino IDE
Operating System
Windows 11
Flash frequency
80 Mhz
PSRAM enabled
yes
Upload speed
921600
Description
Hi,
As far as I am not wrong SDK is not exits under \AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-alpha1\tools so that compiler is generating bunch or errors, below;
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp: In function 'bool getMD5(uint8_t*, uint16_t, char*)':
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp:74:3: error: 'mbedtls_md5_starts_ret' was not declared in this scope; did you mean 'mbedtls_md5_starts'?
74 | mbedtls_md5_starts_ret(&_ctx);
| ^~~~~~~~~~~~~~~~~~~~~~
| mbedtls_md5_starts
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp:75:3: error: 'mbedtls_md5_update_ret' was not declared in this scope; did you mean 'mbedtls_md5_update'?
75 | mbedtls_md5_update_ret(&_ctx, data, len);
| ^~~~~~~~~~~~~~~~~~~~~~
| mbedtls_md5_update
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp:76:3: error: 'mbedtls_md5_finish_ret' was not declared in this scope; did you mean 'mbedtls_md5_finish'?
76 | mbedtls_md5_finish_ret(&_ctx, _buf);
| ^~~~~~~~~~~~~~~~~~~~~~
| mbedtls_md5_finish
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncEventSource.cpp: In member function 'void AsyncEventSourceClient::_queueMessage(AsyncEventSourceMessage*)':
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncEventSource.cpp:188:7: error: 'ets_printf' was not declared in this scope; did you mean 'vswprintf'?
188 | ets_printf("ERROR: Too many messages queued\n");
| ^~~~~~~~~~
| vswprintf
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp: In constructor 'AsyncWebSocketResponse::AsyncWebSocketResponse(const String&, AsyncWebSocket*)':
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp:1262:3: error: 'mbedtls_sha1_starts_ret' was not declared in this scope; did you mean 'mbedtls_sha1_starts'?
1262 | mbedtls_sha1_starts_ret(&ctx);
| ^~~~~~~~~~~~~~~~~~~~~~~
| mbedtls_sha1_starts
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp:1263:3: error: 'mbedtls_sha1_update_ret' was not declared in this scope; did you mean 'mbedtls_sha1_update'?
1263 | mbedtls_sha1_update_ret(&ctx, (const unsigned char*)key.c_str(), key.length());
| ^~~~~~~~~~~~~~~~~~~~~~~
| mbedtls_sha1_update
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp:1264:3: error: 'mbedtls_sha1_finish_ret' was not declared in this scope; did you mean 'mbedtls_sha1_finish'?
1264 | mbedtls_sha1_finish_ret(&ctx, hash);
| ^~~~~~~~~~~~~~~~~~~~~~~
| mbedtls_sha1_finish
Best regards,
Orkun Gedik
Sketch
#include "WebAuthentication.h"
#include <libb64/cencode.h>
#ifdef ESP32
#include "mbedtls/md5.h"
#else
#include "md5.h"
#endif
static bool getMD5(uint8_t * data, uint16_t len, char * output){//33 bytes or more
#ifdef ESP32
mbedtls_md5_context _ctx;
#else
md5_context_t _ctx;
#endif
uint8_t i;
uint8_t * _buf = (uint8_t*)malloc(16);
if(_buf == NULL)
return false;
memset(_buf, 0x00, 16);
#ifdef ESP32
mbedtls_md5_init(&_ctx);
mbedtls_md5_starts_ret(&_ctx);
mbedtls_md5_update_ret(&_ctx, data, len);
mbedtls_md5_finish_ret(&_ctx, _buf);
#else
MD5Init(&_ctx);
MD5Update(&_ctx, data, len);
MD5Final(_buf, &_ctx);
#endif
for(i = 0; i < 16; i++) {
sprintf(output + (i * 2), "%02x", _buf[i]);
}
free(_buf);
return true;
}
Debug Message
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp: In function 'bool getMD5(uint8_t*, uint16_t, char*)':
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp:74:3: error: 'mbedtls_md5_starts_ret' was not declared in this scope; did you mean 'mbedtls_md5_starts'?
74 | mbedtls_md5_starts_ret(&_ctx);
| ^~~~~~~~~~~~~~~~~~~~~~
| mbedtls_md5_starts
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp:75:3: error: 'mbedtls_md5_update_ret' was not declared in this scope; did you mean 'mbedtls_md5_update'?
75 | mbedtls_md5_update_ret(&_ctx, data, len);
| ^~~~~~~~~~~~~~~~~~~~~~
| mbedtls_md5_update
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\WebAuthentication.cpp:76:3: error: 'mbedtls_md5_finish_ret' was not declared in this scope; did you mean 'mbedtls_md5_finish'?
76 | mbedtls_md5_finish_ret(&_ctx, _buf);
| ^~~~~~~~~~~~~~~~~~~~~~
| mbedtls_md5_finish
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncEventSource.cpp: In member function 'void AsyncEventSourceClient::_queueMessage(AsyncEventSourceMessage*)':
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncEventSource.cpp:188:7: error: 'ets_printf' was not declared in this scope; did you mean 'vswprintf'?
188 | ets_printf("ERROR: Too many messages queued\n");
| ^~~~~~~~~~
| vswprintf
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp: In constructor 'AsyncWebSocketResponse::AsyncWebSocketResponse(const String&, AsyncWebSocket*)':
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp:1262:3: error: 'mbedtls_sha1_starts_ret' was not declared in this scope; did you mean 'mbedtls_sha1_starts'?
1262 | mbedtls_sha1_starts_ret(&ctx);
| ^~~~~~~~~~~~~~~~~~~~~~~
| mbedtls_sha1_starts
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp:1263:3: error: 'mbedtls_sha1_update_ret' was not declared in this scope; did you mean 'mbedtls_sha1_update'?
1263 | mbedtls_sha1_update_ret(&ctx, (const unsigned char*)key.c_str(), key.length());
| ^~~~~~~~~~~~~~~~~~~~~~~
| mbedtls_sha1_update
c:\Users\OneDrive\Documents\Arduino\libraries\ESP_Async_WebServer\src\AsyncWebSocket.cpp:1264:3: error: 'mbedtls_sha1_finish_ret' was not declared in this scope; did you mean 'mbedtls_sha1_finish'?
1264 | mbedtls_sha1_finish_ret(&ctx, hash);
| ^~~~~~~~~~~~~~~~~~~~~~~
| mbedtls_sha1_finish
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.