]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
Yay for documenting code....
authorJD Horelick <redacted>
Wed, 24 Mar 2010 01:20:07 +0000 (21:20 -0400)
committerJD Horelick <redacted>
Wed, 24 Mar 2010 01:20:07 +0000 (21:20 -0400)
help/opers/die
help/opers/restart
modules/core/m_die.c
modules/m_restart.c

index b81cce926aa4397bd059811c88a796ffd8a8dc5e..3854e0e61f93732b90e9f789cfb6e2519e37695a 100644 (file)
@@ -1,5 +1,7 @@
-DIE server.name
+DIE server.name [server.name]
 
-Terminates the IRC server
+Terminatess the IRC server. If a second server name
+is provided, remotely terminate that server. In this
+case, both server names must match.
 
 - Requires Oper Priv: D
index 868a470aa5a38ce89ddd251d0a4bda304a3d90a2..74eb237d7e7597cb3c6e133c5f14361f6b5291e9 100644 (file)
@@ -1,5 +1,7 @@
-RESTART server.name
+RESTART server.name [server.name]
 
-Restarts the IRC server.
+Restarts the IRC server. If a second server name
+is provided, remotely restart that server. In this
+case, both server names must match.
 
 - Requires Oper Priv: D
index b8b13bb792bf6422a4f0f67493eb4e38f8383107..50521214b459063f420d52efba9335ecdbfa3f17 100644 (file)
@@ -104,6 +104,13 @@ me_die(struct Client *client_p __unused, struct Client *source_p, int parc, cons
 static int
 do_die(struct Client *source_p, const char *servername)
 {
+       /* this makes sure both servernames match otherwise weirdness will occur */
+       if(irccmp(servername, me.name))
+       {
+               sendto_one_notice(source_p, ":Mismatch on /die %s", me.name);
+               return 0;
+       }
+
        ircd_shutdown(get_client_name(source_p, HIDE_IP));
 
        return 0;
index 71388fe5b8951709e665723daa2aa9cfb245acc9..2802880534f5920258bac45b04e27fcd08c45108 100644 (file)
@@ -111,6 +111,13 @@ do_restart(struct Client *source_p, const char *servername)
        rb_dlink_node *ptr;
        struct Client *target_p;
 
+       /* this makes sure both servernames match otherwise weirdness will occur */
+       if(irccmp(servername, me.name))
+       {
+               sendto_one_notice(source_p, ":Mismatch on /restart %s", me.name);
+               return 0;
+       }
+
        RB_DLINK_FOREACH(ptr, lclient_list.head)
        {
                target_p = ptr->data;