summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--src/channel.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 9793a9b..ea4f274 100644
--- a/NEWS
+++ b/NEWS
@@ -38,6 +38,7 @@ o) Added support for "away-notify" client capability
o) "STATS s" now shows configured services{} blocks as well
o) Fixed compile warnings, minor code cleanups and optimizations
o) Increased nickname history length to 32768
+o) Unidentified/unregistered nicks may not speak in +R channels
-- ircd-hybrid-8.0.7 Release Notes
diff --git a/src/channel.c b/src/channel.c
index f20b4c1..efc64d1 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -747,6 +747,9 @@ can_send(struct Channel *chptr, struct Client *source_p, struct Membership *ms)
if (chptr->mode.mode & MODE_MODERATED)
return ERR_CANNOTSENDTOCHAN;
+ if ((chptr->mode.mode & MODE_REGONLY) && !HasUMode(source_p, UMODE_REGISTERED))
+ return ERR_NEEDREGGEDNICK;
+
return CAN_SEND_NONOP;
}