Reported by The_Myth in https://bugs.unrealircd.org/view.php?id=5123
if (!MyConnect(acptr))
continue; /* only locally connected clients */
- if (chanops_only && !(lp->flags & (CHFL_CHANOP|CHFL_CHANOWNER|CHFL_CHANPROT)) && (sptr != acptr))
+ if (chanops_only && !(lp->flags & (CHFL_HALFOP|CHFL_CHANOP|CHFL_CHANOWNER|CHFL_CHANPROT)) && (sptr != acptr))
continue; /* skip non-ops if requested to (used for mode +D), but always send to 'sptr' */
if (acptr->local->proto & PROTO_CAP_EXTENDED_JOIN)
for (lp = chptr->members; lp; lp = lp->next)
{
acptr = lp->cptr;
- if (acptr == one || !(lp->flags & (CHFL_CHANOP|CHFL_CHANOWNER|CHFL_CHANPROT)))
+ if (acptr == one || !(lp->flags & (CHFL_HALFOP|CHFL_CHANOP|CHFL_CHANOWNER|CHFL_CHANPROT)))
continue; /* ...was the one I should skip
or user not not a channel op */
if (MyConnect(acptr) && IsRegisteredUser(acptr))