[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.
This commit is contained in:
jilles 2007-02-24 11:34:28 -08:00
parent af6ca5f5e5
commit 652b8478fb
4 changed files with 19 additions and 6 deletions

View File

@ -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

View 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--;
}
}

View File

@ -1 +1 @@
#define SERNO "20070221-3213"
#define SERNO "20070224-3215"

View 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));