mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-25 19:56:30 +00:00
TLS increase timeout and fix crash (#23249)
This commit is contained in:
parent
2bf67b96a6
commit
e8baea464f
@ -16,6 +16,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- INA226 driver fixes (#23197)
|
- INA226 driver fixes (#23197)
|
||||||
|
- TLS increase timeout and fix crash
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
|
@ -303,7 +303,9 @@ int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port, int32_t timeout
|
|||||||
setLastError(ERR_TCP_CONNECT);
|
setLastError(ERR_TCP_CONNECT);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return _connectSSL(_domain.isEmpty() ? nullptr : _domain.c_str());
|
bool success = _connectSSL(_domain.isEmpty() ? nullptr : _domain.c_str());
|
||||||
|
if (!success) { stop(); }
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
#else // ESP32
|
#else // ESP32
|
||||||
int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port) {
|
int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port) {
|
||||||
@ -313,7 +315,9 @@ int WiFiClientSecure_light::connect(IPAddress ip, uint16_t port) {
|
|||||||
setLastError(ERR_TCP_CONNECT);
|
setLastError(ERR_TCP_CONNECT);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return _connectSSL(_domain.isEmpty() ? nullptr : _domain.c_str());
|
bool success = _connectSSL(_domain.isEmpty() ? nullptr : _domain.c_str());
|
||||||
|
if (!success) { stop(); }
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -570,6 +574,7 @@ int WiFiClientSecure_light::_run_until(unsigned target, bool blocking) {
|
|||||||
|
|
||||||
if (((int32_t)(millis() - (t + this->_loopTimeout)) >= 0)){
|
if (((int32_t)(millis() - (t + this->_loopTimeout)) >= 0)){
|
||||||
DEBUG_BSSL("_run_until: Timeout\n");
|
DEBUG_BSSL("_run_until: Timeout\n");
|
||||||
|
setLastError(ERR_TLS_TIMEOUT);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ class WiFiClientSecure_light : public WiFiClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint32_t _loopTimeout=5000;
|
uint32_t _loopTimeout=10000;
|
||||||
void _clear();
|
void _clear();
|
||||||
bool _ctx_present;
|
bool _ctx_present;
|
||||||
std::shared_ptr<br_ssl_client_context> _sc;
|
std::shared_ptr<br_ssl_client_context> _sc;
|
||||||
@ -192,7 +192,8 @@ class WiFiClientSecure_light : public WiFiClient {
|
|||||||
#define ERR_CANT_RESOLVE_IP -1001
|
#define ERR_CANT_RESOLVE_IP -1001
|
||||||
#define ERR_TCP_CONNECT -1002
|
#define ERR_TCP_CONNECT -1002
|
||||||
// #define ERR_MISSING_EC_KEY -1003 // deprecated, AWS IoT is not called if the private key is not present
|
// #define ERR_MISSING_EC_KEY -1003 // deprecated, AWS IoT is not called if the private key is not present
|
||||||
#define ERR_MISSING_CA -1004
|
// #define ERR_MISSING_CA -1004 // deprecated
|
||||||
|
#define ERR_TLS_TIMEOUT -1005
|
||||||
|
|
||||||
// For reference, BearSSL error codes:
|
// For reference, BearSSL error codes:
|
||||||
// #define BR_ERR_OK 0
|
// #define BR_ERR_OK 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user