summaryrefslogtreecommitdiff
path: root/src/whois.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/whois.cpp')
-rw-r--r--src/whois.cpp13
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"))
{