diff options
-rw-r--r-- | src/users.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
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()) { |