mirror of
https://github.com/osmarks/ngircd.git
synced 2025-08-30 09:17:58 +00:00
Handle channel user modes 'a', 'h', and 'q' from remote servers
These channel user modes aren't used for anything at the moment, but ngIRCd knows that these three modes are "channel user modes" and not "channel modes", that is that these modes take an "nick name" argument. Like unknown user and channel modes, these modes are saved and forwarded, but ignored otherwise.
This commit is contained in:
@@ -594,6 +594,16 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
|
||||
Channel_Name(Channel));
|
||||
break;
|
||||
/* --- Channel user modes --- */
|
||||
case 'a':
|
||||
case 'h':
|
||||
case 'q':
|
||||
if (Client_Type(Client) != CLIENT_SERVER) {
|
||||
connected = IRC_WriteStrClient(Origin,
|
||||
ERR_CHANOPRIVSNEEDED_MSG,
|
||||
Client_ID(Origin),
|
||||
Channel_Name(Channel));
|
||||
goto chan_exit;
|
||||
}
|
||||
case 'o': /* Channel operator */
|
||||
case 'v': /* Voice */
|
||||
if (arg_arg > mode_arg) {
|
||||
|
Reference in New Issue
Block a user