]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc-mode.c
Channel Admins are not allowed to set Channel Owner status!
[ngircd-alex.git] / src / ngircd / irc-mode.c
index 0ea046e561c9196f646006602f0a14362149f42f..b505aee5e2c8af6a9d9fe3d61675403a55cc948c 100644 (file)
@@ -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,