From 652b8478fb78e4a90dfa73dcdf486eb7c9a0b9cc Mon Sep 17 00:00:00 2001 From: jilles Date: Sat, 24 Feb 2007 11:34:28 -0800 Subject: [PATCH] [svn] Make oper_up() take +i/-i during opering up into account (e.g. no_oper_invis extension, +i in operator::umodes). Remove the hack from no_oper_invis. --- ChangeLog | 11 +++++++++++ extensions/no_oper_invis.c | 6 ++---- include/serno.h | 2 +- src/s_user.c | 6 +++++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6476157..e315180 100644 --- 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 diff --git a/extensions/no_oper_invis.c b/extensions/no_oper_invis.c index 6d7ec28..4638446 100644 --- a/extensions/no_oper_invis.c +++ b/extensions/no_oper_invis.c @@ -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--; } } diff --git a/include/serno.h b/include/serno.h index 0471cba..2f2a2f2 100644 --- a/include/serno.h +++ b/include/serno.h @@ -1 +1 @@ -#define SERNO "20070221-3213" +#define SERNO "20070224-3215" diff --git a/src/s_user.c b/src/s_user.c index 3dfd270..a6196d6 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -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));