From 369e0366344f20715a8951074f5ab287e66a2a28 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 11 Sep 2023 00:48:21 +0700 Subject: [PATCH] Fix network and SSL client issues. --- library.json | 2 +- library.properties | 2 +- src/FB_Const.h | 2 +- src/FB_Error.h | 2 +- src/FB_Network.h | 2 +- src/FB_Utils.h | 2 +- src/Firebase.cpp | 2 +- src/Firebase.h | 2 +- src/FirebaseFS.h | 2 +- src/client/FB_TCP_Client.h | 11 +++++++---- src/client/SSLClient/Custom_ESP_SSLClient_FS.h | 10 ---------- src/client/SSLClient/ESP_SSLClient_FS.h | 2 +- src/core/FirebaseCore.cpp | 16 +++++++++------- src/core/FirebaseCore.h | 2 +- src/core/Firebase_Client_Version.h | 4 ++-- src/message/FCM.cpp | 2 +- src/message/FCM.h | 2 +- src/message/LFCM.h | 2 +- src/rtdb/FB_RTDB.cpp | 2 +- src/rtdb/FB_RTDB.h | 2 +- src/rtdb/QueryFilter.cpp | 2 +- src/rtdb/QueryFilter.h | 2 +- src/rtdb/QueueInfo.cpp | 2 +- src/rtdb/QueueInfo.h | 2 +- src/rtdb/QueueManager.cpp | 2 +- src/rtdb/QueueManager.h | 2 +- src/rtdb/stream/FB_MP_Stream.cpp | 2 +- src/rtdb/stream/FB_MP_Stream.h | 2 +- src/rtdb/stream/FB_Stream.cpp | 2 +- src/rtdb/stream/FB_Stream.h | 2 +- src/session/FB_Session.cpp | 2 +- src/session/FB_Session.h | 2 +- 32 files changed, 46 insertions(+), 51 deletions(-) diff --git a/library.json b/library.json index 7168a972..d769d6d9 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "Firebase ESP8266 Client", - "version": "4.4.0", + "version": "4.4.1", "keywords": "communication, REST, esp8266, arduino", "description": "The secure, fast and reliable Firebase Realtime database library to read, store, update, delete, listen, backup, and restore data. You can also read and modify the database security rules with this library.", "repository": { diff --git a/library.properties b/library.properties index bf7af35e..3f576335 100644 --- a/library.properties +++ b/library.properties @@ -1,6 +1,6 @@ name=Firebase ESP8266 Client -version=4.4.0 +version=4.4.1 author=Mobizt diff --git a/src/FB_Const.h b/src/FB_Const.h index 314444f2..097c8029 100644 --- a/src/FB_Const.h +++ b/src/FB_Const.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/FB_Error.h b/src/FB_Error.h index 20ee7ea9..c85610c8 100644 --- a/src/FB_Error.h +++ b/src/FB_Error.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/FB_Network.h b/src/FB_Network.h index a2caf91d..4d5adeb8 100644 --- a/src/FB_Network.h +++ b/src/FB_Network.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/FB_Utils.h b/src/FB_Utils.h index 15999eb6..5bdbddbb 100644 --- a/src/FB_Utils.h +++ b/src/FB_Utils.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/Firebase.cpp b/src/Firebase.cpp index b45bb3f3..8289cbd4 100644 --- a/src/Firebase.cpp +++ b/src/Firebase.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/Firebase.h b/src/Firebase.h index cb7e279b..53d06daa 100644 --- a/src/Firebase.h +++ b/src/Firebase.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/FirebaseFS.h b/src/FirebaseFS.h index a2db4589..4ed27bab 100644 --- a/src/FirebaseFS.h +++ b/src/FirebaseFS.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/client/FB_TCP_Client.h b/src/client/FB_TCP_Client.h index ad679c08..8372938f 100644 --- a/src/client/FB_TCP_Client.h +++ b/src/client/FB_TCP_Client.h @@ -1,7 +1,7 @@ /** - * Firebase TCP Client v1.0.0 + * Firebase TCP Client v1.0.1 * - * Created August 12, 2023 + * Created September 11, 2023 * * The MIT License (MIT) * Copyright (c) 2022 K. Suwatchai (Mobizt) @@ -380,8 +380,9 @@ class Firebase_TCP_Client : public Client if (!ethernetConnected()) ethernetConnect(); } - else if (WiFI_CONNECTED || ethLinkUp()) - _network_status = true; + // also check the native network before calling external cb + else if (_client_type == firebase_client_type_internal_basic_client || WiFI_CONNECTED || ethLinkUp()) + _network_status = WiFI_CONNECTED || ethLinkUp(); else if (_client_type == firebase_client_type_external_generic_client) { if (!_network_status_cb) @@ -389,6 +390,8 @@ class Firebase_TCP_Client : public Client else _network_status_cb(); } + else + _network_status = false; return _network_status; } diff --git a/src/client/SSLClient/Custom_ESP_SSLClient_FS.h b/src/client/SSLClient/Custom_ESP_SSLClient_FS.h index 0646fda9..f056118f 100644 --- a/src/client/SSLClient/Custom_ESP_SSLClient_FS.h +++ b/src/client/SSLClient/Custom_ESP_SSLClient_FS.h @@ -2,16 +2,6 @@ #ifndef CUSTOM_ESP_SSLCLIENT_FS_H #define CUSTOM_ESP_SSLCLIENT_FS_H -#include "../../FirebaseFS.h" - -#if defined(FIREBASE_USE_PSRAM) -#if !defined(ESP_SSLCLIENT_USE_PSRAM) -#define ESP_SSLCLIENT_USE_PSRAM -#endif -#else -#undef ESP_SSLCLIENT_USE_PSRAM -#endif - #undef ESP_SSLCLIENT_ENABLE_DEBUG #undef ESP_SSLCLIENT_ENABLE_SSL_ERROR_STRING diff --git a/src/client/SSLClient/ESP_SSLClient_FS.h b/src/client/SSLClient/ESP_SSLClient_FS.h index d8787dd1..cacae8c1 100644 --- a/src/client/SSLClient/ESP_SSLClient_FS.h +++ b/src/client/SSLClient/ESP_SSLClient_FS.h @@ -34,7 +34,7 @@ #define ESP_SSLCLIENT_USE_PSRAM #if defined __has_include -#if __has_include() +#if __has_include("Custom_ESP_SSLClient_FS.h") #include "Custom_ESP_SSLClient_FS.h" #endif #endif diff --git a/src/core/FirebaseCore.cpp b/src/core/FirebaseCore.cpp index bafbe05e..c328fff9 100644 --- a/src/core/FirebaseCore.cpp +++ b/src/core/FirebaseCore.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif @@ -1703,15 +1703,17 @@ bool FirebaseCore::reconnect() bool noClient = tcpClient == nullptr; - // We need tcpClient for network checking. + // We need tcpClient for network checking and reconnect here, + // otherwise the networkStatus will not update + // and network cannot resume. - // if (noClient) - // newClient(&tcpClient); + if (noClient) + newClient(&tcpClient); - // reconnect(tcpClient, nullptr); + reconnect(tcpClient, nullptr); - // if (noClient) - // freeClient(&tcpClient); + if (noClient) + freeClient(&tcpClient); networkChecking = false; diff --git a/src/core/FirebaseCore.h b/src/core/FirebaseCore.h index 1683ed39..e8ac7377 100644 --- a/src/core/FirebaseCore.h +++ b/src/core/FirebaseCore.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/core/Firebase_Client_Version.h b/src/core/Firebase_Client_Version.h index 53e2caa4..f710664a 100644 --- a/src/core/Firebase_Client_Version.h +++ b/src/core/Firebase_Client_Version.h @@ -1,6 +1,6 @@ #ifndef FIREBASE_CLIENT_VERSION -#define FIREBASE_CLIENT_VERSION "4.4.0" -#define FIREBASE_CLIENT_VERSION_NUM 40400 +#define FIREBASE_CLIENT_VERSION "4.4.1" +#define FIREBASE_CLIENT_VERSION_NUM 40401 /* The inconsistent file version checking to prevent mixed versions compilation. */ #define FIREBASE_CLIENT_VERSION_CHECK(ver) (ver == FIREBASE_CLIENT_VERSION_NUM) diff --git a/src/message/FCM.cpp b/src/message/FCM.cpp index 74ba38f0..6528847f 100644 --- a/src/message/FCM.cpp +++ b/src/message/FCM.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/message/FCM.h b/src/message/FCM.h index ce5f4415..a2fbe5ae 100644 --- a/src/message/FCM.h +++ b/src/message/FCM.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/message/LFCM.h b/src/message/LFCM.h index b7d0c45b..5d1a4667 100644 --- a/src/message/LFCM.h +++ b/src/message/LFCM.h @@ -1,6 +1,6 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/FB_RTDB.cpp b/src/rtdb/FB_RTDB.cpp index 3d10c54c..a877e9cb 100644 --- a/src/rtdb/FB_RTDB.cpp +++ b/src/rtdb/FB_RTDB.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/FB_RTDB.h b/src/rtdb/FB_RTDB.h index 67e1cdd5..4898b5b9 100644 --- a/src/rtdb/FB_RTDB.h +++ b/src/rtdb/FB_RTDB.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/QueryFilter.cpp b/src/rtdb/QueryFilter.cpp index 7d807a56..fd2b6bb8 100644 --- a/src/rtdb/QueryFilter.cpp +++ b/src/rtdb/QueryFilter.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/QueryFilter.h b/src/rtdb/QueryFilter.h index 2b91f032..21d0f584 100644 --- a/src/rtdb/QueryFilter.h +++ b/src/rtdb/QueryFilter.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/QueueInfo.cpp b/src/rtdb/QueueInfo.cpp index ba602cda..cd80b495 100644 --- a/src/rtdb/QueueInfo.cpp +++ b/src/rtdb/QueueInfo.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/QueueInfo.h b/src/rtdb/QueueInfo.h index 2af36791..ac8dbeb3 100644 --- a/src/rtdb/QueueInfo.h +++ b/src/rtdb/QueueInfo.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/QueueManager.cpp b/src/rtdb/QueueManager.cpp index 987240fc..5c259ba8 100644 --- a/src/rtdb/QueueManager.cpp +++ b/src/rtdb/QueueManager.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/QueueManager.h b/src/rtdb/QueueManager.h index fbc2abd7..def7e3b0 100644 --- a/src/rtdb/QueueManager.h +++ b/src/rtdb/QueueManager.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/stream/FB_MP_Stream.cpp b/src/rtdb/stream/FB_MP_Stream.cpp index 23eab147..3cd29606 100644 --- a/src/rtdb/stream/FB_MP_Stream.cpp +++ b/src/rtdb/stream/FB_MP_Stream.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/stream/FB_MP_Stream.h b/src/rtdb/stream/FB_MP_Stream.h index d048035c..e978b318 100644 --- a/src/rtdb/stream/FB_MP_Stream.h +++ b/src/rtdb/stream/FB_MP_Stream.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/stream/FB_Stream.cpp b/src/rtdb/stream/FB_Stream.cpp index 363b4784..699179ff 100644 --- a/src/rtdb/stream/FB_Stream.cpp +++ b/src/rtdb/stream/FB_Stream.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/rtdb/stream/FB_Stream.h b/src/rtdb/stream/FB_Stream.h index ee6527dc..110e8687 100644 --- a/src/rtdb/stream/FB_Stream.h +++ b/src/rtdb/stream/FB_Stream.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/session/FB_Session.cpp b/src/session/FB_Session.cpp index 0773f233..b5f0857f 100644 --- a/src/session/FB_Session.cpp +++ b/src/session/FB_Session.cpp @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif diff --git a/src/session/FB_Session.h b/src/session/FB_Session.h index 1379dc6c..31eb99e9 100644 --- a/src/session/FB_Session.h +++ b/src/session/FB_Session.h @@ -1,5 +1,5 @@ #include "./core/Firebase_Client_Version.h" -#if !FIREBASE_CLIENT_VERSION_CHECK(40400) +#if !FIREBASE_CLIENT_VERSION_CHECK(40401) #error "Mixed versions compilation." #endif