Skip to content

Commit f6096f4

Browse files
committed
Fix ESP32 core v2.x Mbed TLS compilation error
1 parent 10dce4b commit f6096f4

File tree

5 files changed

+24
-8
lines changed

5 files changed

+24
-8
lines changed

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
![GitHub Release](https://img.shields.io/github/v/release/mobizt/FirebaseClient) ![Arduino](https://www.ardu-badge.com/badge/FirebaseClient.svg) ![PlatformIO](https://badges.registry.platformio.org/packages/mobizt/library/FirebaseClient.svg) ![GitHub Release Date](https://img.shields.io/github/release-date/mobizt/FirebaseClient)
66

7-
Revision `2025-05-25`
8-
97
## Introduction
108

119
Async Firebase Client library for Arduino Documentation.
@@ -714,4 +712,4 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
714712

715713
`THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.`
716714

717-
*Last updated 2025-05-25 UTC.*
715+
*Last updated 2025-05-26 UTC.*

library.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "FirebaseClient",
3-
"version": "2.1.1",
3+
"version": "2.1.2",
44
"keywords": "communication, REST, esp32, esp8266, arduino",
55
"description": "Async Firebase Client library for Arduino.",
66
"repository": {

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name=FirebaseClient
22

3-
version=2.1.1
3+
version=2.1.2
44

55
author=Mobizt
66

src/core/Core.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#undef FIREBASE_CLIENT_VERSION
88
#endif
99

10-
#define FIREBASE_CLIENT_VERSION "2.1.1"
10+
#define FIREBASE_CLIENT_VERSION "2.1.2"
1111

1212
static void sys_idle()
1313
{

src/core/JWT/JWT.cpp

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@
1212

1313
#if defined(ENABLE_JWT)
1414

15+
#if defined(ESP32)
16+
#if defined(ESP_ARDUINO_VERSION)
17+
#if ESP_ARDUINO_VERSION > ESP_ARDUINO_VERSION_VAL(3, 0, 0)
18+
#define ESP32_CORE_V3_UP
19+
#endif
20+
#endif
21+
#endif
22+
1523
#if defined(USE_EMBED_SSL_ENGINE) && !defined(CORE_MOCK)
1624
extern "C"
1725
{
@@ -238,12 +246,19 @@ namespace firebase_ns
238246
mbedtls_pk_context *pk_ctx = new mbedtls_pk_context();
239247
mbedtls_pk_init(pk_ctx);
240248

241-
// parse priv key
249+
// parse priv key
250+
#if defined(ESP32_CORE_V3_UP)
242251
if (jwt_data.pk.length() > 0)
243252
ret = mbedtls_pk_parse_key(pk_ctx, (const unsigned char *)jwt_data.pk.c_str(), jwt_data.pk.length() + 1, 0, 0, 0, 0);
244253
else if (auth_data->user_auth.sa.val[sa_ns::pk].length() > 0)
245254
ret = mbedtls_pk_parse_key(pk_ctx, (const unsigned char *)auth_data->user_auth.sa.val[sa_ns::pk].c_str(), auth_data->user_auth.sa.val[sa_ns::pk].length() + 1, 0, 0, 0, 0);
255+
#else
256+
if (jwt_data.pk.length() > 0)
257+
ret = mbedtls_pk_parse_key(pk_ctx, (const unsigned char *)jwt_data.pk.c_str(), jwt_data.pk.length() + 1, NULL, 0);
258+
else if (auth_data->user_auth.sa.val[sa_ns::pk].length() > 0)
259+
ret = mbedtls_pk_parse_key(pk_ctx, (const unsigned char *)auth_data->user_auth.sa.val[sa_ns::pk].c_str(), auth_data->user_auth.sa.val[sa_ns::pk].length() + 1, NULL, 0);
246260

261+
#endif
247262
if (ret != 0)
248263
{
249264
jwt_data.err_code = FIREBASE_ERROR_TOKEN_PARSE_PK;
@@ -261,8 +276,11 @@ namespace firebase_ns
261276
mbedtls_entropy_init(entropy_ctx);
262277
mbedtls_ctr_drbg_init(ctr_drbg_ctx);
263278
mbedtls_ctr_drbg_seed(ctr_drbg_ctx, mbedtls_entropy_func, entropy_ctx, NULL, 0);
264-
279+
#if defined(ESP32_CORE_V3_UP)
265280
ret = mbedtls_pk_sign(pk_ctx, MBEDTLS_MD_SHA256, (const unsigned char *)jwt_data.hash, 32, jwt_data.signature, 256, &sigLen, mbedtls_ctr_drbg_random, ctr_drbg_ctx);
281+
#else
282+
ret = mbedtls_pk_sign(pk_ctx, MBEDTLS_MD_SHA256, (const unsigned char *)jwt_data.hash, 32, jwt_data.signature, &sigLen, mbedtls_ctr_drbg_random, ctr_drbg_ctx);
283+
#endif
266284
if (ret != 0)
267285
{
268286
jwt_data.err_code = FIREBASE_ERROR_TOKEN_SIGN;

0 commit comments

Comments
 (0)