X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fuserprocess.cpp;h=69c31f8400898caacd9d2b1f01090aa1ac4f9f82;hb=4c751dbbe8945e5efc230a59b0ed51c2ba10cf92;hp=72cee8f1e7ee8cab96aba951815406bd6b8a75d9;hpb=46a39046196f55b52336e19662bb7bac85b731ac;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/userprocess.cpp b/src/userprocess.cpp index 72cee8f1e..69c31f840 100644 --- a/src/userprocess.cpp +++ b/src/userprocess.cpp @@ -56,7 +56,7 @@ void InspIRCd::DoBackgroundUserStuff() /* * loop over all local users.. */ - std::vector::reverse_iterator count2 = this->Users->local_users.rbegin(); + LocalUserList::reverse_iterator count2 = this->Users->local_users.rbegin(); while (count2 != this->Users->local_users.rend()) { LocalUser *curr = *count2; @@ -104,10 +104,15 @@ void InspIRCd::DoBackgroundUserStuff() curr->FullConnect(); continue; } + + // If the user has been quit in OnCheckReady then we shouldn't + // quit them again for having a registration timeout. + if (curr->quitting) + continue; break; } - if (curr->registered != REG_ALL && (Time() > (curr->age + curr->MyClass->GetRegTimeout()))) + if (curr->registered != REG_ALL && curr->MyClass && (Time() > (curr->signon + curr->MyClass->GetRegTimeout()))) { /* * registration timeout -- didnt send USER/NICK/HOST