]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_ssl_gnutls.cpp
Merge branch 'master+sslconnmsg'
[user/henk/code/inspircd.git] / src / modules / extra / m_ssl_gnutls.cpp
index 10b97b3598621c448a15b2d11b98be41aa290387..a1c989163ff0fea98012ac1913e3a89ce0964695 100644 (file)
 // Fix warnings about the use of commas at end of enumerator lists on C++03.
 #if defined __clang__
 # pragma clang diagnostic ignored "-Wc++11-extensions"
-#elif defined __GNUC__ && __GNUC__ < 6
-# pragma GCC diagnostic ignored "-pedantic"
+#elif defined __GNUC__
+# if __GNUC__ < 6
+#  pragma GCC diagnostic ignored "-pedantic"
+# else
+#  pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+# endif
 #endif
 
 #include <gnutls/gnutls.h>
 #endif
 
 #ifdef _WIN32
-# pragma comment(lib, "libgnutls-28.lib")
+# pragma comment(lib, "libgnutls-30.lib")
 #endif
 
-/* $CompileFlags: -std=c++03 pkgconfincludes("gnutls","/gnutls/gnutls.h","") eval("print `libgcrypt-config --cflags | tr -d \r` if `pkg-config --modversion gnutls 2>/dev/null | tr -d \r` lt '2.12'") */
-/* $LinkerFlags: -std=c++03 rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") eval("print `libgcrypt-config --libs | tr -d \r` if `pkg-config --modversion gnutls 2>/dev/null | tr -d \r` lt '2.12'") */
+/* $CompileFlags: pkgconfincludes("gnutls","/gnutls/gnutls.h","") eval("print `libgcrypt-config --cflags | tr -d \r` if `pkg-config --modversion gnutls 2>/dev/null | tr -d \r` lt '2.12'") */
+/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") eval("print `libgcrypt-config --libs | tr -d \r` if `pkg-config --modversion gnutls 2>/dev/null | tr -d \r` lt '2.12'") */
 
 // These don't exist in older GnuTLS versions
 #if INSPIRCD_GNUTLS_HAS_VERSION(2, 1, 7)
@@ -1146,22 +1150,10 @@ info_done_dealloc:
                return 1;
        }
 
-       void TellCiphersAndFingerprint(LocalUser* user)
-       {
-               if (sess)
-               {
-                       std::string text = "*** You are connected using SSL cipher '";
-                       GetCiphersuite(text);
-                       text += '\'';
-                       if (!certificate->fingerprint.empty())
-                               text += " and your SSL certificate fingerprint is " + certificate->fingerprint;
-
-                       user->WriteNotice(text);
-               }
-       }
-
-       void GetCiphersuite(std::string& out) const
+       void GetCiphersuite(std::string& out) const CXX11_OVERRIDE
        {
+               if (!IsHandshakeDone())
+                       return;
                out.append(UnknownIfNULL(gnutls_protocol_get_name(gnutls_protocol_get_version(sess)))).push_back('-');
                out.append(UnknownIfNULL(gnutls_kx_get_name(gnutls_kx_get(sess)))).push_back('-');
                out.append(UnknownIfNULL(gnutls_cipher_get_name(gnutls_cipher_get(sess)))).push_back('-');
@@ -1340,13 +1332,6 @@ class ModuleSSLGnuTLS : public Module
                return Version("Provides SSL support for clients", VF_VENDOR);
        }
 
-       void OnUserConnect(LocalUser* user) CXX11_OVERRIDE
-       {
-               IOHook* hook = user->eh.GetIOHook();
-               if (hook && hook->prov->creator == this)
-                       static_cast<GnuTLSIOHook*>(hook)->TellCiphersAndFingerprint(user);
-       }
-
        ModResult OnCheckReady(LocalUser* user) CXX11_OVERRIDE
        {
                if ((user->eh.GetIOHook()) && (user->eh.GetIOHook()->prov->creator == this))