1
0
Fork 0
forked from External/ergo

implement NS PASSWD for password changes

This commit is contained in:
Shivaram Lingamneni 2018-11-28 18:21:41 -05:00
parent 70364f5f67
commit 48f9b5e4fa
2 changed files with 68 additions and 5 deletions

View file

@ -565,14 +565,15 @@ func (am *AccountManager) SetNickReserved(client *Client, nick string, saUnreser
return nil
}
func (am *AccountManager) AuthenticateByPassphrase(client *Client, accountName string, passphrase string) error {
account, err := am.LoadAccount(accountName)
func (am *AccountManager) checkPassphrase(accountName, passphrase string) (account ClientAccount, err error) {
account, err = am.LoadAccount(accountName)
if err != nil {
return err
return
}
if !account.Verified {
return errAccountUnverified
err = errAccountUnverified
return
}
switch account.Credentials.Version {
@ -583,9 +584,13 @@ func (am *AccountManager) AuthenticateByPassphrase(client *Client, accountName s
default:
err = errAccountInvalidCredentials
}
return
}
func (am *AccountManager) AuthenticateByPassphrase(client *Client, accountName string, passphrase string) error {
account, err := am.checkPassphrase(accountName, passphrase)
if err != nil {
return errAccountInvalidCredentials
return err
}
am.Login(client, account)