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) { 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 { func Write() error {
@@ -76,7 +81,14 @@ func GetCredentials() (string, string) {
} }
func HasCredentials() bool { 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 { func hashPassword(password string) string {