]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/extra/m_ssl_openssl.cpp
Switch from the Ubuntu 16.04 image to the 18.04 Ubuntu image.
[user/henk/code/inspircd.git] / src / modules / extra / m_ssl_openssl.cpp
index 8f29df1e78643309c29b02203d78692b1e997dfa..0f4e2d71397dfa5c618fabdd02eef71a3e8467bc 100644 (file)
@@ -6,14 +6,15 @@
  *   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-2020 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2013-2014, 2016-2021 Sadie Powell <sadie@witchery.services>
  *   Copyright (C) 2012-2017 Attila Molnar <attilamolnar@hush.com>
  *   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>
- *   Copyright (C) 2007-2008, 2010 Craig Edwards <brain@inspircd.org>
  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
+ *   Copyright (C) 2006-2008, 2010 Craig Edwards <brain@inspircd.org>
+ *   Copyright (C) 2006 Oliver Lupton <om@inspircd.org>
  *
  * This file is part of InspIRCd.  InspIRCd is free software: you can
  * redistribute it and/or modify it under the terms of the GNU General Public
@@ -28,7 +29,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/// $CompilerFlags: find_compiler_flags("openssl")
+/// $CompilerFlags: find_compiler_flags("openssl" "")
 /// $LinkerFlags: find_linker_flags("openssl" "-lssl -lcrypto")
 
 /// $PackageInfo: require_system("arch") openssl pkgconf
@@ -935,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);
@@ -986,7 +987,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
                        {
@@ -999,12 +1000,15 @@ class ModuleSSLOpenSSL : public Module
                }
                else
                {
-                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "You have defined an <sslprofile> tag; you should use this in place of \"openssl\" when configuring TLS (SSL) connections in <bind:ssl> or <link:ssl>");
+                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "You have defined an <sslprofile> tag; you should use this in place of \"openssl\" when configuring TLS (SSL) connections in <bind:sslprofile> or <link:sslprofile>");
                        for (ConfigIter i = tags.first; i != tags.second; ++i)
                        {
                                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())
@@ -1072,7 +1076,7 @@ class ModuleSSLOpenSSL : public Module
                try
                {
                        ReadProfiles();
-                       ServerInstance->SNO->WriteToSnoMask('a', "TLS (SSL) module OpenSSL rehashed.");
+                       ServerInstance->SNO->WriteToSnoMask('a', "OpenSSL TLS (SSL) profiles have been reloaded.");
                }
                catch (ModuleException& ex)
                {