|
@@ -2486,12 +2486,21 @@ func quitHandler(server *Server, client *Client, msg ircmsg.Message, rb *Respons
|
2486
|
2486
|
return true
|
2487
|
2487
|
}
|
2488
|
2488
|
|
2489
|
|
-// REGISTER < email | * > <password>
|
|
2489
|
+// REGISTER < account | * > < email | * > <password>
|
2490
|
2490
|
func registerHandler(server *Server, client *Client, msg ircmsg.Message, rb *ResponseBuffer) (exiting bool) {
|
2491
|
2491
|
accountName := client.Nick()
|
2492
|
2492
|
if accountName == "*" {
|
2493
|
2493
|
accountName = client.preregNick
|
2494
|
2494
|
}
|
|
2495
|
+
|
|
2496
|
+ switch msg.Params[0] {
|
|
2497
|
+ case "*", accountName:
|
|
2498
|
+ // ok
|
|
2499
|
+ default:
|
|
2500
|
+ rb.Add(nil, server.name, "FAIL", "REGISTER", "ACCOUNTNAME_MUST_BE_NICK", utils.SafeErrorParam(msg.Params[0]), client.t("You may only register your nickname as your account name"))
|
|
2501
|
+ return
|
|
2502
|
+ }
|
|
2503
|
+
|
2495
|
2504
|
// check that accountName is valid as a non-final parameter;
|
2496
|
2505
|
// this is necessary for us to be valid and it will prevent us from emitting invalid error lines
|
2497
|
2506
|
nickErrorParam := utils.SafeErrorParam(accountName)
|
|
@@ -2514,13 +2523,13 @@ func registerHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
|
2514
|
2523
|
return
|
2515
|
2524
|
}
|
2516
|
2525
|
|
2517
|
|
- callbackNamespace, callbackValue, err := parseCallback(msg.Params[0], config)
|
|
2526
|
+ callbackNamespace, callbackValue, err := parseCallback(msg.Params[1], config)
|
2518
|
2527
|
if err != nil {
|
2519
|
2528
|
rb.Add(nil, server.name, "FAIL", "REGISTER", "INVALID_EMAIL", accountName, client.t("A valid e-mail address is required"))
|
2520
|
2529
|
return
|
2521
|
2530
|
}
|
2522
|
2531
|
|
2523
|
|
- err = server.accounts.Register(client, accountName, callbackNamespace, callbackValue, msg.Params[1], rb.session.certfp)
|
|
2532
|
+ err = server.accounts.Register(client, accountName, callbackNamespace, callbackValue, msg.Params[2], rb.session.certfp)
|
2524
|
2533
|
switch err {
|
2525
|
2534
|
case nil:
|
2526
|
2535
|
if callbackNamespace == "*" {
|