fix(dnsomatic): remove username validation regex

- Fixes #398
This commit is contained in:
Quentin McGaw
2024-01-20 08:53:56 +00:00
parent 0c561d4378
commit f8bb927de6
2 changed files with 4 additions and 35 deletions

View File

@@ -8,7 +8,6 @@ import (
"net/http"
"net/netip"
"net/url"
"regexp"
"strings"
"github.com/qdm12/ddns-updater/internal/models"
@@ -55,13 +54,10 @@ func New(data json.RawMessage, domain, host string,
return p, nil
}
var regexUsername = regexp.MustCompile(`^[a-zA-Z0-9+@._-]{3,25}$`)
func (p *Provider) isValid() error {
switch {
case !regexUsername.MatchString(p.username):
return fmt.Errorf("%w: username %q does not match regex %q",
errors.ErrUsernameNotValid, p.username, regexUsername)
case p.username == "":
return fmt.Errorf("%w", errors.ErrUsernameNotSet)
case p.password == "":
return fmt.Errorf("%w", errors.ErrPasswordNotSet)
}

View File

@@ -19,35 +19,8 @@ func Test_Provider_isValid(t *testing.T) {
provider: Provider{
password: "password",
},
errWrapped: errors.ErrUsernameNotValid,
errMessage: `username is not valid: username "" does not match regex "^[a-zA-Z0-9+@._-]{3,25}$"`,
},
"email_username": {
provider: Provider{
username: "a@a.ca",
password: "password",
},
},
"email_alias_username": {
provider: Provider{
username: "a+b@a.ca",
password: "password",
},
},
"dashes_username": {
provider: Provider{
username: "a-b-c",
password: "password",
},
},
"oversized_username": {
provider: Provider{
username: "aaaaaaaaaaaaaaaaaaaaaaaaaa",
password: "password",
},
errWrapped: errors.ErrUsernameNotValid,
errMessage: `username is not valid: username ` +
`"aaaaaaaaaaaaaaaaaaaaaaaaaa" does not match regex "^[a-zA-Z0-9+@._-]{3,25}$"`,
errWrapped: errors.ErrUsernameNotSet,
errMessage: `username is not set`,
},
}