]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Add a subclass of IOHookProvider for SSL modules.
authorSadie Powell <sadie@witchery.services>
Tue, 9 Mar 2021 01:00:16 +0000 (01:00 +0000)
committerSadie Powell <sadie@witchery.services>
Tue, 9 Mar 2021 01:00:16 +0000 (01:00 +0000)
include/modules/ssl.h
src/modules/extra/m_ssl_gnutls.cpp
src/modules/extra/m_ssl_mbedtls.cpp
src/modules/extra/m_ssl_openssl.cpp

index ac2e367fd00eb04e92320d1c7241c53140015e37..c9229cf9d0a7593365a8458ae008a58e99c287fb 100644 (file)
@@ -151,6 +151,16 @@ class ssl_cert : public refcountbase
        }
 };
 
+/** I/O hook provider for SSL modules. */
+class SSLIOHookProvider : public IOHookProvider
+{
+public:
+       SSLIOHookProvider(Module* mod, const std::string& Name)
+               : IOHookProvider(mod, "ssl/" + Name, IOH_SSL)
+       {
+       }
+};
+
 class SSLIOHook : public IOHook
 {
  protected:
index b6eee583669a3c06e3c458096a068312da723d74..4e6b09564d15cbd45065c126ad373de49d673416 100644 (file)
@@ -1243,13 +1243,13 @@ int GnuTLS::X509Credentials::cert_callback(gnutls_session_t sess, const gnutls_d
        return 0;
 }
 
-class GnuTLSIOHookProvider : public IOHookProvider
+class GnuTLSIOHookProvider : public SSLIOHookProvider
 {
        GnuTLS::Profile profile;
 
  public:
        GnuTLSIOHookProvider(Module* mod, GnuTLS::Profile::Config& config)
-               : IOHookProvider(mod, "ssl/" + config.name, IOHookProvider::IOH_SSL)
+               : SSLIOHookProvider(mod, config.name)
                , profile(config)
        {
                ServerInstance->Modules->AddService(*this);
index 9c2a535ae0c5da095ba18279ce1ea1161cd969d4..77c81b7fa57038c278cc794085d9c01f6adceb11 100644 (file)
@@ -817,13 +817,13 @@ class mbedTLSIOHook : public SSLIOHook
        bool IsHandshakeDone() const { return (status == ISSL_HANDSHAKEN); }
 };
 
-class mbedTLSIOHookProvider : public IOHookProvider
+class mbedTLSIOHookProvider : public SSLIOHookProvider
 {
        mbedTLS::Profile profile;
 
  public:
        mbedTLSIOHookProvider(Module* mod, mbedTLS::Profile::Config& config)
-               : IOHookProvider(mod, "ssl/" + config.name, IOHookProvider::IOH_SSL)
+               : SSLIOHookProvider(mod, config.name)
                , profile(config)
        {
                ServerInstance->Modules->AddService(*this);
index 55efd2dd6ac6174fc7d3691828f0acc9fbcc6b88..fb965a5abcc29670941794046a3d1c461ec7c53a 100644 (file)
@@ -936,13 +936,13 @@ static int OpenSSL::BIOMethod::read(BIO* bio, char* buffer, int size)
        return ret;
 }
 
-class OpenSSLIOHookProvider : public IOHookProvider
+class OpenSSLIOHookProvider : public SSLIOHookProvider
 {
        OpenSSL::Profile profile;
 
  public:
        OpenSSLIOHookProvider(Module* mod, const std::string& profilename, ConfigTag* tag)
-               : IOHookProvider(mod, "ssl/" + profilename, IOHookProvider::IOH_SSL)
+               : SSLIOHookProvider(mod, profilename)
                , profile(profilename, tag)
        {
                ServerInstance->Modules->AddService(*this);