commit f7c2e8223f95fd984e7b96308905eef505c01680 from: Florian Westphal via: Alexander Barton date: Thu May 01 16:08:07 2008 UTC Always enable modeless channels. Modeless channels (+channels) are described in RFC 2811; so my modifications to 530112b114ffa7d5352c0733790ddf90253f41f9 ('Add support for modeless channels') to disable +channels for --strict-rfc configurations were wrong. This reverts those changes. commit - 60acc62af79579ed72013a7a0e1c36ba2e8fb130 commit + f7c2e8223f95fd984e7b96308905eef505c01680 blob - 7859238b447e2844b2c6cbcf8b38057362b20753 blob + 1b0e4424b2ff8882cbbfafd7b04aca65b0924b53 --- src/ngircd/channel.c +++ src/ngircd/channel.c @@ -480,14 +480,8 @@ Channel_IsValidName( const char *Name ) { assert( Name != NULL ); - switch (Name[0]) { - case '#': break; -#ifndef STRICT_RFC - case '+': /* modeless channel */ - break; -#endif - default: return false; - } + if (strchr("+#", Name[0]) == NULL) + return false; if (strlen(Name) >= CHANNEL_NAME_LEN) return false; blob - 3f76452e48f93fafdf5a68b67686476d649e78fa blob + 934c9082c8f4647bf41f0ceb1751c7ac93d50a31 --- src/ngircd/irc-channel.c +++ src/ngircd/irc-channel.c @@ -242,10 +242,9 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req ) if (!chan) { /* * New Channel: first user will be channel operator - * unless this is a modeless channel... */ -#ifndef STRICT_RFC + * unless this is a modeless channel. + */ if (*channame != '+') -#endif flags = "o"; } else if (!join_allowed(Client, target, chan, channame, key)) blob - 3bf809bc0968adc90fa18edc4a4c053d85674395 blob + f4e3e0f92696bde34fc02b76de825c99585ed00d --- src/ngircd/irc-mode.c +++ src/ngircd/irc-mode.c @@ -286,12 +286,11 @@ Channel_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Or long l; size_t len; -#ifndef STRICT_RFC /* Are modes allowed on channel? */ if (Channel_Name(Channel)[0] == '+') return IRC_WriteStrClient(Client, ERR_NOCHANMODES_MSG, Client_ID(Client), Channel_Name(Channel)); -#endif + /* Mode request: let's answer it :-) */ if (Req->argc <= 1) return Channel_Mode_Answer_Request(Origin, Channel);