repo: ngircd
action: commit
revision: 
path_from: 
revision_from: f7c2e8223f95fd984e7b96308905eef505c01680:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit f7c2e8223f95fd984e7b96308905eef505c01680
Author: Florian Westphal 
Date:   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
index 7859238b447e2844b2c6cbcf8b38057362b20753..
index ..1b0e4424b2ff8882cbbfafd7b04aca65b0924b53 100644
--- 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
index 3f76452e48f93fafdf5a68b67686476d649e78fa..
index ..934c9082c8f4647bf41f0ceb1751c7ac93d50a31 100644
--- 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
index 3bf809bc0968adc90fa18edc4a4c053d85674395..
index ..f4e3e0f92696bde34fc02b76de825c99585ed00d 100644
--- 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-----