summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/ngircd/irc-mode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
index 0ea046e5..b505aee5 100644
--- a/src/ngircd/irc-mode.c
+++ b/src/ngircd/irc-mode.c
@@ -740,6 +740,13 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
 			break;
 		/* --- Channel user modes --- */
 		case 'q': /* Owner */
+			if(!is_oper && !is_machine && !is_owner) {
+				connected = IRC_WriteErrClient(Origin,
+					ERR_CHANOPPRIVTOOLOW_MSG,
+					Client_ID(Origin),
+					Channel_Name(Channel));
+				goto chan_exit;
+			}
 		case 'a': /* Channel admin */
 			if(!is_oper && !is_machine && !is_owner && !is_admin) {
 				connected = IRC_WriteErrClient(Origin,