mirror of
https://github.com/directorz/mailfull-go.git
synced 2025-12-20 11:07:02 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
624579aed5 | ||
|
|
0f0a3835fc | ||
|
|
a145712856 | ||
|
|
ad18a41b64 | ||
|
|
ac6a8526b1 | ||
|
|
067c8f6903 | ||
|
|
e7254c6df6 | ||
|
|
8ecd1f0f79 | ||
|
|
de6ddf7e1b | ||
|
|
58b508b7fa | ||
|
|
36f6eb22d2 | ||
|
|
78ba1d2674 | ||
|
|
b4461b66ca | ||
|
|
afb8e4eaf4 |
15
Gopkg.lock
generated
15
Gopkg.lock
generated
@@ -47,19 +47,24 @@
|
|||||||
branch = "master"
|
branch = "master"
|
||||||
name = "github.com/mitchellh/cli"
|
name = "github.com/mitchellh/cli"
|
||||||
packages = ["."]
|
packages = ["."]
|
||||||
revision = "33edc47170b5df54d2588696d590c5e20ee583fe"
|
revision = "518dc677a1e1222682f4e7db06721942cb8e9e4c"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "github.com/posener/complete"
|
name = "github.com/posener/complete"
|
||||||
packages = [".","cmd","cmd/install","match"]
|
packages = [
|
||||||
revision = "dc2bc5a81accba8782bebea28628224643a8286a"
|
".",
|
||||||
version = "v1.1"
|
"cmd",
|
||||||
|
"cmd/install",
|
||||||
|
"match"
|
||||||
|
]
|
||||||
|
revision = "98eb9847f27ba2008d380a32c98be474dea55bdf"
|
||||||
|
version = "v1.1.1"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
branch = "master"
|
branch = "master"
|
||||||
name = "golang.org/x/sys"
|
name = "golang.org/x/sys"
|
||||||
packages = ["unix"]
|
packages = ["unix"]
|
||||||
revision = "53aa286056ef226755cd898109dbcdaba8ac0b81"
|
revision = "cc7307a45468e49eaf2997c890f14aa03a26917b"
|
||||||
|
|
||||||
[solve-meta]
|
[solve-meta]
|
||||||
analyzer-name = "dep"
|
analyzer-name = "dep"
|
||||||
|
|||||||
28
Makefile
28
Makefile
@@ -9,10 +9,11 @@ DIR_RELEASE=release
|
|||||||
VERSION=$(patsubst "%",%,$(lastword $(shell grep 'const Version' version.go)))
|
VERSION=$(patsubst "%",%,$(lastword $(shell grep 'const Version' version.go)))
|
||||||
GITTAG=$(shell git rev-parse --short HEAD)
|
GITTAG=$(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
.PHONY: build build-linux-amd64 build-linux-386 clean
|
|
||||||
|
|
||||||
default: build
|
default: build
|
||||||
|
|
||||||
|
FORCE:
|
||||||
|
.PHONY: FORCE
|
||||||
|
|
||||||
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep:
|
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep:
|
||||||
mkdir -p /tmp/go
|
mkdir -p /tmp/go
|
||||||
GOPATH=/tmp/go go get -d -v github.com/golang/dep
|
GOPATH=/tmp/go go get -d -v github.com/golang/dep
|
||||||
@@ -21,16 +22,25 @@ $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep:
|
|||||||
|
|
||||||
dep: $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep
|
dep: $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep
|
||||||
|
|
||||||
|
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr:
|
||||||
|
mkdir -p /tmp/go
|
||||||
|
GOPATH=/tmp/go go get -d -v github.com/tcnksm/ghr
|
||||||
|
GOPATH=/tmp/go go build -v -o $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr github.com/tcnksm/ghr
|
||||||
|
rm -rf /tmp/go
|
||||||
|
|
||||||
|
ghr: $(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr
|
||||||
|
|
||||||
installdeps: dep
|
installdeps: dep
|
||||||
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep ensure -v -vendor-only
|
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/dep ensure -v -vendor-only
|
||||||
|
|
||||||
build:
|
|
||||||
go build -v -i -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go
|
build: FORCE
|
||||||
|
go build -v -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go
|
||||||
|
|
||||||
.build-docker:
|
.build-docker:
|
||||||
docker run --rm -v $(DIR_PKG):/go/pkg -v $(PWD):/go/src/github.com/directorz/mailfull-go -w /go/src/github.com/directorz/mailfull-go \
|
docker run --rm -v $(DIR_PKG):/go/pkg -v $(PWD):/go/src/github.com/directorz/mailfull-go -w /go/src/github.com/directorz/mailfull-go \
|
||||||
-e GOOS=$(GOOS) -e GOARCH=$(GOARCH) golang:1.8.3 \
|
-e GOOS=$(GOOS) -e GOARCH=$(GOARCH) golang:1.10 \
|
||||||
go build -v -i -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go
|
go build -v -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go
|
||||||
|
|
||||||
build-linux-amd64:
|
build-linux-amd64:
|
||||||
@$(MAKE) .build-docker GOOS=linux GOARCH=amd64
|
@$(MAKE) .build-docker GOOS=linux GOARCH=amd64
|
||||||
@@ -38,6 +48,7 @@ build-linux-amd64:
|
|||||||
build-linux-386:
|
build-linux-386:
|
||||||
@$(MAKE) .build-docker GOOS=linux GOARCH=386
|
@$(MAKE) .build-docker GOOS=linux GOARCH=386
|
||||||
|
|
||||||
|
|
||||||
release: release-linux-amd64 release-linux-386
|
release: release-linux-amd64 release-linux-386
|
||||||
|
|
||||||
release-linux-amd64: build-linux-amd64
|
release-linux-amd64: build-linux-amd64
|
||||||
@@ -55,12 +66,13 @@ release-targz: dir-$(DIR_RELEASE)
|
|||||||
dir-$(DIR_RELEASE):
|
dir-$(DIR_RELEASE):
|
||||||
mkdir -p $(DIR_RELEASE)
|
mkdir -p $(DIR_RELEASE)
|
||||||
|
|
||||||
release-upload: release-linux-amd64 release-linux-386 release-github-token
|
release-upload: ghr release-linux-amd64 release-linux-386 release-github-token
|
||||||
ghr -u directorz -r mailfull-go -t $(shell cat github_token) --replace --draft $(VERSION) $(DIR_RELEASE)
|
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr -u directorz -r mailfull-go -t $(shell cat github_token) --replace --draft $(VERSION) $(DIR_RELEASE)
|
||||||
|
|
||||||
release-github-token: github_token
|
release-github-token: github_token
|
||||||
@echo "file \"github_token\" is required"
|
@echo "file \"github_token\" is required"
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm -rf $(DIR_BUILD)
|
-rm -rf $(DIR_BUILD)
|
||||||
-rm -rf $(DIR_RELEASE)
|
-rm -rf $(DIR_RELEASE)
|
||||||
|
|||||||
3
user.go
3
user.go
@@ -100,6 +100,9 @@ func (r *Repository) Users(domainName string) ([]*User, error) {
|
|||||||
|
|
||||||
forwards, err := r.userForwards(domainName, name)
|
forwards, err := r.userForwards(domainName, name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if err == ErrInvalidUserName {
|
||||||
|
continue
|
||||||
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
valid.go
8
valid.go
@@ -33,20 +33,20 @@ func validAliasDomainTarget(target string) bool {
|
|||||||
|
|
||||||
// validUserName returns true if the input is correct format.
|
// validUserName returns true if the input is correct format.
|
||||||
func validUserName(name string) bool {
|
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.
|
// validAliasUserName returns true if the input is correct format.
|
||||||
func validAliasUserName(name string) bool {
|
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.
|
// validAliasUserTarget returns true if the input is correct format.
|
||||||
func validAliasUserTarget(target string) bool {
|
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.
|
// validCatchAllUserName returns true if the input is correct format.
|
||||||
func validCatchAllUserName(name string) bool {
|
func validCatchAllUserName(name string) bool {
|
||||||
return regexp.MustCompile(`^[^\s@]+$`).MatchString(name)
|
return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package mailfull
|
package mailfull
|
||||||
|
|
||||||
// Version is a version number.
|
// Version is a version number.
|
||||||
const Version = "v1.0.1"
|
const Version = "v1.0.3"
|
||||||
|
|||||||
Reference in New Issue
Block a user