ソースを参照

fix a bug where the uncasefolded nickname wasn't being recorded

Also, rename the nickname vars to hopefully make things clearer
tags/v0.10.3
Shivaram Lingamneni 6年前
コミット
b4907dadb9
1個のファイルの変更10行の追加10行の削除
  1. 10
    10
      irc/nickname.go

+ 10
- 10
irc/nickname.go ファイルの表示

@@ -32,20 +32,20 @@ func nickHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
32 32
 }
33 33
 
34 34
 func performNickChange(server *Server, client *Client, target *Client, newnick string) bool {
35
-	nicknameRaw := strings.TrimSpace(newnick)
36
-	nickname, err := CasefoldName(nicknameRaw)
35
+	nickname := strings.TrimSpace(newnick)
36
+	cfnick, err := CasefoldName(nickname)
37 37
 
38
-	if len(nicknameRaw) < 1 {
38
+	if len(nickname) < 1 {
39 39
 		client.Send(nil, server.name, ERR_NONICKNAMEGIVEN, client.nick, "No nickname given")
40 40
 		return false
41 41
 	}
42 42
 
43
-	if err != nil || len(nicknameRaw) > server.Limits().NickLen || restrictedNicknames[nickname] {
44
-		client.Send(nil, server.name, ERR_ERRONEUSNICKNAME, client.nick, nicknameRaw, "Erroneous nickname")
43
+	if err != nil || len(nickname) > server.Limits().NickLen || restrictedNicknames[cfnick] {
44
+		client.Send(nil, server.name, ERR_ERRONEUSNICKNAME, client.nick, nickname, "Erroneous nickname")
45 45
 		return false
46 46
 	}
47 47
 
48
-	if target.Nick() == nicknameRaw {
48
+	if target.Nick() == nickname {
49 49
 		return false
50 50
 	}
51 51
 
@@ -54,19 +54,19 @@ func performNickChange(server *Server, client *Client, target *Client, newnick s
54 54
 	origNickMask := target.NickMaskString()
55 55
 	err = client.server.clients.SetNick(target, nickname)
56 56
 	if err == ErrNicknameInUse {
57
-		client.Send(nil, server.name, ERR_NICKNAMEINUSE, client.nick, nicknameRaw, "Nickname is already in use")
57
+		client.Send(nil, server.name, ERR_NICKNAMEINUSE, client.nick, nickname, "Nickname is already in use")
58 58
 		return false
59 59
 	} else if err != nil {
60 60
 		client.Send(nil, server.name, ERR_UNKNOWNERROR, client.nick, "NICK", fmt.Sprintf("Could not set or change nickname: %s", err.Error()))
61 61
 		return false
62 62
 	}
63 63
 
64
-	client.server.logger.Debug("nick", fmt.Sprintf("%s changed nickname to %s [%s]", origNickMask, nicknameRaw, nickname))
64
+	client.server.logger.Debug("nick", fmt.Sprintf("%s changed nickname to %s [%s]", origNickMask, nickname, cfnick))
65 65
 	if hadNick {
66
-		target.server.snomasks.Send(sno.LocalNicks, fmt.Sprintf(ircfmt.Unescape("$%s$r changed nickname to %s"), origNick, nicknameRaw))
66
+		target.server.snomasks.Send(sno.LocalNicks, fmt.Sprintf(ircfmt.Unescape("$%s$r changed nickname to %s"), origNick, nickname))
67 67
 		target.server.whoWas.Append(client)
68 68
 		for friend := range target.Friends() {
69
-			friend.Send(nil, origNickMask, "NICK", nicknameRaw)
69
+			friend.Send(nil, origNickMask, "NICK", nickname)
70 70
 		}
71 71
 	}
72 72
 

読み込み中…
キャンセル
保存