repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 757f3497bc594a5a950806279349d361be7a1515:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 757f3497bc594a5a950806279349d361be7a1515
Author: Alexander Barton 
Date:   Sun Nov 4 18:01:49 2012 +0100

    Send NICK commands with prefix of (target) user

    Now NICK commands are always generated using the prefix of the target
    user, even when the nickname change has been initiated by some other
    (pseudo) server or using the SVSNICK command. In this case, the prefix
    of the initiator has been used, but this isn't compatible with clients
    (at least weechat and irssi don't handle such NICK commands correctly).

diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 977fc54666e75ee8e5d753104cd46512f8471382..
index ..5ec6162ca548c99024b8dad14b0297ac86b36a39 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.c
@@ -971,7 +971,7 @@ Change_Nick(CLIENT *Origin, CLIENT *Target, char *NewNick, bool InformClient)

 	/* Inform all servers and users (which have to know) of the new name */
 	if (InformClient) {
-		IRC_WriteStrClientPrefix(Target, Origin, "NICK :%s", NewNick);
+		IRC_WriteStrClientPrefix(Target, Target, "NICK :%s", NewNick);
 		IRC_WriteStrServersPrefix(NULL, Target, "NICK :%s", NewNick);
 	} else
 		IRC_WriteStrServersPrefix(Origin, Target, "NICK :%s", NewNick);

-----END OF PAGE-----