From b5730a9be9c9d42683117e0bd07efac6c8ab6aec Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Thu, 21 Oct 2021 22:07:21 +0200 Subject: [PATCH] BearSSL: support connect() without timeout on ESP32 Arduino-ESP32 supports both versions of 'connect' method, with and without timeout argument. Since most users of WiFiClientSecure_light class use version without this argument - for example - Telegram, export both on ESP32 to fix build failure with USE_TELEGRAM enabled on ESP32. Fixes: 3d5c68b8505a ("Berry class ``webclient`` for HTTP/HTTPS requests") Signed-off-by: Lech Perczak --- lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp | 6 ++---- lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.h | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp b/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp index ff87d3112..13324ed2b 100755 --- a/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp +++ b/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.cpp @@ -303,7 +303,7 @@ int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port, int32_t timeout } return _connectSSL(nullptr); } -#else // ESP32 +#endif // ESP32 int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port) { DEBUG_BSSL("connect(%s,%d)", ip.toString().c_str(), port); clearLastError(); @@ -313,7 +313,6 @@ int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port) { } return _connectSSL(nullptr); } -#endif #ifdef ESP32 int WiFiClientSecure_light::connect(const char* name, uint16_t port, int32_t timeout) { @@ -334,7 +333,7 @@ int WiFiClientSecure_light::connect(const char* name, uint16_t port, int32_t tim LOG_HEAP_SIZE("Before calling _connectSSL"); return _connectSSL(name); } -#else // ESP32 +#endif // ESP32 int WiFiClientSecure_light::connect(const char* name, uint16_t port) { DEBUG_BSSL("connect(%s,%d)\n", name, port); IPAddress remote_addr; @@ -353,7 +352,6 @@ int WiFiClientSecure_light::connect(const char* name, uint16_t port) { LOG_HEAP_SIZE("Before calling _connectSSL"); return _connectSSL(name); } -#endif void WiFiClientSecure_light::_freeSSL() { _ctx_present = false; diff --git a/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.h b/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.h index 450a664f4..77fea817c 100755 --- a/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.h +++ b/lib/lib_ssl/tls_mini/src/WiFiClientSecureLightBearSSL.h @@ -41,10 +41,9 @@ class WiFiClientSecure_light : public WiFiClient { #ifdef ESP32 // the method to override in ESP32 has timeout argument int connect(IPAddress ip, uint16_t port, int32_t timeout) override; int connect(const char* name, uint16_t port, int32_t timeout) override; - #else + #endif int connect(IPAddress ip, uint16_t port) override; int connect(const char* name, uint16_t port) override; - #endif uint8_t connected() override; size_t write(const uint8_t *buf, size_t size) override;