diff options
author | special <special@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-07-16 08:35:23 +0000 |
---|---|---|
committer | special <special@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-07-16 08:35:23 +0000 |
commit | c773dc8d0c9ab4873aa850bd31f14685bdfb6c07 (patch) | |
tree | 98488f4dee6b4855b04919e92a54cbdda1d164ef /src/modules | |
parent | 42105f07dd1ac0e04e28077754b6245a80d55597 (diff) |
Made m_ssl_gnutls throw an exception when unable to load the certificate (since SSL won't work at all without one)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7441 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/extra/m_ssl_gnutls.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 5b1197915..fd8b12d32 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -211,9 +211,11 @@ class ModuleSSLGnuTLS : public Module if((ret = gnutls_certificate_set_x509_crl_file (x509_cred, crlfile.c_str(), GNUTLS_X509_FMT_PEM)) < 0) ServerInstance->Log(DEFAULT, "m_ssl_gnutls.so: Failed to set X.509 CRL file '%s': %s", crlfile.c_str(), gnutls_strerror(ret)); - // Guessing on the return value of this, manual doesn't say :| if((ret = gnutls_certificate_set_x509_key_file (x509_cred, certfile.c_str(), keyfile.c_str(), GNUTLS_X509_FMT_PEM)) < 0) - ServerInstance->Log(DEFAULT, "m_ssl_gnutls.so: Failed to set X.509 certificate and key files '%s' and '%s': %s", certfile.c_str(), keyfile.c_str(), gnutls_strerror(ret)); + { + // If this fails, no SSL port will work. At all. So, do the smart thing - throw a ModuleException + throw ModuleException("Unable to load GnuTLS server certificate: " + std::string(gnutls_strerror(ret))); + } // This may be on a large (once a day or week) timer eventually. GenerateDHParams(); |