aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexander Kavon <me+git@alexkavon.com>2024-01-22 18:17:09 -0500
committerAlexander Kavon <me+git@alexkavon.com>2024-01-22 18:17:09 -0500
commit0d7693918d53fd658231bc478654b32513feac7a (patch)
treeec84b7bf026f8fefe947663e364d1120f513cf88 /src
parent66d84b2b49f55e6c652816466a5c3b4202234134 (diff)
only return error for compareSecretToHash, update login form
Diffstat (limited to 'src')
-rw-r--r--src/user/routes.go6
-rw-r--r--src/user/secret.go8
2 files changed, 6 insertions, 8 deletions
diff --git a/src/user/routes.go b/src/user/routes.go
index 5399418..28e0ccb 100644
--- a/src/user/routes.go
+++ b/src/user/routes.go
@@ -101,11 +101,9 @@ func Login(s *server.Server) http.HandlerFunc {
// hash the form secret
// compare form hash to db hash
- valid, err := compareSecretToHash(r.PostFormValue("secret"), user.Secret)
+ err = compareSecretToHash(r.PostFormValue("secret"), user.Secret)
if err != nil {
- log.Fatal(err)
- }
- if !valid {
+ log.Println(err)
log.Fatal("Incorrect login credentials TODO resolve with compareSecretToHash err")
}
diff --git a/src/user/secret.go b/src/user/secret.go
index a777072..5efe658 100644
--- a/src/user/secret.go
+++ b/src/user/secret.go
@@ -55,11 +55,11 @@ func hashSecret(secret string) (string, error) {
return encodedHash, nil
}
-func compareSecretToHash(secret, encoded string) (bool, error) {
+func compareSecretToHash(secret, encoded string) error {
// decode the encoded hash
hc, salt, comparehash, err := decodeHash(encoded)
if err != nil {
- return false, err
+ return err
}
// encode the secret
@@ -68,10 +68,10 @@ func compareSecretToHash(secret, encoded string) (bool, error) {
// compare the hashes using constant time comparison
// to prevent timing attacks. if not equal, then return false
if subtle.ConstantTimeCompare(comparehash, verifyhash) != 1 {
- return false, errHashesNotEqual
+ return errHashesNotEqual
}
- return true, nil
+ return nil
}
func hashArgon2(secret string, salt []byte, hc *hashconf) []byte {