Don't hash blank password. Treat blank username/pw as no credentials

This commit is contained in:
WithoutPants 2019-07-29 16:49:39 +10:00
parent 5a891d00cf
commit d94cb759c8

View file

@ -24,7 +24,12 @@ func Set(key string, value interface{}) {
}
func SetPassword(value string) {
Set(Password, hashPassword(value))
// if blank, don't bother hashing; we want it to be blank
if value == "" {
Set(Password, "")
} else {
Set(Password, hashPassword(value))
}
}
func Write() error {
@ -76,7 +81,14 @@ func GetCredentials() (string, string) {
}
func HasCredentials() bool {
return viper.IsSet(Username) && viper.IsSet(Password)
if !viper.IsSet(Username) || !viper.IsSet(Password) {
return false
}
username := GetUsername()
pwHash := GetPasswordHash()
return username != "" && pwHash != ""
}
func hashPassword(password string) string {