Validate recipient emails in send before asking for their public keys

This commit is contained in:
Pavel Škoda
2020-05-19 18:33:32 +02:00
committed by Jakub Cuth
parent c6c6cfc7d7
commit 4e2ab9b389
3 changed files with 23 additions and 0 deletions

View File

@ -19,11 +19,23 @@ package smtp
import (
"encoding/base64"
"regexp"
pmcrypto "github.com/ProtonMail/gopenpgp/crypto"
"github.com/ProtonMail/proton-bridge/pkg/pmapi"
)
//nolint:gochecknoglobals // Used like a constant
var mailFormat = regexp.MustCompile(`.+@.+\..+`)
// looksLikeEmail validates whether the string resembles an email.
//
// Notice that it does this naively by simply checking for the existence
// of a DOT and an AT sign.
func looksLikeEmail(e string) bool {
return mailFormat.MatchString(e)
}
func createPackets(
pubkey *pmcrypto.KeyRing,
bodyKey *pmcrypto.SymmetricKey,