From d4c6e27674351227fadfaa22fdd174e9d2f5273e Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 26 Dec 2017 09:20:50 +0800 Subject: [PATCH 1/2] WiFiClientSecure: use _timeout setting when connecting This timeout value can be customized via a call to setTimeout function. Closes https://github.com/esp8266/Arduino/issues/3944. --- libraries/ESP8266WiFi/src/WiFiClientSecure.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index e7bcb1a4e4..8915f69bc5 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -353,7 +353,7 @@ int WiFiClientSecure::_connectSSL(const char* hostName) _ssl = new SSLContext; _ssl->ref(); } - _ssl->connect(_client, hostName, 5000); + _ssl->connect(_client, hostName, _timeout); auto status = ssl_handshake_status(*_ssl); if (status != SSL_OK) { From 75fad28fd50e4d4d9b221e3c147b1db8f634dac3 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Tue, 26 Dec 2017 09:21:24 +0800 Subject: [PATCH 2/2] WiFiClientSecure: increase default connection timeout to 15 sec --- libraries/ESP8266WiFi/src/WiFiClientSecure.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index 8915f69bc5..0d22d39274 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -298,6 +298,8 @@ ClientContext* SSLContext::s_io_ctx = nullptr; WiFiClientSecure::WiFiClientSecure() { + // TLS handshake may take more than the 5 second default timeout + _timeout = 15000; } WiFiClientSecure::~WiFiClientSecure()