From c3e49ba3f999d28a480f8f66cc633d9ea968099f Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Thu, 31 May 2012 21:18:55 -0400 Subject: [PATCH] Clear privileges when deopering. ircd/s_user.c (set_user_mode): When a user deopers, revoke their oper privileges in addition to their oper user mode. --- ChangeLog | 5 +++++ ircd/s_user.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index 988981e..6400d2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-05-09 Michael Poole + + * ircd/s_user.c (set_user_mode): When a user deopers, revoke their + oper privileges in addition to their oper user mode. + 2012-05-09 Michael Poole * ircd/m_who.c (m_who): Only set WHOSELECT_EXTRA for current diff --git a/ircd/s_user.c b/ircd/s_user.c index a19691d..1f0e0d9 100644 --- a/ircd/s_user.c +++ b/ircd/s_user.c @@ -1128,7 +1128,10 @@ int set_user_mode(struct Client *cptr, struct Client *sptr, int parc, { if ((FlagHas(&setflags, FLAG_OPER) || FlagHas(&setflags, FLAG_LOCOP)) && !IsAnOper(sptr)) + { det_confs_butmask(sptr, CONF_CLIENT & ~CONF_OPERATOR); + client_set_privs(sptr, NULL); + } if (SendServNotice(sptr)) { -- 2.20.1