From 99b3589121d7afc7e1205c42b5d64cd2fafd3b18 Mon Sep 17 00:00:00 2001 From: Bert Melis Date: Wed, 16 Nov 2022 15:48:43 +0100 Subject: [PATCH] fix set/getSocketOption inheritance --- libraries/WiFi/src/WiFiClient.h | 2 +- libraries/WiFiClientSecure/src/WiFiClientSecure.cpp | 13 +++---------- libraries/WiFiClientSecure/src/WiFiClientSecure.h | 3 +-- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/libraries/WiFi/src/WiFiClient.h b/libraries/WiFi/src/WiFiClient.h index f36c51102e7..e6e7ecd4b3c 100644 --- a/libraries/WiFi/src/WiFiClient.h +++ b/libraries/WiFi/src/WiFiClient.h @@ -84,7 +84,7 @@ class WiFiClient : public ESPLwIPClient return !this->operator==(rhs); }; - int fd() const; + virtual int fd() const; int setSocketOption(int option, char* value, size_t len); int setSocketOption(int level, int option, const void* value, size_t len); diff --git a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp index 8862ed7ce07..101252c125f 100644 --- a/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp +++ b/libraries/WiFiClientSecure/src/WiFiClientSecure.cpp @@ -376,16 +376,9 @@ int WiFiClientSecure::setTimeout(uint32_t seconds) return 0; } } -int WiFiClientSecure::setSocketOption(int option, char* value, size_t len) -{ - return setSocketOption(SOL_SOCKET, option, (const void*)value, len); -} -int WiFiClientSecure::setSocketOption(int level, int option, const void* value, size_t len) +int WiFiClientSecure::fd() const { - int res = setsockopt(sslclient->socket, level, option, value, len); - if(res < 0) { - log_e("fail on %d, errno: %d, \"%s\"", sslclient->socket, errno, strerror(errno)); - } - return res; + return sslclient->socket; } + diff --git a/libraries/WiFiClientSecure/src/WiFiClientSecure.h b/libraries/WiFiClientSecure/src/WiFiClientSecure.h index 5070d424743..2d49610425d 100644 --- a/libraries/WiFiClientSecure/src/WiFiClientSecure.h +++ b/libraries/WiFiClientSecure/src/WiFiClientSecure.h @@ -80,8 +80,7 @@ class WiFiClientSecure : public WiFiClient const mbedtls_x509_crt* getPeerCertificate() { return mbedtls_ssl_get_peer_cert(&sslclient->ssl_ctx); }; bool getFingerprintSHA256(uint8_t sha256_result[32]) { return get_peer_fingerprint(sslclient, sha256_result); }; int setTimeout(uint32_t seconds); - int setSocketOption(int option, char* value, size_t len); - int setSocketOption(int level, int option, const void* value, size_t len); + int fd() const; operator bool() {