]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Send RPL_SAVENICK from irc2 when renaming a user to their UUID.
authorSadie Powell <sadie@witchery.services>
Tue, 22 Dec 2020 03:53:00 +0000 (03:53 +0000)
committerSadie Powell <sadie@witchery.services>
Tue, 22 Dec 2020 04:13:56 +0000 (04:13 +0000)
include/numerics.h
src/modules/m_codepage.cpp
src/modules/m_spanningtree/svsnick.cpp
src/xline.cpp

index fa694e21476117e36e45f3d8ccae3b5d55ee71e6..a34d9b1e18f8a717943f19ee839906d857e923b6 100644 (file)
@@ -49,6 +49,7 @@ enum
        RPL_MAP                         = 15, // ircu
        RPL_ENDMAP                      = 17, // ircu
        RPL_MAPUSERS                    = 18, // insp-specific
+       RPL_SAVENICK                    = 43, // From irc2.
 
        RPL_STATS                       = 210, // From aircd.
        RPL_UMODEIS                     = 221,
index 7a20e6e52dc6f695597f7d6e897354d96762e225..4054c72c1edd7949b9ed1eb847c60332ba480ae1 100644 (file)
@@ -83,7 +83,10 @@ class ModuleCodepage
                {
                        LocalUser* user = *iter;
                        if (user->nick != user->uuid && !ServerInstance->IsNick(user->nick))
+                       {
+                               user->WriteNumeric(RPL_SAVENICK, user->uuid, "Your nickname is no longer valid.");
                                user->ChangeNick(user->uuid);
+                       }
                }
        }
 
index e9292f445a9a89e4ff38c9b0312e13b1d55dcd90..8d1bc80ba20cb2dd4a04c6ba7c0024c20fab4b4d 100644 (file)
@@ -67,6 +67,7 @@ CmdResult CommandSVSNick::Handle(User* user, Params& parameters)
                if (!u->ChangeNick(nick, NickTS))
                {
                        // Changing to 'nick' failed (it may already be in use), change to the uuid
+                       u->WriteNumeric(RPL_SAVENICK, u->uuid, "Your nickname is in use by an older user on a new server.");
                        u->ChangeNick(u->uuid);
                }
        }
index 0d627023e7a6dabdc160ad326e098ec328f0b877..e4c6b6fb39e8354571f065a4227c2612c3197dd4 100644 (file)
@@ -688,6 +688,7 @@ bool QLine::Matches(User *u)
 void QLine::Apply(User* u)
 {
        /* Force to uuid on apply of Q-line, no need to disconnect anymore :) */
+       u->WriteNumeric(RPL_SAVENICK, u->uuid, "Your nickname has been Q-lined.");
        u->ChangeNick(u->uuid);
 }