1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 12:23:13 +02:00

Usermode +d (deaf) was broken. Clients were still receiving channel messages.

Reported by acidvegas, patch from Gottem (#4764).
This commit is contained in:
Bram Matthys
2016-11-10 09:09:33 +01:00
parent 02d000f051
commit f0015ee639
+4 -4
View File
@@ -362,12 +362,12 @@ void sendto_channelprefix_butone(aClient *one, aClient *from, aChannel *chptr,
for (lp = chptr->members; lp; lp = lp->next)
{
acptr = lp->cptr;
if (acptr->from == one)
continue; /* ...was the one I should skip
or user not not a channel op */
/* skip the one and deaf clients (unless sendanyways is set) */
if (acptr->from == one || (IsDeaf(acptr) && !(sendanyways == 1)))
continue;
if (!prefix)
goto good;
if ((prefix & PREFIX_HALFOP) && (lp->flags & CHFL_HALFOP))
if ((prefix & PREFIX_HALFOP) && (lp->flags & CHFL_HALFOP))
goto good;
if ((prefix & PREFIX_VOICE) && (lp->flags & CHFL_VOICE))
goto good;