summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/users.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 96a3539de..09529bb5f 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -462,9 +462,16 @@ bool User::IsServicesOper()
{
bool match = false;
Anope::string match_host = this->GetIdent() + "@" + this->host;
+ Anope::string match_ip = this->GetIdent() + "@" + this->ip.addr();
for (unsigned i = 0; i < this->nc->o->hosts.size(); ++i)
- if (Anope::Match(match_host, this->nc->o->hosts[i]))
+ {
+ const Anope::string &userhost = this->nc->o->hosts[i];
+ if (Anope::Match(match_host, userhost) || Anope::Match(match_ip, userhost))
+ {
match = true;
+ break;
+ }
+ }
if (match == false)
return false;
}