From 46a3afadb9fbb78e96222cf7d4e494dbcbf66c44 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 11 Mar 2011 17:09:49 -0500 Subject: Fixed validating users on all server syncs --- modules/protocol/plexus.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'modules/protocol/plexus.cpp') diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index d1062182f..a538479db 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -554,15 +554,7 @@ bool event_eob(const Anope::string &source, const std::vector &pa { Server *s = Server::Find(source); if (s) - { s->Sync(true); - for (patricia_tree::iterator it(UserListByNick); it.next();) - { - User *u = *it; - if (u->server == s && !u->IsIdentified()) - validate_user(u); - } - } return true; } @@ -644,6 +636,19 @@ class ProtoPlexus : public Module pmodule_ircd_message(&this->ircd_message); this->AddModes(); + + Implementation i[] = { I_OnServerSync }; + ModuleManager::Attach(i, this, 1); + } + + void OnServerSync(Server *s) + { + for (patricia_tree::iterator it(UserListByNick); it.next();) + { + User *u = *it; + if (u->server == s && !u->IsIdentified()) + validate_user(u); + } } }; -- cgit