X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_passforward.cpp;h=2eaabe247c8393e835f9abe1c05ba2019f606073;hb=43e31bba5429849fdebeddc65f7e6f267211181f;hp=08d3533cd120dfe5cc2c920e67a408acf7f48b3a;hpb=58a0a7e01422e62de1565a8eb0a1febdc463d04d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_passforward.cpp b/src/modules/m_passforward.cpp index 08d3533cd..2eaabe247 100644 --- a/src/modules/m_passforward.cpp +++ b/src/modules/m_passforward.cpp @@ -18,6 +18,7 @@ #include "inspircd.h" +#include "modules/account.h" class ModulePassForward : public Module { @@ -34,7 +35,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"); } void FormatStr(std::string& result, const std::string& format, const LocalUser* user) @@ -82,6 +83,13 @@ class ModulePassForward : public Module if (!user->MyClass->config->getString("password").empty()) return; + AccountExtItem* actext = GetAccountExtItem(); + if (actext && actext->get(user)) + { + // User is logged in already (probably via SASL) don't forward the password + return; + } + if (!nickrequired.empty()) { /* Check if nick exists and its server is ulined */