summaryrefslogtreecommitdiff
path: root/src/modules/extra/m_ssl_gnutls.cpp
diff options
context:
space:
mode:
authorom <om@e03df62e-2008-0410-955e-edbf42e46eb7>2006-01-25 14:49:12 +0000
committerom <om@e03df62e-2008-0410-955e-edbf42e46eb7>2006-01-25 14:49:12 +0000
commita8d1eab5462e704ccc10e143df54d3136fd5a5cc (patch)
treee0003490dfc6caf28491e7877c8dea63e60bd12b /src/modules/extra/m_ssl_gnutls.cpp
parentbaea829a3d0694c2828c2c220dc2ec498166e047 (diff)
Adding the +e and +I modules m_banexception and m_inviteexception, also adding their shared utility header
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2884 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/extra/m_ssl_gnutls.cpp')
-rw-r--r--src/modules/extra/m_ssl_gnutls.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp
index c2a97e12a..62e6da1e2 100644
--- a/src/modules/extra/m_ssl_gnutls.cpp
+++ b/src/modules/extra/m_ssl_gnutls.cpp
@@ -90,14 +90,17 @@ class ModuleSSL : public Module
if(gnutls_dh_params_init(&dh_params) < 0)
log(DEFAULT, "m_ssl_gnutls.so: Failed to initialise DH parameters");
- OnRehash("");
-
+ OnRehash("ssl");
+
// Void return, guess we assume success
gnutls_certificate_set_dh_params(x509_cred, dh_params);
}
virtual void OnRehash(std::string param)
{
+ if(param != "ssl")
+ return;
+
delete Conf;
Conf = new ConfigReader;
@@ -173,6 +176,12 @@ class ModuleSSL : public Module
if(gnutls_certificate_set_x509_key_file (x509_cred, certfile.c_str(), keyfile.c_str(), GNUTLS_X509_FMT_PEM) < 0)
log(DEFAULT, "m_ssl_gnutls.so: Failed to set X.509 certificate and key files: %s and %s", certfile.c_str(), keyfile.c_str());
+ // This may be on a large (once a day or week) timer eventually.
+ GenerateDHParams();
+ }
+
+ void GenerateDHParams()
+ {
// Generate Diffie Hellman parameters - for use with DHE
// kx algorithms. These should be discarded and regenerated
// once a day, once a week or once a month. Depending on the
@@ -251,6 +260,7 @@ class ModuleSSL : public Module
virtual void OnRawSocketClose(int fd)
{
+ log(DEBUG, "OnRawSocketClose: %d", fd);
CloseSession(&sessions[fd]);
}