diff options
author | Jackmcbarn <jackmcbarn@jackmcbarn.no-ip.org> | 2010-12-23 14:50:11 -0500 |
---|---|---|
committer | Jackmcbarn <jackmcbarn@jackmcbarn.no-ip.org> | 2010-12-23 14:50:11 -0500 |
commit | 0afcb5ce884359d7b9dded7b7ff47b262a7a5335 (patch) | |
tree | 51e7f45970188b52cacccef401dbe910e6d20172 /src/whois.cpp | |
parent | 465ddddb343938cc0e683f77cd1697f9db0d5ae3 (diff) |
Fix bug #113
Diffstat (limited to 'src/whois.cpp')
-rw-r--r-- | src/whois.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/whois.cpp b/src/whois.cpp index 4aa5e4726..27b07c944 100644 --- a/src/whois.cpp +++ b/src/whois.cpp @@ -22,14 +22,21 @@ void InspIRCd::DoWhois(User* user, User* dest,unsigned long signon, unsigned lon } std::string cl = dest->ChannelList(user, false); + const ServerConfig::OperSpyWhoisState state = user->HasPrivPermission("users/auspex") ? ServerInstance->Config->OperSpyWhois : ServerConfig::SPYWHOIS_NONE; + + if (state == ServerConfig::SPYWHOIS_SINGLEMSG) + cl.append(dest->ChannelList(user, true)); user->SplitChanList(dest,cl); - if (user->HasPrivPermission("users/auspex") && ServerInstance->Config->OperSpyWhois != ServerConfig::SPYWHOIS_NONE) + + if (state == ServerConfig::SPYWHOIS_SPLITMSG) { std::string scl = dest->ChannelList(user, true); - if (scl.length() && ServerInstance->Config->OperSpyWhois == ServerConfig::SPYWHOIS_SPLITMSG) + if (scl.length()) + { SendWhoisLine(user, dest, 336, "%s %s :is on private/secret channels:",user->nick.c_str(), dest->nick.c_str()); - user->SplitChanList(dest,scl); + user->SplitChanList(dest,scl); + } } if (user != dest && !this->Config->HideWhoisServer.empty() && !user->HasPrivPermission("servers/auspex")) { |