Bläddra i källkod

fix #1840

Account registrations pending verification should produce a logline and
send a sno.
tags/v2.9.0-rc1
Shivaram Lingamneni 2 år sedan
förälder
incheckning
9ff4047fa6
3 ändrade filer med 8 tillägg och 0 borttagningar
  1. 2
    0
      irc/accounts.go
  2. 5
    0
      irc/handlers.go
  3. 1
    0
      irc/nickserv.go

+ 2
- 0
irc/accounts.go Visa fil

@@ -474,6 +474,8 @@ func (am *AccountManager) Register(client *Client, account string, callbackNames
474 474
 		am.Unregister(casefoldedAccount, true)
475 475
 		return &registrationCallbackError{underlying: err}
476 476
 	} else {
477
+		am.server.logger.Info("accounts",
478
+			fmt.Sprintf("nickname %s registered account %s, pending verification", client.Nick(), account))
477 479
 		return am.server.store.Update(func(tx *buntdb.Tx) error {
478 480
 			_, _, err = tx.Set(verificationCodeKey, code, setOptions)
479 481
 			return err

+ 5
- 0
irc/handlers.go Visa fil

@@ -81,6 +81,10 @@ func registrationErrorToMessage(config *Config, client *Client, err error) (mess
81 81
 	return
82 82
 }
83 83
 
84
+func announcePendingReg(client *Client, rb *ResponseBuffer, accountName string) {
85
+	client.server.snomasks.Send(sno.LocalAccounts, fmt.Sprintf(ircfmt.Unescape("Client $c[grey][$r%s$c[grey]] attempted to register account $c[grey][$r%s$c[grey]] from IP %s, pending verification"), client.Nick(), accountName, rb.session.IP().String()))
86
+}
87
+
84 88
 // helper function to dispatch messages when a client successfully registers
85 89
 func sendSuccessfulRegResponse(service *ircService, client *Client, rb *ResponseBuffer) {
86 90
 	details := client.Details()
@@ -2632,6 +2636,7 @@ func registerHandler(server *Server, client *Client, msg ircmsg.Message, rb *Res
2632 2636
 		} else {
2633 2637
 			rb.Add(nil, server.name, "REGISTER", "VERIFICATION_REQUIRED", accountName, fmt.Sprintf(client.t("Account created, pending verification; verification code has been sent to %s"), callbackValue))
2634 2638
 			client.registerCmdSent = true
2639
+			announcePendingReg(client, rb, accountName)
2635 2640
 		}
2636 2641
 	case errAccountAlreadyRegistered, errAccountAlreadyUnregistered, errAccountMustHoldNick:
2637 2642
 		rb.Add(nil, server.name, "FAIL", "REGISTER", "USERNAME_EXISTS", accountName, client.t("Username is already registered or otherwise unavailable"))

+ 1
- 0
irc/nickserv.go Visa fil

@@ -1004,6 +1004,7 @@ func nsRegisterHandler(service *ircService, server *Server, client *Client, comm
1004 1004
 			messageTemplate := client.t("Account created, pending verification; verification code has been sent to %s")
1005 1005
 			message := fmt.Sprintf(messageTemplate, callbackValue)
1006 1006
 			service.Notice(rb, message)
1007
+			announcePendingReg(client, rb, account)
1007 1008
 		}
1008 1009
 	} else {
1009 1010
 		// details could not be stored and relevant numerics have been dispatched, abort

Laddar…
Avbryt
Spara