]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/chancmds/bandel.c
TRUSTS: use correct socket opt...
[irc/quakenet/newserv.git] / chanserv / chancmds / bandel.c
index 7c2a30e773c97870d277791066b7ad029ee8712a..7296b61024c6b71d6b454eaad5d45747dc251c59 100644 (file)
@@ -2,11 +2,18 @@
  *
  *
  * CMDNAME: bandel
+ * CMDALIASES: unban
  * CMDLEVEL: QCMD_AUTHED
  * CMDARGS: 2
  * CMDDESC: Removes a single ban from a channel.
  * CMDFUNC: csc_dobandel
  * CMDPROTO: int csc_dobandel(void *source, int cargc, char **cargv);
+ * CMDHELP: Usage: @UCOMMAND@ <channel> <ban>
+ * CMDHELP: Removes the specified persistent or channel ban, where:
+ * CMDHELP: channel - the channel to use
+ * CMDHELP: ban     - either a ban mask (nick!user@host), or #number (see BANLIST)
+ * CMDHELP: Removing channel bans requires operator (+o) access on the named channel.
+ * CMDHELP: Removing persistent bans requires master (+m) access on the named channel.
  */
 
 #include "../chanserv.h"
@@ -100,10 +107,12 @@ int csc_dobandel(void *source, int cargc, char **cargv) {
       i++;
       if ((banid  && (i==banid)) ||
          (theban && banequal(theban, cbp))) {
+        char *banmask = bantostring(cbp);
+
        /* got it - this is just a channel ban */
-       chanservstdmessage(sender, QM_REMOVEDCHANBAN, bantostring(cbp), cip->name->content);
+       chanservstdmessage(sender, QM_REMOVEDCHANBAN, banmask, cip->name->content);
        localsetmodeinit(&changes, cip->channel, chanservnick);
-       localdosetmode_ban(&changes, cargv[1], MCB_DEL);
+       localdosetmode_ban(&changes, banmask, MCB_DEL);
        localsetmodeflush(&changes, 1);
 
        if (theban)