From cdb8a029dc4fcc28b2d84f63a0f3eda42b99f526 Mon Sep 17 00:00:00 2001 From: w00t Date: Mon, 3 Aug 2009 21:44:12 +0000 Subject: Comment on what looks like incorrect behaviour in User::Oper(). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11477 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/users.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/users.cpp b/src/users.cpp index 2871653bb..26a790dfa 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -758,6 +758,13 @@ void User::Oper(const std::string &opertype, const std::string &opername) this->oper.assign(opertype, 0, 512); ServerInstance->Users->all_opers.push_back(this); + /* + * This might look like it's in the wrong place. + * It is *not*! + * + * For multi-network servers, we may not have the opertypes of the remote server, but we still want to mark the user as an oper of that type. + * -- w00t + */ opertype_t::iterator iter_opertype = ServerInstance->Config->opertypes.find(this->oper.c_str()); if (iter_opertype != ServerInstance->Config->opertypes.end()) { -- cgit v1.2.3