]> arthur.barton.de Git - ngircd.git/commitdiff
Update error messages for user mode +b and channel Mode +M.
authorDNS777 <dns@rbose.org>
Fri, 19 Oct 2012 16:37:33 +0000 (18:37 +0200)
committerAlexander Barton <alex@barton.de>
Fri, 19 Oct 2012 16:38:46 +0000 (18:38 +0200)
Replaced error message for channel mode +M with ERR_NEEDREGGEDNICK_MSG
(used by Bahamut, inspircd, ircu & Unreal too) and using numeric 477
and the msg simliar like inspircd.

Replaced the error message ERR_CANNOTSENDTONICK_MSG for user mode +b
with ERR_NONONREG_MSG and using numeric 486, similar like unrealircd.

(cherry picked from commit 55a61ab17f63a9e757b7c7598c31b98ce5a132e8
and commit 3737d9ab7da1ea0485cefc07c65dc5308bf0db02)

src/ngircd/channel.c
src/ngircd/irc.c
src/ngircd/messages.h
src/testsuite/message-test.e

index f3c74dc651f10abf72aab2d0ce5856da8a5e6c5e..00aafe05a170102a3e22053af73861b50b14e112 100644 (file)
@@ -918,7 +918,11 @@ Channel_Write(CHANNEL *Chan, CLIENT *From, CLIENT *Client, const char *Command,
        if (!Can_Send_To_Channel(Chan, From)) {
                if (! SendErrors)
                        return CONNECTED;       /* no error, see RFC 2812 */
-               return IRC_WriteStrClient(From, ERR_CANNOTSENDTOCHAN_MSG,
+               if (strchr(Channel_Modes(Chan), 'M'))
+                       return IRC_WriteStrClient(From, ERR_NEEDREGGEDNICK_MSG,
+                                                 Client_ID(From), Channel_Name(Chan));
+               else
+                       return IRC_WriteStrClient(From, ERR_CANNOTSENDTOCHAN_MSG,
                                          Client_ID(From), Channel_Name(Chan));
        }
 
index 1a57bec16274e96a78077829126cd9c086a1e3e4..9d9d3f026fcedfaf47b6475727e376acb768721e 100644 (file)
@@ -506,7 +506,7 @@ Send_Message(CLIENT * Client, REQUEST * Req, int ForceType, bool SendErrors)
                            !(Client_Type(from) == CLIENT_SERVER) &&
                            !(Client_Type(from) == CLIENT_SERVICE)) {
                                if (SendErrors && !IRC_WriteStrClient(from,
-                                               ERR_CANNOTSENDTONICK_MSG,
+                                               ERR_NONONREG_MSG,
                                                Client_ID(from), Client_ID(cl)))
                                        return DISCONNECTED;
                                goto send_next_target;
index 59e9605d97f8b7a52a68fcdd863cefa0ef8c05e5..a6a6d8c24559457d70adacc5cffb78dc3152f214 100644 (file)
 #define ERR_BANNEDFROMCHAN_MSG         "474 %s %s :Cannot join channel (+b) -- You are banned"
 #define ERR_BADCHANNELKEY_MSG          "475 %s %s :Cannot join channel (+k) -- Wrong channel key"
 #define ERR_NOCHANMODES_MSG            "477 %s %s :Channel doesn't support modes"
+#define ERR_NEEDREGGEDNICK_MSG         "477 %s %s :Cannot send to channel (+M) -- You need to be identified to a registered account to message this channel"
 #define ERR_LISTFULL_MSG               "478 %s %s %s: Channel list is full (%d)"
 #define ERR_NOPRIVILEGES_MSG           "481 %s :Permission denied"
 #define ERR_CHANOPRIVSNEEDED_MSG       "482 %s %s :You are not channel operator"
 #define ERR_CANTKILLSERVER_MSG         "483 %s :You can't kill a server!"
 #define ERR_RESTRICTED_MSG             "484 %s :Your connection is restricted"
 #define ERR_NICKREGISTER_MSG           "484 %s :Cannot modify user mode (+R) -- Use IRC services"
+#define ERR_NONONREG_MSG               "486 %s :Cannot send to user (+b) -- You must identify to a registered nick to private message %s"
 #define ERR_NOOPERHOST_MSG             "491 %s :Not configured for your host"
 #define ERR_NOTONSAMECHANNEL_MSG       "493 %s :You must share a common channel with %s"
 
 #define ERR_UMODEUNKNOWNFLAG2_MSG      "501 %s :Unknown mode \"%c%c\""
 #define ERR_USERSDONTMATCH_MSG         "502 %s :Can't set/get mode for other users"
 #define ERR_NOINVITE_MSG               "518 %s :Cannot invite to %s (+V)"
-#define ERR_CANNOTSENDTONICK_MSG       "976 %s :Cannot send to user (+b) -- Only registered users can message %s"
 
 #ifdef ZLIB
 # define RPL_STATSLINKINFOZIP_MSG      "211 %s %s %d %ld %ld/%ld %ld %ld/%ld :%ld"
index 4cbc066eec5a0c3fd3fa589a32346eddce4e3e6f..6e63bb5225dd52976f317756438b438eb5019d5b 100644 (file)
@@ -61,7 +61,7 @@ expect {
 send "privmsg nick :test\r"
 expect {
        timeout { exit 1 }
-       "976"
+       "486"
 }
 send "mode nick -b\r"
 expect {