diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2010-03-22 22:30:21 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2010-03-22 22:30:21 +0000 |
commit | 950b9e70437ea1fe3ee5aafe8672fe3cbbe479ec (patch) | |
tree | 20b14ee26c89eb54e9cde6daad4cf24c079e2826 /src/whois.cpp | |
parent | 19963bd452eac3c9fc52b3ee60fbf1a81efed7d3 (diff) |
Change <security:operspywhois> to a tristate
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12653 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/whois.cpp')
-rw-r--r-- | src/whois.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/whois.cpp b/src/whois.cpp index 8f85d86cc..4aa5e4726 100644 --- a/src/whois.cpp +++ b/src/whois.cpp @@ -23,16 +23,13 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon std::string cl = dest->ChannelList(user, false); - if (cl.length()) - user->SplitChanList(dest,cl); - if (IS_OPER(user) && ServerInstance->Config->OperSpyWhois) + user->SplitChanList(dest,cl); + if (user->HasPrivPermission("users/auspex") && ServerInstance->Config->OperSpyWhois != ServerConfig::SPYWHOIS_NONE) { std::string scl = dest->ChannelList(user, true); - if (scl.length()) - { - this->SendWhoisLine(user, dest, 336, "%s %s :is on private/secret channels:",user->nick.c_str(), dest->nick.c_str()); - user->SplitChanList(dest,scl); - } + if (scl.length() && ServerInstance->Config->OperSpyWhois == ServerConfig::SPYWHOIS_SPLITMSG) + SendWhoisLine(user, dest, 336, "%s %s :is on private/secret channels:",user->nick.c_str(), dest->nick.c_str()); + user->SplitChanList(dest,scl); } if (user != dest && !this->Config->HideWhoisServer.empty() && !user->HasPrivPermission("servers/auspex")) { |