|
@@ -213,7 +213,7 @@ func (server *Server) checkBans(config *Config, ipaddr net.IP, checkScripts bool
|
213
|
213
|
return true, false, output.BanMessage
|
214
|
214
|
} else if output.Result == IPRequireSASL {
|
215
|
215
|
server.logger.Info("connect-ip", "Requiring SASL from client due to ip-check-script", ipaddr.String())
|
216
|
|
- return false, true, ""
|
|
216
|
+ return false, true, output.BanMessage
|
217
|
217
|
}
|
218
|
218
|
}
|
219
|
219
|
|
|
@@ -270,13 +270,17 @@ func (server *Server) tryRegister(c *Client, session *Session) (exiting bool) {
|
270
|
270
|
quitMessage = c.t("Password incorrect")
|
271
|
271
|
c.Send(nil, server.name, ERR_PASSWDMISMATCH, "*", quitMessage)
|
272
|
272
|
case authFailSaslRequired, authFailTorSaslRequired:
|
273
|
|
- quitMessage = c.t("You must log in with SASL to join this server")
|
|
273
|
+ quitMessage = c.requireSASLMessage
|
|
274
|
+ if quitMessage == "" {
|
|
275
|
+ quitMessage = c.t("You must log in with SASL to join this server")
|
|
276
|
+ }
|
274
|
277
|
c.Send(nil, c.server.name, "FAIL", "*", "ACCOUNT_REQUIRED", quitMessage)
|
275
|
278
|
}
|
276
|
279
|
if authOutcome != authSuccess {
|
277
|
280
|
c.Quit(quitMessage, nil)
|
278
|
281
|
return true
|
279
|
282
|
}
|
|
283
|
+ c.requireSASLMessage = ""
|
280
|
284
|
|
281
|
285
|
rb := NewResponseBuffer(session)
|
282
|
286
|
nickError := performNickChange(server, c, c, session, c.preregNick, rb)
|