X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommand_parse.cpp;h=5492e26b5d54717ca44799b40f4cb2d389ab47cd;hb=21f9acdb6c5c35b26d926f75845135f16c3c54e9;hp=d63e3938f5e83630dc1e531f71e6a8ccbb919606;hpb=58e4aa3a8c0ac57ee2336883077cf5b0aff77c9c;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/command_parse.cpp b/src/command_parse.cpp index d63e3938f..5492e26b5 100644 --- a/src/command_parse.cpp +++ b/src/command_parse.cpp @@ -223,22 +223,25 @@ void CommandParser::DoLines(User* current, bool one_only) while (current->BufferIsReady()) { - if (ServerInstance->Time() > current->reset_due) + if (current->MyClass) { - current->reset_due = ServerInstance->Time() + current->MyClass->GetThreshold(); - current->lines_in = 0; - } + if (ServerInstance->Time() > current->reset_due) + { + current->reset_due = ServerInstance->Time() + current->MyClass->GetThreshold(); + current->lines_in = 0; + } - if (++current->lines_in > current->MyClass->GetFlood() && current->MyClass->GetFlood()) - { - ServerInstance->FloodQuitUser(current); - return; - } + if (++current->lines_in > current->MyClass->GetFlood() && current->MyClass->GetFlood()) + { + ServerInstance->FloodQuitUser(current); + return; + } - if ((++floodlines > current->MyClass->GetFlood()) && (current->MyClass->GetFlood() != 0)) - { - ServerInstance->FloodQuitUser(current); - return; + if ((++floodlines > current->MyClass->GetFlood()) && (current->MyClass->GetFlood() != 0)) + { + ServerInstance->FloodQuitUser(current); + return; + } } // use GetBuffer to copy single lines into the sanitized string @@ -284,16 +287,6 @@ bool CommandParser::ProcessCommand(User *user, std::string &cmd) return true; } - if (!user) - { - /* - * before, we went and found the command even with no user.. seems nonsensical. - * I'm not entirely sure when we would be passed NULL, but let's handle it - * anyway, by dropping it like a hot potato. -- w00t - */ - return true; - } - /* find the command, check it exists */ Commandable::iterator cm = cmdlist.find(command); @@ -309,17 +302,15 @@ bool CommandParser::ProcessCommand(User *user, std::string &cmd) if (!user->ExemptFromPenalty) { user->IncreasePenalty(cm->second->Penalty); - ServerInstance->Log(DEBUG,"Penalty for %s is now incremented to %d (%d added on)", user->nick, user->Penalty, cm->second->Penalty); do_more = (user->Penalty < 10); if (!do_more) - { user->OverPenalty = true; - ServerInstance->Log(DEBUG,"User %s now OVER penalty of 10", user->nick); - } } /* activity resets the ping pending timer */ - user->nping = ServerInstance->Time() + user->MyClass->GetPingTime(); + if (user->MyClass) + user->nping = ServerInstance->Time() + user->MyClass->GetPingTime(); + if (cm->second->flags_needed) { if (!user->IsModeSet(cm->second->flags_needed))