mirror of
https://github.com/ergochat/ergo.git
synced 2025-12-20 02:00:11 -08:00
accounts: Support account-notify capability
This commit is contained in:
parent
0eebd6273c
commit
4fa094cea2
3 changed files with 16 additions and 4 deletions
|
|
@ -220,8 +220,7 @@ func authPlainHandler(server *Server, client *Client, mechanism string, value []
|
|||
return false
|
||||
}
|
||||
|
||||
client.Send(nil, server.name, RPL_LOGGEDIN, client.nick, client.nickMaskString, client.account.Name, fmt.Sprintf("You are now logged in as %s", client.account.Name))
|
||||
client.Send(nil, server.name, RPL_SASLSUCCESS, client.nick, "SASL authentication successful")
|
||||
client.successfulSaslAuth()
|
||||
return false
|
||||
}
|
||||
|
||||
|
|
@ -268,7 +267,17 @@ func authExternalHandler(server *Server, client *Client, mechanism string, value
|
|||
return false
|
||||
}
|
||||
|
||||
client.Send(nil, server.name, RPL_LOGGEDIN, client.nick, client.nickMaskString, client.account.Name, fmt.Sprintf("You are now logged in as %s", client.account.Name))
|
||||
client.Send(nil, server.name, RPL_SASLSUCCESS, client.nick, "SASL authentication successful")
|
||||
client.successfulSaslAuth()
|
||||
return false
|
||||
}
|
||||
|
||||
// successfulSaslAuth means that a SASL auth attempt completed successfully, and is used to dispatch messages.
|
||||
func (c *Client) successfulSaslAuth() {
|
||||
c.Send(nil, c.server.name, RPL_LOGGEDIN, c.nick, c.nickMaskString, c.account.Name, fmt.Sprintf("You are now logged in as %s", c.account.Name))
|
||||
c.Send(nil, c.server.name, RPL_SASLSUCCESS, c.nick, "SASL authentication successful")
|
||||
|
||||
// dispatch account-notify
|
||||
for friend := range c.Friends(AccountNotify) {
|
||||
friend.Send(nil, c.nickMaskString, "ACCOUNT", c.account.Name)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue