Skip to content

Commit

Permalink
Extend oper:override for +f oper requirement
Browse files Browse the repository at this point in the history
  • Loading branch information
supertassu committed Feb 1, 2021
1 parent 4863b35 commit 33ca5e7
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
1 change: 1 addition & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ bolded warnings in the full release notes below.
- Add extensions/drain to reject new connections
- Add extensions/filter to filter messages, parts and quits with a Hyperscan database
- Add extensions/sasl\_usercloak to interpolate SASL account names into I-line spoofs
- oper:override now overrides chanop requirement with cmode +f (forward).

### conf
- **Breaking:** Completely overhaul oper privs. All privset configs will need to be rewritten.
Expand Down
5 changes: 3 additions & 2 deletions ircd/chmode.c
Original file line number Diff line number Diff line change
Expand Up @@ -515,8 +515,9 @@ check_forward(struct Client *source_p, struct Channel *chptr,
}
if(MyClient(source_p) && !(targptr->mode.mode & MODE_FREETARGET))
{
if((msptr = find_channel_membership(targptr, source_p)) == NULL ||
get_channel_access(source_p, targptr, msptr, MODE_QUERY, NULL) < CHFL_CHANOP)
if(!HasPrivilege(source_p, "oper:override")
&& ((msptr = find_channel_membership(targptr, source_p)) == NULL ||
get_channel_access(source_p, targptr, msptr, MODE_QUERY, NULL) < CHFL_CHANOP))
{
sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED),
me.name, source_p->name, targptr->chname);
Expand Down

0 comments on commit 33ca5e7

Please sign in to comment.