]> jfr.im git - solanum.git/commitdiff
[svn] Make oper_up() take +i/-i during opering up into account
authorjilles <redacted>
Sat, 24 Feb 2007 19:34:28 +0000 (11:34 -0800)
committerjilles <redacted>
Sat, 24 Feb 2007 19:34:28 +0000 (11:34 -0800)
(e.g. no_oper_invis extension, +i in operator::umodes).
Remove the hack from no_oper_invis.

ChangeLog
extensions/no_oper_invis.c
include/serno.h
src/s_user.c

index 6476157082dbf732962b51013156a285ff81de39..e31518089491025f73a455a28794d030c8acf2fa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+jilles      2007/02/24 18:35:58 UTC    (20070224-3215)
+  Log:
+  no_oper_invis: decrement invisible count when clearing
+  invisible on a local client who has just opered up
+  oper_up() should really do this
+  
+
+  Changes:     Modified:
+  +2 -0                trunk/extensions/no_oper_invis.c (File Modified) 
+
+
 jilles      2007/02/21 19:52:51 UTC    (20070221-3213)
   Log:
   Put "End of Channel Quiet List" instead of
index 6d7ec28759662ec078dbf3305a5aed239290f7bb..46384465aad16b8c5a1567252731c6f76dc09342 100644 (file)
@@ -3,7 +3,7 @@
  * hidden_oper privilege).
  * -- jilles
  *
- * $Id: no_oper_invis.c 3215 2007-02-24 18:35:58Z jilles $
+ * $Id: no_oper_invis.c 3219 2007-02-24 19:34:28Z jilles $
  */
 
 #include "stdinc.h"
@@ -22,7 +22,7 @@ mapi_hfn_list_av1 noi_hfnlist[] = {
        { NULL, NULL }
 };
 
-DECLARE_MODULE_AV1(no_oper_invis, NULL, NULL, NULL, NULL, noi_hfnlist, "$Revision: 3215 $");
+DECLARE_MODULE_AV1(no_oper_invis, NULL, NULL, NULL, NULL, noi_hfnlist, "$Revision: 3219 $");
 
 static void
 h_noi_umode_changed(hook_data_umode_changed *hdata)
@@ -37,7 +37,5 @@ h_noi_umode_changed(hook_data_umode_changed *hdata)
                 * if they opered up while invisible -- jilles */
                if (hdata->oldumodes & UMODE_OPER)
                        sendto_one_notice(source_p, ":*** Opers may not set themselves invisible");
-               else /* XXX oper_up() should really do this */
-                       Count.invisi--;
        }
 }
index 0471cba149b239d747284d6a1d8959a8463af500..2f2a2f21eda88c4f8b9086dbd265b1ef43aa2e06 100644 (file)
@@ -1 +1 @@
-#define SERNO "20070221-3213"
+#define SERNO "20070224-3215"
index 3dfd2706b787f3b1d9b781e5e276bbec04f1214c..a6196d6028f142cb6b24e3c38ed6f0b4c0e037a8 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.c 3203 2007-02-04 15:08:04Z jilles $
+ *  $Id: s_user.c 3219 2007-02-24 19:34:28Z jilles $
  */
 
 #include "stdinc.h"
@@ -1307,6 +1307,10 @@ oper_up(struct Client *source_p, struct oper_conf *oper_p)
        sendto_realops_snomask(SNO_GENERAL, L_ALL,
                             "%s (%s@%s) is now an operator", source_p->name,
                             source_p->username, source_p->host);
+       if(!(old & UMODE_INVISIBLE) && IsInvisible(source_p))
+               ++Count.invisi;
+       if((old & UMODE_INVISIBLE) && !IsInvisible(source_p))
+               --Count.invisi;
        send_umode_out(source_p, source_p, old);
        sendto_one(source_p, form_str(RPL_SNOMASK), me.name, source_p->name,
                   construct_snobuf(source_p->snomask));