aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_sslinfo.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2021-03-17 16:07:33 +0000
committerGravatar Sadie Powell2021-03-17 21:13:10 +0000
commita4e9ebfda34afcf6eb7602381c2f9313ab1b8b78 (patch)
tree4f3884cc3415e3c7ef3ce4ebf30150a1dd166e20 /src/modules/m_sslinfo.cpp
parentMove 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.cpp7
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;