]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Remove bad check for channel op in m_auditorium, fixes bug #886
[user/henk/code/inspircd.git] / src / users.cpp
index c84bc00d9334f12d8f602b07e3fead71a0d48270..58948e21fe761cea8055933ae0f0b839e013c81a 100644 (file)
@@ -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;
@@ -776,7 +776,7 @@ void User::Oper(const std::string &opertype, const std::string &opername)
                this->AllowedUserModes['o' - 'A'] = true; // Call me paranoid if you want.
 
                std::string myclass, mycmd, mypriv;
-               irc::spacesepstream Classes(iter_opertype->second);
+               irc::spacesepstream Classes(iter_opertype->second.c_str());
                while (Classes.GetToken(myclass))
                {
                        operclass_t::iterator iter_operclass = ServerInstance->Config->operclass.find(myclass.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()
 {
 }