From 390957723c0eae181587b29fd5ef7898ef947eb4 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Wed, 26 Dec 2012 00:36:49 +0700 Subject: [PATCH] Fix changing client nick when client connects. If nicks are equal, it's not changed. The problem was that equality was checked case-insensitively. This makes some clients which compare nicks case-sensitively think that JOINs which we send to them, are not related to the user, it's someone else joining. So Konversation users which have lower case version of their IRC nick configured in Konversation settings, didn't get their channel opened when connecting to ZNC. Thanks to Axanon for helping to investigate the issue. --- src/IRCNetwork.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp index 11f398f9..120c07db 100644 --- a/src/IRCNetwork.cpp +++ b/src/IRCNetwork.cpp @@ -468,7 +468,7 @@ void CIRCNetwork::ClientConnected(CClient *pClient) { } const CNick& Nick = GetIRCNick(); - if (!sClientNick.Equals(Nick.GetNick())) { + if (sClientNick != Nick.GetNick()) { // case-sensitive match pClient->PutClient(":" + sClientNick + "!" + Nick.GetIdent() + "@" + Nick.GetHost() + " NICK :" + Nick.GetNick()); pClient->SetNick(Nick.GetNick());