Bladeren bron

* Port [3164] to 1.2.13
* Fix cmd_console not working for +private channels correctly (fixes #325)


svn: 3165

Bryan Drewery 19 jaren geleden
bovenliggende
commit
7cc05715ea
2 gewijzigde bestanden met toevoegingen van 5 en 8 verwijderingen
  1. 1 0
      doc/UPDATES
  2. 4 8
      src/cmds.c

+ 1 - 0
doc/UPDATES

@@ -18,6 +18,7 @@ Lines prefixed with '-' were disabled before release and are not finished, or ar
 * Minor documentation change for cmd_newleaf. (fixes #291)
 * Fix cmd_chattr accepting invalid flags. (fixes #293)
 * See 'help whois' as some flags are now user, bot, chan, global only.
+* Fix cmd_console not working for +private channels correctly (fixes #325)
 
 1.2.12 - http://wraith.shatow.net/milestone/1.2.12
 * Clearing a variable via 'set var -' now resets that variable to default settings. (implements #111)

+ 4 - 8
src/cmds.c

@@ -979,19 +979,15 @@ static void cmd_console(int idx, char *par)
   if ((nick [0] == '+' && findchan_by_dname(nick)) ||
       (nick [0] != '+' && strchr(CHANMETA "*", nick[0]))) {
     chan = findchan_by_dname(nick);
-    if (strcmp(nick, "*") && !chan) {
-      dprintf(idx, "Invalid console channel: %s.\n", nick);
-      return;
-    }
 
-    if (strcmp(nick, "*") && privchan(fr, findchan_by_dname(nick), PRIV_OP)) {
+    get_user_flagrec(dcc[idx].user, &fr, nick);
+
+    if (strcmp(nick, "*") && (!chan || privchan(fr, chan, PRIV_OP))) {
       dprintf(idx, "Invalid console channel: %s.\n", nick);
       return;
     }
 
-    get_user_flagrec(dcc[idx].user, &fr, nick);
-
-    if (!chk_op(fr, findchan_by_dname(nick))) {
+    if (!chk_op(fr, chan)) {
       dprintf(idx, "You don't have op or master access to channel %s.\n", nick);
       return;
     }