]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Always enable modeless channels.
authorFlorian Westphal <fw@strlen.de>
Thu, 1 May 2008 16:00:33 +0000 (18:00 +0200)
committerAlexander Barton <alex@barton.de>
Thu, 1 May 2008 16:08:07 +0000 (18:08 +0200)
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.

src/ngircd/channel.c
src/ngircd/irc-channel.c
src/ngircd/irc-mode.c

index 7859238b447e2844b2c6cbcf8b38057362b20753..1b0e4424b2ff8882cbbfafd7b04aca65b0924b53 100644 (file)
@@ -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;
 
index 3f76452e48f93fafdf5a68b67686476d649e78fa..934c9082c8f4647bf41f0ceb1751c7ac93d50a31 100644 (file)
@@ -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))
index 3bf809bc0968adc90fa18edc4a4c053d85674395..f4e3e0f92696bde34fc02b76de825c99585ed00d 100644 (file)
@@ -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);