Explorar el Código

fix double application of guest prefix

tags/v2.1.0-rc1
Shivaram Lingamneni hace 4 años
padre
commit
ca3be51028
Se han modificado 1 ficheros con 11 adiciones y 2 borrados
  1. 11
    2
      irc/client_lookup_set.go

+ 11
- 2
irc/client_lookup_set.go Ver fichero

@@ -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…
Cancelar
Guardar