3
0
mirror of https://github.com/ergochat/ergo.git synced 2024-11-26 05:49:25 +01:00

don't send ACC numerics in response to NickServ commands

This commit is contained in:
Shivaram Lingamneni 2018-02-20 04:44:44 -05:00
parent 89ae261739
commit df41f9b3b0

View File

@ -54,6 +54,7 @@ func accHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Respo
return false return false
} }
// helper function to parse ACC callbacks, e.g., mailto:person@example.com, tel:16505551234
func parseCallback(spec string, config *AccountConfig) (callbackNamespace string, callbackValue string) { func parseCallback(spec string, config *AccountConfig) (callbackNamespace string, callbackValue string) {
callback := strings.ToLower(spec) callback := strings.ToLower(spec)
if callback == "*" { if callback == "*" {
@ -181,22 +182,25 @@ func accRegisterHandler(server *Server, client *Client, msg ircmsg.IrcMessage, r
return false return false
} }
// helper function to dispatch messages when a client successfully registers
func sendSuccessfulRegResponse(client *Client, rb *ResponseBuffer, forNS bool) { func sendSuccessfulRegResponse(client *Client, rb *ResponseBuffer, forNS bool) {
if forNS { if forNS {
rb.Notice(client.t("Account created")) rb.Notice(client.t("Account created"))
} else {
rb.Add(nil, client.server.name, RPL_REGISTRATION_SUCCESS, client.nick, client.AccountName(), client.t("Account created"))
} }
rb.Add(nil, client.server.name, RPL_REGISTRATION_SUCCESS, client.nick, client.AccountName(), client.t("Account created"))
sendSuccessfulSaslAuth(client, rb, forNS) sendSuccessfulSaslAuth(client, rb, forNS)
} }
// sendSuccessfulSaslAuth means that a SASL auth attempt completed successfully, and is used to dispatch messages. // sendSuccessfulSaslAuth means that a SASL auth attempt completed successfully, and is used to dispatch messages.
func sendSuccessfulSaslAuth(client *Client, rb *ResponseBuffer, forNS bool) { func sendSuccessfulSaslAuth(client *Client, rb *ResponseBuffer, forNS bool) {
account := client.AccountName() account := client.AccountName()
rb.Add(nil, client.server.name, RPL_LOGGEDIN, client.nick, client.nickMaskString, account, fmt.Sprintf("You are now logged in as %s", account))
rb.Add(nil, client.server.name, RPL_SASLSUCCESS, client.nick, client.t("SASL authentication successful"))
if forNS { if forNS {
rb.Notice(fmt.Sprintf(client.t("You're now logged in as %s"), client.AccountName())) rb.Notice(fmt.Sprintf(client.t("You're now logged in as %s"), client.AccountName()))
} else {
rb.Add(nil, client.server.name, RPL_LOGGEDIN, client.nick, client.nickMaskString, account, fmt.Sprintf("You are now logged in as %s", account))
rb.Add(nil, client.server.name, RPL_SASLSUCCESS, client.nick, client.t("SASL authentication successful"))
} }
// dispatch account-notify // dispatch account-notify