mirror of
https://github.com/anope/anope.git
synced 2026-07-03 21:23:13 +02:00
Delete all users when we disconnect from the uplink
This commit is contained in:
@@ -551,6 +551,16 @@ int main(int ac, char **av, char **envp)
|
||||
unsigned j = 0;
|
||||
for (; j < (Config.MaxRetries ? Config.MaxRetries : j + 1); ++j)
|
||||
{
|
||||
/* Clear all of our users, but not our bots */
|
||||
for (user_map::const_iterator it = UserListByNick.begin(), it_end = UserListByNick.end(); it != it_end; )
|
||||
{
|
||||
User *u = it->second;
|
||||
++it;
|
||||
|
||||
if (!findbot(u->nick))
|
||||
delete u;
|
||||
}
|
||||
|
||||
Alog() << "Disconnected from the server, retrying in " << Config.RetryWait << " seconds";
|
||||
|
||||
sleep(Config.RetryWait);
|
||||
|
||||
@@ -105,9 +105,6 @@ Server::~Server()
|
||||
na->last_quit = (!QReason.empty() ? sstrdup(QReason.c_str()) : NULL);
|
||||
}
|
||||
|
||||
if (Config.LimitSessions && !u->server->IsULined())
|
||||
del_session(u->host);
|
||||
|
||||
delete u;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -221,6 +221,9 @@ User::~User()
|
||||
|
||||
while (!this->chans.empty())
|
||||
this->chans.front()->chan->DeleteUser(this);
|
||||
|
||||
if (Config.LimitSessions && !this->server->IsULined())
|
||||
del_session(this->host);
|
||||
|
||||
UserListByNick.erase(this->nick.c_str());
|
||||
if (!this->uid.empty())
|
||||
@@ -939,8 +942,6 @@ void do_quit(const char *source, int ac, const char **av)
|
||||
delete [] na->last_quit;
|
||||
na->last_quit = *av[0] ? sstrdup(av[0]) : NULL;
|
||||
}
|
||||
if (Config.LimitSessions && !user->server->IsULined())
|
||||
del_session(user->host);
|
||||
FOREACH_MOD(I_OnUserQuit, OnUserQuit(user, *av[0] ? av[0] : ""));
|
||||
delete user;
|
||||
}
|
||||
@@ -971,8 +972,6 @@ void do_kill(const std::string &nick, const std::string &msg)
|
||||
delete [] na->last_quit;
|
||||
na->last_quit = !msg.empty() ? sstrdup(msg.c_str()) : NULL;
|
||||
}
|
||||
if (Config.LimitSessions && !user->server->IsULined())
|
||||
del_session(user->host);
|
||||
delete user;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user