From a4e9ebfda34afcf6eb7602381c2f9313ab1b8b78 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 17 Mar 2021 16:07:33 +0000 Subject: Implement support for automatically syncing extension items. --- src/modules/m_sslinfo.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/modules/m_sslinfo.cpp') 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(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(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; -- cgit v1.3.1-10-gc9f91