summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2009-08-03 21:44:12 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2009-08-03 21:44:12 +0000
commitcdb8a029dc4fcc28b2d84f63a0f3eda42b99f526 (patch)
tree124120edbda385082ed907c8684c332e9ed55b6f
parent9c5fa4bd60ff800850922dd2b26cd2865b2ad751 (diff)
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
-rw-r--r--src/users.cpp7
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())
{