diff options
| author | 2021-04-09 01:03:30 +0100 | |
|---|---|---|
| committer | 2021-04-09 01:03:30 +0100 | |
| commit | ee643ad2a5e8a1d964e43f9935836daec4995934 (patch) | |
| tree | 1f10a5d185a3137ccdc10b4ed9149ebf50acbdee /src/modules | |
| parent | Remove usecountbase from ExtensionItem and refer to using pointers. (diff) | |
Migrate IOHookProvider from reference<> to std::shared_ptr<>.
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/extra/m_ssl_gnutls.cpp | 15 | ||||
| -rw-r--r-- | src/modules/extra/m_ssl_mbedtls.cpp | 15 | ||||
| -rw-r--r-- | src/modules/extra/m_ssl_openssl.cpp | 15 | ||||
| -rw-r--r-- | src/modules/m_haproxy.cpp | 8 | ||||
| -rw-r--r-- | src/modules/m_websocket.cpp | 8 |
5 files changed, 29 insertions, 32 deletions
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 0cfda4a3b..c78c84bd3 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -906,7 +906,7 @@ info_done_dealloc: } public: - GnuTLSIOHook(IOHookProvider* hookprov, StreamSocket* sock, unsigned int flags) + GnuTLSIOHook(std::shared_ptr<IOHookProvider> hookprov, StreamSocket* sock, unsigned int flags) : SSLIOHook(hookprov) { gnutls_init(&sess, flags); @@ -1093,12 +1093,12 @@ class GnuTLSIOHookProvider : public SSLIOHookProvider void OnAccept(StreamSocket* sock, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server) override { - new GnuTLSIOHook(this, sock, GNUTLS_SERVER); + new GnuTLSIOHook(shared_from_this(), sock, GNUTLS_SERVER); } void OnConnect(StreamSocket* sock) override { - new GnuTLSIOHook(this, sock, GNUTLS_CLIENT); + new GnuTLSIOHook(shared_from_this(), sock, GNUTLS_CLIENT); } GnuTLS::Profile& GetProfile() { return profile; } @@ -1106,13 +1106,12 @@ class GnuTLSIOHookProvider : public SSLIOHookProvider GnuTLS::Profile& GnuTLSIOHook::GetProfile() { - IOHookProvider* hookprov = prov; - return static_cast<GnuTLSIOHookProvider*>(hookprov)->GetProfile(); + return std::static_pointer_cast<GnuTLSIOHookProvider>(prov)->GetProfile(); } class ModuleSSLGnuTLS : public Module { - typedef std::vector<reference<GnuTLSIOHookProvider> > ProfileList; + typedef std::vector<std::shared_ptr<GnuTLSIOHookProvider>> ProfileList; // First member of the class, gets constructed first and destructed last GnuTLS::Init libinit; @@ -1144,11 +1143,11 @@ class ModuleSSLGnuTLS : public Module continue; } - reference<GnuTLSIOHookProvider> prov; + std::shared_ptr<GnuTLSIOHookProvider> prov; try { GnuTLS::Profile::Config profileconfig(name, tag); - prov = new GnuTLSIOHookProvider(this, profileconfig); + prov = std::make_shared<GnuTLSIOHookProvider>(this, profileconfig); } catch (CoreException& ex) { diff --git a/src/modules/extra/m_ssl_mbedtls.cpp b/src/modules/extra/m_ssl_mbedtls.cpp index 7b168a099..ee4038857 100644 --- a/src/modules/extra/m_ssl_mbedtls.cpp +++ b/src/modules/extra/m_ssl_mbedtls.cpp @@ -663,7 +663,7 @@ class mbedTLSIOHook : public SSLIOHook } public: - mbedTLSIOHook(IOHookProvider* hookprov, StreamSocket* sock, bool isserver) + mbedTLSIOHook(std::shared_ptr<IOHookProvider> hookprov, StreamSocket* sock, bool isserver) : SSLIOHook(hookprov) , status(ISSL_NONE) { @@ -824,12 +824,12 @@ class mbedTLSIOHookProvider : public SSLIOHookProvider void OnAccept(StreamSocket* sock, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server) override { - new mbedTLSIOHook(this, sock, true); + new mbedTLSIOHook(shared_from_this(), sock, true); } void OnConnect(StreamSocket* sock) override { - new mbedTLSIOHook(this, sock, false); + new mbedTLSIOHook(shared_from_this(), sock, false); } mbedTLS::Profile& GetProfile() { return profile; } @@ -837,14 +837,13 @@ class mbedTLSIOHookProvider : public SSLIOHookProvider mbedTLS::Profile& mbedTLSIOHook::GetProfile() { - IOHookProvider* hookprov = prov; - return static_cast<mbedTLSIOHookProvider*>(hookprov)->GetProfile(); + return std::static_pointer_cast<mbedTLSIOHookProvider>(prov)->GetProfile(); } class ModuleSSLmbedTLS : public Module { private: - typedef std::vector<reference<mbedTLSIOHookProvider> > ProfileList; + typedef std::vector<std::shared_ptr<mbedTLSIOHookProvider>> ProfileList; mbedTLS::Entropy entropy; mbedTLS::CTRDRBG ctr_drbg; @@ -876,11 +875,11 @@ class ModuleSSLmbedTLS : public Module continue; } - reference<mbedTLSIOHookProvider> prov; + std::shared_ptr<mbedTLSIOHookProvider> prov; try { mbedTLS::Profile::Config profileconfig(name, tag, ctr_drbg); - prov = new mbedTLSIOHookProvider(this, profileconfig); + prov = std::make_shared<mbedTLSIOHookProvider>(this, profileconfig); } catch (CoreException& ex) { diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp index 42dd427b1..34b95b416 100644 --- a/src/modules/extra/m_ssl_openssl.cpp +++ b/src/modules/extra/m_ssl_openssl.cpp @@ -640,7 +640,7 @@ class OpenSSLIOHook : public SSLIOHook friend void StaticSSLInfoCallback(const SSL* ssl, int where, int rc); public: - OpenSSLIOHook(IOHookProvider* hookprov, StreamSocket* sock, SSL* session) + OpenSSLIOHook(std::shared_ptr<IOHookProvider> hookprov, StreamSocket* sock, SSL* session) : SSLIOHook(hookprov) , sess(session) , status(ISSL_NONE) @@ -876,12 +876,12 @@ class OpenSSLIOHookProvider : public SSLIOHookProvider void OnAccept(StreamSocket* sock, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server) override { - new OpenSSLIOHook(this, sock, profile.CreateServerSession()); + new OpenSSLIOHook(shared_from_this(), sock, profile.CreateServerSession()); } void OnConnect(StreamSocket* sock) override { - new OpenSSLIOHook(this, sock, profile.CreateClientSession()); + new OpenSSLIOHook(shared_from_this(), sock, profile.CreateClientSession()); } OpenSSL::Profile& GetProfile() { return profile; } @@ -889,13 +889,12 @@ class OpenSSLIOHookProvider : public SSLIOHookProvider OpenSSL::Profile& OpenSSLIOHook::GetProfile() { - IOHookProvider* hookprov = prov; - return static_cast<OpenSSLIOHookProvider*>(hookprov)->GetProfile(); + return std::static_pointer_cast<OpenSSLIOHookProvider>(prov)->GetProfile(); } class ModuleSSLOpenSSL : public Module { - typedef std::vector<reference<OpenSSLIOHookProvider> > ProfileList; + typedef std::vector<std::shared_ptr<OpenSSLIOHookProvider>> ProfileList; ProfileList profiles; @@ -921,10 +920,10 @@ class ModuleSSLOpenSSL : public Module continue; } - reference<OpenSSLIOHookProvider> prov; + std::shared_ptr<OpenSSLIOHookProvider> prov; try { - prov = new OpenSSLIOHookProvider(this, name, tag); + prov = std::make_shared<OpenSSLIOHookProvider>(this, name, tag); } catch (CoreException& ex) { diff --git a/src/modules/m_haproxy.cpp b/src/modules/m_haproxy.cpp index e9a738b9e..42f5a9fc8 100644 --- a/src/modules/m_haproxy.cpp +++ b/src/modules/m_haproxy.cpp @@ -375,7 +375,7 @@ class HAProxyHook : public IOHookMiddle } public: - HAProxyHook(IOHookProvider* Prov, StreamSocket* sock, UserCertificateAPI& api) + HAProxyHook(std::shared_ptr<IOHookProvider> Prov, StreamSocket* sock, UserCertificateAPI& api) : IOHookMiddle(Prov) , address_length(0) , sslapi(api) @@ -417,18 +417,18 @@ class HAProxyHook : public IOHookMiddle void HAProxyHookProvider::OnAccept(StreamSocket* sock, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server) { - new HAProxyHook(this, sock, sslapi); + new HAProxyHook(shared_from_this(), sock, sslapi); } class ModuleHAProxy : public Module { private: - reference<HAProxyHookProvider> hookprov; + std::shared_ptr<HAProxyHookProvider> hookprov; public: ModuleHAProxy() : Module(VF_VENDOR, "Allows IRC connections to be made using reverse proxies that implement the HAProxy PROXY protocol.") - , hookprov(new HAProxyHookProvider(this)) + , hookprov(std::make_shared<HAProxyHookProvider>(this)) { } }; diff --git a/src/modules/m_websocket.cpp b/src/modules/m_websocket.cpp index c31aa91b7..38de3bfdb 100644 --- a/src/modules/m_websocket.cpp +++ b/src/modules/m_websocket.cpp @@ -410,7 +410,7 @@ class WebSocketHook : public IOHookMiddle } public: - WebSocketHook(IOHookProvider* Prov, StreamSocket* sock, WebSocketConfig& cfg) + WebSocketHook(std::shared_ptr<IOHookProvider> Prov, StreamSocket* sock, WebSocketConfig& cfg) : IOHookMiddle(Prov) , config(cfg) { @@ -494,20 +494,20 @@ class WebSocketHook : public IOHookMiddle void WebSocketHookProvider::OnAccept(StreamSocket* sock, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server) { - new WebSocketHook(this, sock, config); + new WebSocketHook(shared_from_this(), sock, config); } class ModuleWebSocket : public Module { private: dynamic_reference_nocheck<HashProvider> hash; - reference<WebSocketHookProvider> hookprov; + std::shared_ptr<WebSocketHookProvider> hookprov; public: ModuleWebSocket() : Module(VF_VENDOR, "Allows WebSocket clients to connect to the IRC server.") , hash(this, "hash/sha1") - , hookprov(new WebSocketHookProvider(this)) + , hookprov(std::make_shared<WebSocketHookProvider>(this)) { sha1 = &hash; } |
