commit 0fcfc1f46c87dff9edebb2a4dd85a628d8b8e856
parent bd1809fd46609b0f0cafbe43da8f8dd970a34937
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 2 Dec 2022 16:06:42 -0500
simplify code
Diffstat:
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go
@@ -379,7 +379,10 @@ func PgpCheckSignMessage(pkey, msg, signature string) error {
return errors.New("invalid public key")
}
if _, err = openpgp.CheckArmoredDetachedSignature(keyring, strings.NewReader(msg), strings.NewReader(signature), nil); err != nil {
- return err
+ // Text editors often add an extra line break, so let's check with and without it.
+ if _, err = openpgp.CheckArmoredDetachedSignature(keyring, strings.NewReader(msg + "\n"), strings.NewReader(signature), nil); err != nil {
+ return err
+ }
}
return nil
}
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -483,13 +483,10 @@ func SessionsGpgSignTwoFactorHandler(c echo.Context) error {
data.ToBeSignedMessage = c.Request().PostFormValue("to_be_signed_message")
data.SignedMessage = c.Request().PostFormValue("signed_message")
- // Text editors often add an extra line break, so let's check with and without it.
- if err := utils.PgpCheckSignMessage(user.GPGPublicKey, token+"\n", data.SignedMessage); err != nil {
- if err := utils.PgpCheckSignMessage(user.GPGPublicKey, token, data.SignedMessage); err != nil {
- logrus.Error(err)
- data.ErrorSignedMessage = "invalid signature"
- return c.Render(http.StatusOK, "sessions-gpg-sign-two-factor", data)
- }
+ if err := utils.PgpCheckSignMessage(user.GPGPublicKey, token, data.SignedMessage); err != nil {
+ logrus.Error(err)
+ data.ErrorSignedMessage = "invalid signature"
+ return c.Render(http.StatusOK, "sessions-gpg-sign-two-factor", data)
}
pgpTokenCache.Delete(user.ID)
partialAuthCache.Delete(partialAuthCookie.Value)
@@ -3380,12 +3377,10 @@ func AddPGPHandler(c echo.Context) error {
if data.GpgMode {
data.ToBeSignedMessage = c.Request().PostFormValue("to_be_signed_message")
data.SignedMessage = c.Request().PostFormValue("signed_message")
- if err := utils.PgpCheckSignMessage(data.PGPPublicKey, token+"\n", data.SignedMessage); err != nil {
- if err := utils.PgpCheckSignMessage(data.PGPPublicKey, token, data.SignedMessage); err != nil {
- logrus.Error(err)
- data.ErrorSignedMessage = "invalid signature"
- return c.Render(http.StatusOK, "pgp_code", data)
- }
+ if err := utils.PgpCheckSignMessage(data.PGPPublicKey, token, data.SignedMessage); err != nil {
+ logrus.Error(err)
+ data.ErrorSignedMessage = "invalid signature"
+ return c.Render(http.StatusOK, "pgp_code", data)
}
} else {