]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sqloper.cpp
Sync helpop chmodes s and p with docs
[user/henk/code/inspircd.git] / src / modules / m_sqloper.cpp
index 2b298f66212b648e09d89f7c460ab97d8214ccd6..c2e26b0364a7a6e7d818ba78cf10032c8f853a47 100644 (file)
@@ -1,8 +1,15 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
- *   Copyright (C) 2017 Dylan Frank <b00mx0r@aureus.pw>
+ *   Copyright (C) 2019 B00mX0r <b00mx0r@aureus.pw>
+ *   Copyright (C) 2018 Dylan Frank <b00mx0r@aureus.pw>
+ *   Copyright (C) 2013-2014, 2018 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2013, 2017-2018, 2020 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
+ *   Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
+ *   Copyright (C) 2007-2008 Dennis Friis <peavey@inspircd.org>
+ *   Copyright (C) 2005-2007, 2010 Craig Edwards <brain@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
@@ -96,6 +103,7 @@ class OperQuery : public SQL::Query
                        ifo->class_blocks.assign(tblk->second->class_blocks.begin(), tblk->second->class_blocks.end());
                        oper_blocks[name] = ifo;
                        my_blocks.push_back(name);
+                       row.clear();
                }
 
                // If this was done as a result of /OPER and not a config read
@@ -109,7 +117,7 @@ class OperQuery : public SQL::Query
        void OnError(SQL::Error& error) CXX11_OVERRIDE
        {
                ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "query failed (%s)", error.ToString());
-               ServerInstance->SNO->WriteGlobalSno('a', "m_sqloper: failed to update blocks from database");
+               ServerInstance->SNO->WriteGlobalSno('a', "m_sqloper: Failed to update blocks from database");
                if (!uid.empty())
                {
                        // Fallback. We don't want to block a netadmin from /OPER
@@ -143,7 +151,8 @@ class OperQuery : public SQL::Query
                                return;
 
                        // Now handle /OPER.
-                       oper_command->Handle(user, params);
+                       ClientProtocol::TagMap tags;
+                       oper_command->Handle(user, CommandBase::Params(params, tags));
                }
                else
                {
@@ -181,7 +190,7 @@ public:
                else
                        SQL.SetProvider("SQL/" + dbid);
 
-               query = tag->getString("query", "SELECT * FROM ircd_opers WHERE active=1;");
+               query = tag->getString("query", "SELECT * FROM ircd_opers WHERE active=1;", 1);
                // Update sqloper list from the database.
                GetOperBlocks();
        }
@@ -240,7 +249,7 @@ public:
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("Allows storage of oper credentials in an SQL table", VF_VENDOR);
+               return Version("Allows server operators to be authenticated against an SQL table.", VF_VENDOR);
        }
 };