From 5f94a60d78bd7617e3e6da74128a5423c1262452 Mon Sep 17 00:00:00 2001 From: Jiri Bilek Date: Mon, 31 Oct 2022 04:25:04 +0100 Subject: [PATCH] Changed / added virtual functions for returning connection information (#8693) Fixes the incorrect behavior of WiFiClientSecure.remoteIP(), .remotePort(), .localIP(), .localPort(). --- libraries/ESP8266WiFi/src/WiFiClient.h | 8 ++++---- libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/ESP8266WiFi/src/WiFiClient.h b/libraries/ESP8266WiFi/src/WiFiClient.h index 5065622cc..170c983c0 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.h +++ b/libraries/ESP8266WiFi/src/WiFiClient.h @@ -91,10 +91,10 @@ public: virtual uint8_t connected() override; virtual operator bool() override; - IPAddress remoteIP(); - uint16_t remotePort(); - IPAddress localIP(); - uint16_t localPort(); + virtual IPAddress remoteIP(); + virtual uint16_t remotePort(); + virtual IPAddress localIP(); + virtual uint16_t localPort(); static void setLocalPortStart(uint16_t port) { _localPort = port; } diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h b/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h index afdb0c0a7..cc08f1035 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h +++ b/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h @@ -278,6 +278,11 @@ class WiFiClientSecure : public WiFiClient { void flush() override { (void)flush(0); } void stop() override { (void)stop(0); } + IPAddress remoteIP() override { return _ctx->remoteIP(); } + uint16_t remotePort() override { return _ctx->remotePort(); } + IPAddress localIP() override { return _ctx->localIP(); } + uint16_t localPort() override { return _ctx->localPort(); } + // Allow sessions to be saved/restored automatically to a memory area void setSession(Session *session) { _ctx->setSession(session); }