summaryrefslogtreecommitdiff
path: root/src/modules/m_close.cpp
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2019-02-15 12:35:51 +0000
committerPeter Powell <petpow@saberuk.com>2019-02-15 12:35:51 +0000
commit27e261780809073b5c776e535f8d2402c0df2ec7 (patch)
treeed676467399cb2df979e120ab1eb817275c5ea19 /src/modules/m_close.cpp
parenta7fc2fe0dc845ffba1f4575e694aa1bb7f60756b (diff)
Move the close and jumpserver modules to inspircd-extras.
- The close module is borderline useless. - The jumpserver numeric is supported by barely any clients and has various security problems.
Diffstat (limited to 'src/modules/m_close.cpp')
-rw-r--r--src/modules/m_close.cpp83
1 files changed, 0 insertions, 83 deletions
diff --git a/src/modules/m_close.cpp b/src/modules/m_close.cpp
deleted file mode 100644
index c2a94a6ff..000000000
--- a/src/modules/m_close.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * InspIRCd -- Internet Relay Chat Daemon
- *
- * Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- * Copyright (C) 2007 Carsten Valdemar Munk <carsten.munk+inspircd@gmail.com>
- *
- * 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
- * License as published by the Free Software Foundation, version 2.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "inspircd.h"
-
-/** Handle /CLOSE
- */
-class CommandClose : public Command
-{
- public:
- /* Command 'close', needs operator */
- CommandClose(Module* Creator) : Command(Creator,"CLOSE", 0)
- {
- flags_needed = 'o';
- }
-
- CmdResult Handle(User* src, const Params& parameters) CXX11_OVERRIDE
- {
- std::map<std::string,int> closed;
-
- const UserManager::LocalList& list = ServerInstance->Users.GetLocalUsers();
- for (UserManager::LocalList::const_iterator u = list.begin(); u != list.end(); )
- {
- // Quitting the user removes it from the list
- LocalUser* user = *u;
- ++u;
- if (user->registered != REG_ALL)
- {
- ServerInstance->Users->QuitUser(user, "Closing all unknown connections per request");
- std::string key = ConvToStr(user->GetIPString())+"."+ConvToStr(user->server_sa.port());
- closed[key]++;
- }
- }
-
- int total = 0;
- for (std::map<std::string,int>::iterator ci = closed.begin(); ci != closed.end(); ci++)
- {
- src->WriteNotice("*** Closed " + ConvToStr(ci->second) + " unknown " + (ci->second == 1 ? "connection" : "connections") +
- " from [" + ci->first + "]");
- total += ci->second;
- }
- if (total)
- src->WriteNotice("*** " + ConvToStr(total) + " unknown " + (total == 1 ? "connection" : "connections") + " closed");
- else
- src->WriteNotice("*** No unknown connections found");
-
- return CMD_SUCCESS;
- }
-};
-
-class ModuleClose : public Module
-{
- CommandClose cmd;
- public:
- ModuleClose()
- : cmd(this)
- {
- }
-
- Version GetVersion() CXX11_OVERRIDE
- {
- return Version("Provides /CLOSE functionality", VF_VENDOR);
- }
-};
-
-MODULE_INIT(ModuleClose)