diff options
author | Adam <Adam@anope.org> | 2016-01-19 16:25:02 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2016-01-19 16:25:02 -0500 |
commit | 164b349ef9cfbc0f275333b60b0786848ce0f2e7 (patch) | |
tree | 114794e4954cf8924f926f09f02f7ff69b984be4 /modules/commands/os_oper.cpp | |
parent | 4771af1cb89cd5d9a983d83e108b9fb8de9b5f52 (diff) |
Fix various inconsistencies/crashes related to having multiple opers configured for the same user through combinations of os_oper/config/m_sql_oper
Diffstat (limited to 'modules/commands/os_oper.cpp')
-rw-r--r-- | modules/commands/os_oper.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/commands/os_oper.cpp b/modules/commands/os_oper.cpp index 7b74af5ea..751c76cc9 100644 --- a/modules/commands/os_oper.cpp +++ b/modules/commands/os_oper.cpp @@ -135,6 +135,8 @@ class CommandOSOper : public Command source.Reply(_("Nick \002%s\002 is not a Services Operator."), oper.c_str()); else if (!HasPrivs(source, na->nc->o->ot)) source.Reply(ACCESS_DENIED); + else if (std::find(Config->Opers.begin(), Config->Opers.end(), na->nc->o) != Config->Opers.end()) + source.Reply(_("Oper \002%s\002 is configured in the configuration file(s) and can not be removed by this command."), na->nc->display.c_str()); else { delete na->nc->o; |