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