Permalink
Browse files

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.
  • Loading branch information...
alexbarton committed Aug 1, 2011
1 parent 2fd4266 commit 989c9fa531d83c9b1a302b222a4bcfeef767c2b6
Showing with 10 additions and 0 deletions.
  1. +10 −0 src/ngircd/irc-mode.c
@@ -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) {

0 comments on commit 989c9fa

Please sign in to comment.