[IRCServices] SET founder

Andrew Church achurch at achurch.org
Sun Nov 6 11:22:27 PST 2005


>When a services admin uses /cs set #chan password as a services admin and 
>not as founder services informs all the opers about this with globops.
>So if i want not to inform about a set pass i can just change the founder of 
>the channel to me and then "normally" /cs set #chan paassword.
>
>This is the logic of the whole thing.

     This is a good point.  What Services should really do is send a
wallops on any such use of servadmin privileges (if the appropriate
configuration option is set), but I'll wait for 5.1 to do a proper
implementation of that.  In the meantime, all founder changes, whether by a
servadmin or not, are logged to the logfile; if you also want wallops for
servadmin changes, the following patch (not tested) to 5.0.55 should do the
job.

  --Andrew Church
    achurch at achurch.org
    http://achurch.org/

---------------------------------------------------------------------------

Index: modules/chanserv/set.c
===================================================================
RCS file: /var/local/cvsroot/ircservices/modules/chanserv/set.c,v
retrieving revision 2.42.2.5
diff -u -r2.42.2.5 set.c
--- modules/chanserv/set.c	13 Aug 2005 04:13:10 -0000	2.42.2.5
+++ modules/chanserv/set.c	6 Nov 2005 02:41:55 -0000
@@ -196,6 +196,10 @@
 	notice_lang(s_ChanServ, u, CHAN_SET_FOUNDER_TOO_MANY_CHANS, param);
 	return;
     }
+    if (!is_founder(u, ci) && WallSetpass) {
+        wallops(s_ChanServ, "\2%s\2 set founder as Services admin for "
+                "channel \2%s\2", u->nick, ci->name);
+    }
     uncount_chan(ci);
     oldngi = get_ngi_id(ci->founder);
     module_log("Changing founder of %s from %s to %s by %s!%s@%s", ci->name,