summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/channel.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/channel.c b/src/channel.c
index 8fc16a5..dfd8b8b 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -747,6 +747,8 @@ can_send(struct Channel *chptr, struct Client *source_p,
if (ms || (ms = find_channel_link(source_p, chptr)))
if (ms->flags & (CHFL_CHANOP|CHFL_HALFOP|CHFL_VOICE))
return CAN_SEND_OPV;
+ if (!ms && (chptr->mode.mode & MODE_NOPRIVMSGS))
+ return ERR_CANNOTSENDTOCHAN;
if (chptr->mode.mode & MODE_MODERATED)
return ERR_CANNOTSENDTOCHAN;
if ((chptr->mode.mode & MODE_MODREG) && !HasUMode(source_p, UMODE_REGISTERED))