repo: ngircd action: commit revision: path_from: revision_from: f7c2e8223f95fd984e7b96308905eef505c01680: path_to: revision_to:
commit f7c2e8223f95fd984e7b96308905eef505c01680 Author: Florian WestphalDate: Thu May 1 18:00:33 2008 +0200 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. diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c
--- a/src/ngircd/channel.c
+++ b/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;
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
--- a/src/ngircd/irc-channel.c
+++ b/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))
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
--- a/src/ngircd/irc-mode.c +++ b/src/ngircd/irc-mode.c @@ -286,12 +286,11 @@ Channel_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel ) 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);
-----END OF PAGE-----