X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodules%2Fm_passforward.cpp;h=3050dba0b5343444dee22d5803601539960783f6;hb=b7716ed57704b2b2bcc665a590aecc8f02de631d;hp=589fc06a6e0586c42de4d04657dd337313b8554a;hpb=c202dea024542b9c6c6b771bb9a3a081d9eacdc5;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_passforward.cpp b/src/modules/m_passforward.cpp index 589fc06a6..3050dba0b 100644 --- a/src/modules/m_passforward.cpp +++ b/src/modules/m_passforward.cpp @@ -44,22 +44,22 @@ class ModulePassForward : public Module char c = format[i]; if (c == '$') { - if (format.substr(i, 13) == "$nickrequired") + if (!format.compare(i, 13, "$nickrequired", 13)) { result.append(nickrequired); i += 12; } - else if (format.substr(i, 5) == "$nick") + else if (!format.compare(i, 5, "$nick", 5)) { result.append(user->nick); i += 4; } - else if (format.substr(i, 5) == "$user") + else if (!format.compare(i, 5, "$user", 5)) { result.append(user->ident); i += 4; } - else if (format.substr(i,5) == "$pass") + else if (!format.compare(i, 5, "$pass", 5)) { result.append(user->password); i += 4; @@ -78,11 +78,15 @@ class ModulePassForward : public Module if (!user || user->password.empty()) return; + // If the connect class requires a password, don't forward it + if (!user->MyClass->config->getString("password").empty()) + return; + if (!nickrequired.empty()) { /* Check if nick exists and its server is ulined */ User* u = ServerInstance->FindNick(nickrequired); - if (!u || !ServerInstance->ULine(u->server)) + if (!u || !u->server->IsULine()) return; } @@ -92,7 +96,7 @@ class ModulePassForward : public Module tmp.clear(); FormatStr(tmp,forwardcmd, user); - ServerInstance->Parser->ProcessBuffer(tmp,user); + ServerInstance->Parser.ProcessBuffer(tmp,user); } };