소스 검색

fix double application of guest prefix

tags/v2.1.0-rc1
Shivaram Lingamneni 4 년 전
부모
커밋
ca3be51028
1개의 변경된 파일11개의 추가작업 그리고 2개의 파일을 삭제
  1. 11
    2
      irc/client_lookup_set.go

+ 11
- 2
irc/client_lookup_set.go 파일 보기

@@ -151,10 +151,19 @@ func (clients *ClientManager) SetNick(client *Client, session *Session, newNick
151 151
 		}
152 152
 
153 153
 		if account == "" && config.Accounts.NickReservation.ForceGuestFormat {
154
-			newNick = strings.Replace(config.Accounts.NickReservation.GuestFormat, "*", newNick, 1)
154
+			newcfnick, err = CasefoldName(newNick)
155
+			if err != nil {
156
+				return "", errNicknameInvalid
157
+			}
158
+			if !config.Accounts.NickReservation.guestRegexpFolded.MatchString(newcfnick) {
159
+				newNick = strings.Replace(config.Accounts.NickReservation.GuestFormat, "*", newNick, 1)
160
+				newcfnick = "" // re-fold it below
161
+			}
155 162
 		}
156 163
 
157
-		newcfnick, err = CasefoldName(newNick)
164
+		if newcfnick == "" {
165
+			newcfnick, err = CasefoldName(newNick)
166
+		}
158 167
 		if err != nil {
159 168
 			return "", errNicknameInvalid
160 169
 		}

Loading…
취소
저장