commit 23b07bdf50ef5cc7b57c057b6088e4f5e4d7d6da from: DNS777 via: Alexander Barton date: Sat Oct 06 17:52:15 2012 UTC Allow channel admins to "de-admin" channel members This patch fixes unsetting of channel user mode "+a" (channel admin) and adds a better error message: without this patch, a channel admin is unable to unset this mode. This closes bug #142. commit - 46b0eef721b9b3eec37d29aff65b6a7fc488a887 commit + 23b07bdf50ef5cc7b57c057b6088e4f5e4d7d6da blob - 90f638d811219282b34af51c8cf8369e7548e4f7 blob + 04f50d77f8d3f5f832912f62dbd1b33211652ab5 --- src/ngircd/irc-mode.c +++ src/ngircd/irc-mode.c @@ -697,9 +697,9 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori /* --- Channel user modes --- */ case 'q': /* Owner */ case 'a': /* Channel admin */ - if(!is_oper && !is_machine && !is_owner) { + if(!is_oper && !is_machine && !is_owner && !is_admin) { connected = IRC_WriteStrClient(Origin, - ERR_CHANOPRIVSNEEDED_MSG, + ERR_CHANOPPRIVTOOLOW_MSG, Client_ID(Origin), Channel_Name(Channel)); goto chan_exit;