1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00

WiFiClientSecure: don't trash certificate and private key on stop()

This commit is contained in:
Ivan Grokhotkov 2015-12-09 09:23:47 +03:00
parent 8f5a6fdf69
commit 5cd42a0316

View File

@ -53,7 +53,7 @@ extern "C"
uint8_t* default_private_key = 0; uint8_t* default_private_key = 0;
uint32_t default_private_key_len = 0; uint32_t default_private_key_len = 0;
static bool default_private_key_dynamic = false; static bool default_private_key_dynamic = false;
// static int s_pk_refcnt = 0;
uint8_t* default_certificate = 0; uint8_t* default_certificate = 0;
uint32_t default_certificate_len = 0; uint32_t default_certificate_len = 0;
static bool default_certificate_dynamic = false; static bool default_certificate_dynamic = false;
@ -81,9 +81,6 @@ public:
if (_ssl_ctx_refcnt == 0) { if (_ssl_ctx_refcnt == 0) {
ssl_ctx_free(_ssl_ctx); ssl_ctx_free(_ssl_ctx);
} }
clear_private_key();
clear_certificate();
} }
void ref() { void ref() {
@ -186,12 +183,17 @@ int SSLContext::_ssl_ctx_refcnt = 0;
WiFiClientSecure::WiFiClientSecure() { WiFiClientSecure::WiFiClientSecure() {
++s_pk_refcnt;
} }
WiFiClientSecure::~WiFiClientSecure() { WiFiClientSecure::~WiFiClientSecure() {
if (_ssl) { if (_ssl) {
_ssl->unref(); _ssl->unref();
} }
if (--s_pk_refcnt == 0) {
clear_private_key();
clear_certificate();
}
} }
WiFiClientSecure::WiFiClientSecure(const WiFiClientSecure& other) WiFiClientSecure::WiFiClientSecure(const WiFiClientSecure& other)