X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fusers.cpp;h=2871653bb5e16f6d23b40282cf6b09eb01fb1be8;hb=0eabe028e25de0cf5037f523a8df72f1dd7e85bf;hp=15e1ab72b5ebf79e57d0f475863332e90b80a1bf;hpb=1735fc95bba84044d43d4490bd5916d0a52eb876;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/users.cpp b/src/users.cpp index 15e1ab72b..2871653bb 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -330,7 +330,7 @@ void User::CloseSocket() } } -const std::string& User::GetFullHost() +const std::string User::GetFullHost() { if (!this->cached_fullhost.empty()) return this->cached_fullhost; @@ -379,7 +379,7 @@ int User::ReadData(void* buffer, size_t size) } -const std::string& User::GetFullRealHost() +const std::string User::GetFullRealHost() { if (!this->cached_fullrealhost.empty()) return this->cached_fullrealhost; @@ -1865,7 +1865,7 @@ ConnectClass* User::SetClass(const std::string &explicit_name) } /* check if host matches.. */ - if (!InspIRCd::MatchCIDR(this->GetIPString(), c->GetHost(), NULL) && + if (c->GetHost().length() && !InspIRCd::MatchCIDR(this->GetIPString(), c->GetHost(), NULL) && !InspIRCd::MatchCIDR(this->host, c->GetHost(), NULL)) { ServerInstance->Logs->Log("CONNECTCLASS", DEBUG, "No host match (for %s)", c->GetHost().c_str()); @@ -2045,6 +2045,26 @@ void User::DecreasePenalty(int decrease) this->Penalty -= decrease; } +void FakeUser::SetFakeServer(std::string name) +{ + this->nick = name; + this->server = nick.c_str(); +} + +const std::string FakeUser::GetFullHost() +{ + if (*ServerInstance->Config->HideWhoisServer) + return ServerInstance->Config->HideWhoisServer; + return nick; +} + +const std::string FakeUser::GetFullRealHost() +{ + if (*ServerInstance->Config->HideWhoisServer) + return ServerInstance->Config->HideWhoisServer; + return nick; +} + VisData::VisData() { }