Przeglądaj źródła

* Fixed cmd_channel showing a user as an op in a +private chan where they might have not access.

svn: 1682
Bryan Drewery 21 lat temu
rodzic
commit
a89d4b523e
2 zmienionych plików z 5 dodań i 4 usunięć
  1. 1 0
      doc/UPDATES
  2. 4 4
      src/mod/irc.mod/cmdsirc.c

+ 1 - 0
doc/UPDATES

@@ -40,6 +40,7 @@ This is a summary of ChangeLog basically.
 * Detect botcmds from leaf bots (hijack).
 * WHO parsing was redundant and had a ton of inner loops per line, fixed.
 * Fixed a problem with leaf bots not chosing a hub when only 1 was set.
+* Fixed cmd_channel showing a user as an op in a +private chan where they might have not access.
 
 1.2
 * No longer displaying SALTS on ./bin -v

+ 4 - 4
src/mod/irc.mod/cmdsirc.c

@@ -1327,17 +1327,17 @@ static void cmd_channel(int idx, char *par)
         atrflag = 'A';
       else if (chan_autoop(user))
         atrflag = 'a';
-      else if (glob_op(user))
+      else if (glob_op(user) && !private(user, chan, PRIV_OP))
         atrflag = 'O';
-      else if (chan_op(user))
+      else if (chan_op(user) && !private(user, chan, PRIV_OP))
         atrflag = 'o';
       else if (glob_quiet(user))
         atrflag = 'Q';
       else if (chan_quiet(user))
         atrflag = 'q';
-      else if (glob_voice(user))
+      else if (glob_voice(user) && !private(user, chan, PRIV_VOICE))
         atrflag = 'V';
-      else if (chan_voice(user))
+      else if (chan_voice(user) && !private(user, chan, PRIV_VOICE))
         atrflag = 'v';
       else if (glob_kick(user))
         atrflag = 'K';