summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-04-28 11:47:22 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-04-28 11:47:22 +0000
commit14eb53d8c74fcea96bae3b4a624151f52b90a704 (patch)
treea77a15759f5a397345b1f3001822e582d42853f0
parentcca84014d463e70e3adb0b8b6504f6d0657dc1d7 (diff)
- Unidentified/unregistered nicks may not speak in +R channels
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@1915 82007160-df01-0410-b94d-b575c5fd34c7
-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;
}