X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_passforward.cpp;h=16ae171ea0e92bb36444b76d868360b399ce6175;hb=b78e9d4af214d09227fd528a95acb54508a5d5bc;hp=37efec02b696510db102e29b1d5ee9e76dfe3082;hpb=a7fac86ccda9e75c6f426b07faa85081f5857d33;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_passforward.cpp b/src/modules/m_passforward.cpp index 37efec02b..16ae171ea 100644 --- a/src/modules/m_passforward.cpp +++ b/src/modules/m_passforward.cpp @@ -1,6 +1,12 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2019 linuxdaemon + * Copyright (C) 2014 Googolplexed + * Copyright (C) 2013, 2018, 2020 Sadie Powell + * Copyright (C) 2012-2014, 2018 Attila Molnar + * Copyright (C) 2012 Robby + * Copyright (C) 2012 Boleslaw Tokarski * Copyright (C) 2010 Daniel De Graaf * * This file is part of InspIRCd. InspIRCd is free software: you can @@ -27,7 +33,7 @@ class ModulePassForward : public Module public: Version GetVersion() CXX11_OVERRIDE { - return Version("Sends server password to NickServ", VF_VENDOR); + return Version("Allows the /PASS password to be forwarded to a services pseudoclient such as NickServ.", VF_VENDOR); } void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE @@ -35,7 +41,7 @@ class ModulePassForward : public Module ConfigTag* tag = ServerInstance->Config->ConfValue("passforward"); nickrequired = tag->getString("nick", "NickServ"); forwardmsg = tag->getString("forwardmsg", "NOTICE $nick :*** Forwarding PASS to $nickrequired"); - forwardcmd = tag->getString("cmd", "PRIVMSG $nickrequired :IDENTIFY $pass"); + forwardcmd = tag->getString("cmd", "SQUERY $nickrequired :IDENTIFY $pass", 1); } void FormatStr(std::string& result, const std::string& format, const LocalUser* user) @@ -99,11 +105,14 @@ class ModulePassForward : public Module } std::string tmp; - FormatStr(tmp, forwardmsg, user); - ServerInstance->Parser.ProcessBuffer(user, tmp); + if (!forwardmsg.empty()) + { + FormatStr(tmp, forwardmsg, user); + ServerInstance->Parser.ProcessBuffer(user, tmp); + tmp.clear(); + } - tmp.clear(); - FormatStr(tmp,forwardcmd, user); + FormatStr(tmp, forwardcmd, user); ServerInstance->Parser.ProcessBuffer(user, tmp); } };