diff options
| author | 2021-03-17 16:07:33 +0000 | |
|---|---|---|
| committer | 2021-03-17 21:13:10 +0000 | |
| commit | a4e9ebfda34afcf6eb7602381c2f9313ab1b8b78 (patch) | |
| tree | 4f3884cc3415e3c7ef3ce4ebf30150a1dd166e20 /src/modules/m_sslinfo.cpp | |
| parent | Move extensible code from base.cpp to extensible.cpp and cleanup. (diff) | |
Implement support for automatically syncing extension items.
Diffstat (limited to 'src/modules/m_sslinfo.cpp')
| -rw-r--r-- | src/modules/m_sslinfo.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/modules/m_sslinfo.cpp b/src/modules/m_sslinfo.cpp index e08a11e03..8537c57e9 100644 --- a/src/modules/m_sslinfo.cpp +++ b/src/modules/m_sslinfo.cpp @@ -53,12 +53,15 @@ class SSLCertExt : public ExtensionItem return static_cast<ssl_cert*>(GetRaw(item)); } - void Set(Extensible* item, ssl_cert* value) + void Set(Extensible* item, ssl_cert* value, bool sync = true) { value->refcount_inc(); ssl_cert* old = static_cast<ssl_cert*>(SetRaw(item, value)); if (old && old->refcount_dec()) delete old; + + if (sync) + Sync(item, value); } void Unset(Extensible* container) @@ -74,7 +77,7 @@ class SSLCertExt : public ExtensionItem void FromNetwork(Extensible* container, const std::string& value) noexcept override { ssl_cert* cert = new ssl_cert; - Set(container, cert); + Set(container, cert, false); std::stringstream s(value); std::string v; |
