]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_ssl_openssl.cpp
Make it clear that <gnutls>, <mbedtls>, and <openssl> are deprecated.
[user/henk/code/inspircd.git] / src / modules / extra / m_ssl_openssl.cpp
index 626baddc260a1d70edf0654322b8cfdaea543236..7880ebd56c86504d4f561a5ade3100933b476364 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2020 Matt Schatz <genius3000@g3k.solutions>
  *   Copyright (C) 2019 linuxdaemon <linuxdaemon.irc@gmail.com>
- *   Copyright (C) 2019 Matt Schatz <genius3000@g3k.solutions>
  *   Copyright (C) 2017 Wade Cline <wadecline@hotmail.com>
  *   Copyright (C) 2014, 2016 Adam <Adam@anope.org>
  *   Copyright (C) 2014 Julien Vehent <julien@linuxwall.info>
- *   Copyright (C) 2013-2014, 2016-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2013-2014, 2016-2020 Sadie Powell <sadie@witchery.services>
  *   Copyright (C) 2012-2017 Attila Molnar <attilamolnar@hush.com>
- *   Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
+ *   Copyright (C) 2012 Robby <robby@chatbelgie.be>
  *   Copyright (C) 2012 ChrisTX <xpipe@hotmail.de>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
  *   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
 # pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #endif
 
+// LibreSSL lies about the version of OpenSSL it is compatible with and is a general pain
+// to support. Support for it was removed in the master branch at the same time that
+// support for OpenSSL pre-1.1 was.
+#if defined __GNUC__ && defined LIBRESSL_VERSION_NUMBER
+# warning LibreSSL support will be discontinued in the future. Consider using the ssl_gnutls or ssl_mbedtls modules instead.
+#endif
+
 // Fix warnings about the use of `long long` on C++03.
 #if defined __clang__
 # pragma clang diagnostic ignored "-Wc++11-long-long"
@@ -979,7 +986,7 @@ class ModuleSSLOpenSSL : public Module
                        // Create a default profile named "openssl"
                        const std::string defname = "openssl";
                        ConfigTag* tag = ServerInstance->Config->ConfValue(defname);
-                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "No <sslprofile> tags found, using settings from the <openssl> tag");
+                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "No <sslprofile> tags found, using settings from the deprecated <openssl> tag");
 
                        try
                        {
@@ -997,7 +1004,10 @@ class ModuleSSLOpenSSL : public Module
                        {
                                ConfigTag* tag = i->second;
                                if (!stdalgo::string::equalsci(tag->getString("provider"), "openssl"))
+                               {
+                                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Ignoring non-OpenSSL <sslprofile> tag at " + tag->getTagLocation());
                                        continue;
+                               }
 
                                std::string name = tag->getString("name");
                                if (name.empty())