From ac6a8526b1dcafec52da886f22292f3e82af86ed Mon Sep 17 00:00:00 2001 From: teru Date: Fri, 16 Mar 2018 12:16:05 +0900 Subject: [PATCH] Fix userlist --- user.go | 3 +++ valid.go | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/user.go b/user.go index c502cb8..8e46d1f 100644 --- a/user.go +++ b/user.go @@ -100,6 +100,9 @@ func (r *Repository) Users(domainName string) ([]*User, error) { forwards, err := r.userForwards(domainName, name) if err != nil { + if err == ErrInvalidUserName { + continue + } return nil, err } diff --git a/valid.go b/valid.go index 8061cd3..b6bb007 100644 --- a/valid.go +++ b/valid.go @@ -33,20 +33,20 @@ func validAliasDomainTarget(target string) bool { // validUserName returns true if the input is correct format. func validUserName(name string) bool { - return regexp.MustCompile(`^[^\s@]+$`).MatchString(name) + return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name) } // validAliasUserName returns true if the input is correct format. func validAliasUserName(name string) bool { - return regexp.MustCompile(`^[^\s@]+$`).MatchString(name) + return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name) } // validAliasUserTarget returns true if the input is correct format. func validAliasUserTarget(target string) bool { - return regexp.MustCompile(`^[^\s@]+@([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(target) + return regexp.MustCompile(`^[^\.\s@][^\s@]+@([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(target) } // validCatchAllUserName returns true if the input is correct format. func validCatchAllUserName(name string) bool { - return regexp.MustCompile(`^[^\s@]+$`).MatchString(name) + return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name) }