Kaynağa Gözat

nickname: Preserve case when setting NICK

tags/v0.2.0
Daniel Oaks 7 yıl önce
ebeveyn
işleme
d226a0c6d3
1 değiştirilmiş dosya ile 8 ekleme ve 7 silme
  1. 8
    7
      irc/nickname.go

+ 8
- 7
irc/nickname.go Dosyayı Görüntüle

17
 		return true
17
 		return true
18
 	}
18
 	}
19
 
19
 
20
-	nickname, err := CasefoldName(msg.Params[0])
20
+	nicknameRaw := strings.TrimSpace(msg.Params[0])
21
+	nickname, err := CasefoldName(nicknameRaw)
21
 
22
 
22
-	if len(strings.TrimSpace(msg.Params[0])) < 1 {
23
+	if len(nicknameRaw) < 1 {
23
 		client.Send(nil, server.name, ERR_NONICKNAMEGIVEN, client.nick, "No nickname given")
24
 		client.Send(nil, server.name, ERR_NONICKNAMEGIVEN, client.nick, "No nickname given")
24
 		return false
25
 		return false
25
 	}
26
 	}
26
 
27
 
27
-	if err != nil || len(strings.TrimSpace(msg.Params[0])) > server.limits.NickLen {
28
-		client.Send(nil, server.name, ERR_ERRONEUSNICKNAME, client.nick, msg.Params[0], "Erroneous nickname")
28
+	if err != nil || len(nicknameRaw) > server.limits.NickLen {
29
+		client.Send(nil, server.name, ERR_ERRONEUSNICKNAME, client.nick, nicknameRaw, "Erroneous nickname")
29
 		return false
30
 		return false
30
 	}
31
 	}
31
 
32
 
36
 	//TODO(dan): There's probably some races here, we should be changing this in the primary server thread
37
 	//TODO(dan): There's probably some races here, we should be changing this in the primary server thread
37
 	target := server.clients.Get(nickname)
38
 	target := server.clients.Get(nickname)
38
 	if target != nil && target != client {
39
 	if target != nil && target != client {
39
-		client.Send(nil, server.name, ERR_NICKNAMEINUSE, client.nick, msg.Params[0], "Nickname is already in use")
40
+		client.Send(nil, server.name, ERR_NICKNAMEINUSE, client.nick, nicknameRaw, "Nickname is already in use")
40
 		return false
41
 		return false
41
 	}
42
 	}
42
 
43
 
43
 	if client.registered {
44
 	if client.registered {
44
-		client.ChangeNickname(nickname)
45
+		client.ChangeNickname(nicknameRaw)
45
 	} else {
46
 	} else {
46
-		client.SetNickname(nickname)
47
+		client.SetNickname(nicknameRaw)
47
 	}
48
 	}
48
 	server.tryRegister(client)
49
 	server.tryRegister(client)
49
 	return false
50
 	return false

Loading…
İptal
Kaydet