summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2014-05-30 17:20:56 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2014-05-30 17:20:56 +0000
commit70536762f6d49857b7e12f0a51dea429be281def (patch)
tree83acd5a0e3106f26cb9850b077bdae272e0482eb
parent753d65c54b9d5aa920b7994c8e1e97a0a8f3cd88 (diff)
- channel_mode.c:chm_hop(): channel halfops (%) may now no longer (de)halfop other channel members
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@3712 82007160-df01-0410-b94d-b575c5fd34c7
-rw-r--r--NEWS1
-rw-r--r--src/channel_mode.c16
2 files changed, 2 insertions, 15 deletions
diff --git a/NEWS b/NEWS
index aeef9d0..022ca0a 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ o) Fixed CAP issue for certain clients
o) Fixed bug where "STATS p" would show an invalid amount of irc-operators
in case there are +H opers
o) irc-operators may now no longer set a channel +O if they are only halfops (%)
+o) Channel halfops (%) may now no longer (de)halfop other channel members
-- Noteworthy changes in version 8.1.17 (2014-05-01)
diff --git a/src/channel_mode.c b/src/channel_mode.c
index 1d057d2..8c10c39 100644
--- a/src/channel_mode.c
+++ b/src/channel_mode.c
@@ -1011,21 +1011,7 @@ chm_hop(struct Client *client_p, struct Client *source_p,
struct Client *targ_p;
struct Membership *member;
- /* *sigh* - dont allow halfops to set +/-h, they could fully control a
- * channel if there were no ops - it doesnt solve anything.. MODE_PRIVATE
- * when used with MODE_SECRET is paranoid - cant use +p
- *
- * it needs to be optional per channel - but not via +p, that or remove
- * paranoid.. -- fl_
- *
- * +p means paranoid, it is useless for anything else on modern IRC, as
- * list isn't really usable. If you want to have a private channel these
- * days, you set it +s. Halfops can no longer remove simple modes when
- * +p is set (although they can set +p) so it is safe to use this to
- * control whether they can (de)halfop...
- */
- if (alev <
- ((chptr->mode.mode & MODE_PRIVATE) ? CHACCESS_CHANOP : CHACCESS_HALFOP))
+ if (alev < CHACCESS_CHANOP)
{
if (!(*errors & SM_ERR_NOOPS))
sendto_one(source_p, form_str(alev == CHACCESS_NOTONCHAN ?