diff options
Diffstat (limited to 'src/users.cpp')
-rw-r--r-- | src/users.cpp | 9 |
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; } |