X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_inviteexception.cpp;h=604c144e4b153ab2927a843d2bb019ffe60ee0f6;hb=e2b0f3dc9ef4d56c71d7abda13e6139ca092e387;hp=6229e1fa2fac06495210048034962468f47b7f62;hpb=58d7827bb1bd3d90f38a1c199f6f41ae9f24885c;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_inviteexception.cpp b/src/modules/m_inviteexception.cpp index 6229e1fa2..604c144e4 100644 --- a/src/modules/m_inviteexception.cpp +++ b/src/modules/m_inviteexception.cpp @@ -1,11 +1,12 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2009 Daniel De Graaf - * Copyright (C) 2006-2008 Craig Edwards + * Copyright (C) 2013, 2017-2020 Sadie Powell + * Copyright (C) 2012-2013 Attila Molnar + * Copyright (C) 2012, 2019 Robby + * Copyright (C) 2009-2010 Daniel De Graaf * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2007 Robin Burchell - * Copyright (C) 2006 Oliver Lupton + * Copyright (C) 2006, 2010 Craig Edwards * * 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 @@ -24,22 +25,21 @@ #include "inspircd.h" #include "listmode.h" -/* - * Written by Om , April 2005. - * Based on m_exception, which was originally based on m_chanprotect and m_silence - * - * The +I channel mode takes a nick!ident@host, glob patterns allowed, - * and if a user matches an entry on the +I list then they can join the channel, - * ignoring if +i is set on the channel - * Now supports CIDR and IP addresses -- Brain - */ +enum +{ + // From RFC 2812. + RPL_INVEXLIST = 346, + RPL_ENDOFINVEXLIST = 347 +}; -/** Handles channel mode +I - */ class InviteException : public ListModeBase { public: - InviteException(Module* Creator) : ListModeBase(Creator, "invex", 'I', "End of Channel Invite Exception List", 346, 347, true) { } + InviteException(Module* Creator) + : ListModeBase(Creator, "invex", 'I', "End of Channel Invite Exception List", RPL_INVEXLIST, RPL_ENDOFINVEXLIST, true) + { + syntax = ""; + } }; class ModuleInviteException : public Module @@ -53,7 +53,7 @@ public: void On005Numeric(std::map& tokens) CXX11_OVERRIDE { - tokens["INVEX"] = "I"; + tokens["INVEX"] = ConvToStr(ie.GetModeChar()); } ModResult OnCheckInvite(User* user, Channel* chan) CXX11_OVERRIDE @@ -82,13 +82,13 @@ public: void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { - invite_bypass_key = ServerInstance->Config->ConfValue("inviteexception")->getBool("bypasskey", true); ie.DoRehash(); + invite_bypass_key = ServerInstance->Config->ConfValue("inviteexception")->getBool("bypasskey", true); } Version GetVersion() CXX11_OVERRIDE { - return Version("Provides support for the +I channel mode", VF_VENDOR); + return Version("Adds channel mode I (invex) which allows channel operators to exempt user masks from the i (inviteonly) channel mode.", VF_VENDOR); } };