diff options
| author | 2014-01-21 18:44:08 +0100 | |
|---|---|---|
| committer | 2014-01-21 18:44:08 +0100 | |
| commit | e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804 (patch) | |
| tree | 5a69b0efe6c0b7ab88925d3d066271ec40845e23 /src/channels.cpp | |
| parent | m_spanningtree Fix routing of ROUTE_TYPE_MESSAGE messages (diff) | |
| parent | Release 2.0.15 (diff) | |
| download | inspircd++-e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804.tar.gz inspircd++-e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804.tar.bz2 inspircd++-e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804.zip | |
Merge insp20
Diffstat (limited to 'src/channels.cpp')
| -rw-r--r-- | src/channels.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 563bc2704..5865f6724 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -654,7 +654,8 @@ const char* Channel::ChanModes(bool showkey) */ void Channel::UserList(User *user) { - if (this->IsModeSet(secretmode) && !this->HasUser(user) && !user->HasPrivPermission("channels/auspex")) + bool has_privs = user->HasPrivPermission("channels/auspex"); + if (this->IsModeSet(secretmode) && !this->HasUser(user) && !has_privs) { user->WriteNumeric(ERR_NOSUCHNICK, "%s :No such nick/channel", this->name.c_str()); return; @@ -679,7 +680,7 @@ void Channel::UserList(User *user) { if (i->first->quitting) continue; - if ((!has_user) && (i->first->IsModeSet(invisiblemode))) + if ((!has_user) && (i->first->IsModeSet(invisiblemode)) && (!has_privs)) { /* * user is +i, and source not on the channel, does not show |
