chore: add email blocklist unit test

This commit is contained in:
famfo 2025-08-23 01:57:35 +02:00 committed by Earl Warren
commit a511e37572
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
9 changed files with 92 additions and 21 deletions

View file

@ -72,22 +72,22 @@ func validateEmailBasic(email string) error {
}
func validateEmailDomain(email string) error {
if !IsEmailDomainAllowed(email) {
if _, ok := IsEmailDomainAllowed(email); !ok {
return ErrEmailInvalid{email}
}
return nil
}
func IsEmailDomainAllowed(email string) bool {
func IsEmailDomainAllowed(email string) (validEmail, ok bool) {
// Normalized the address. This strips for example comments which could be
// used to smuggle a different domain
parsedAddress, err := mail.ParseAddress(email)
if err != nil {
return false
return false, false
}
return isEmailDomainAllowedInternal(
return true, isEmailDomainAllowedInternal(
parsedAddress.Address,
setting.Service.EmailDomainAllowList,
setting.Service.EmailDomainBlockList)