mirror of
https://github.com/directorz/mailfull-go.git
synced 2025-12-20 19:17:02 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36f6eb22d2 | ||
|
|
4c9781ad71 |
15
Gopkg.lock
generated
15
Gopkg.lock
generated
@@ -47,24 +47,19 @@
|
|||||||
branch = "master"
|
branch = "master"
|
||||||
name = "github.com/mitchellh/cli"
|
name = "github.com/mitchellh/cli"
|
||||||
packages = ["."]
|
packages = ["."]
|
||||||
revision = "518dc677a1e1222682f4e7db06721942cb8e9e4c"
|
revision = "33edc47170b5df54d2588696d590c5e20ee583fe"
|
||||||
|
|
||||||
[[projects]]
|
[[projects]]
|
||||||
name = "github.com/posener/complete"
|
name = "github.com/posener/complete"
|
||||||
packages = [
|
packages = [".","cmd","cmd/install","match"]
|
||||||
".",
|
revision = "dc2bc5a81accba8782bebea28628224643a8286a"
|
||||||
"cmd",
|
version = "v1.1"
|
||||||
"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 = "cc7307a45468e49eaf2997c890f14aa03a26917b"
|
revision = "53aa286056ef226755cd898109dbcdaba8ac0b81"
|
||||||
|
|
||||||
[solve-meta]
|
[solve-meta]
|
||||||
analyzer-name = "dep"
|
analyzer-name = "dep"
|
||||||
|
|||||||
28
Makefile
28
Makefile
@@ -9,10 +9,9 @@ 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)
|
||||||
|
|
||||||
default: build
|
.PHONY: build build-linux-amd64 build-linux-386 clean
|
||||||
|
|
||||||
FORCE:
|
default: build
|
||||||
.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
|
||||||
@@ -22,25 +21,16 @@ $(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:
|
||||||
build: FORCE
|
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-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.10 \
|
-e GOOS=$(GOOS) -e GOARCH=$(GOARCH) golang:1.9.2 \
|
||||||
go build -v -ldflags "-X main.gittag=$(GITTAG)" -o $(DIR_BUILD)/mailfull_$(GOOS)_$(GOARCH)/mailfull cmd/mailfull/*.go
|
go build -v -i -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
|
||||||
@@ -48,7 +38,6 @@ 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
|
||||||
@@ -66,13 +55,12 @@ release-targz: dir-$(DIR_RELEASE)
|
|||||||
dir-$(DIR_RELEASE):
|
dir-$(DIR_RELEASE):
|
||||||
mkdir -p $(DIR_RELEASE)
|
mkdir -p $(DIR_RELEASE)
|
||||||
|
|
||||||
release-upload: ghr release-linux-amd64 release-linux-386 release-github-token
|
release-upload: release-linux-amd64 release-linux-386 release-github-token
|
||||||
$(DIR_BUILD)/bin/$(THIS_GOOS)_$(THIS_GOARCH)/ghr -u directorz -r mailfull-go -t $(shell cat github_token) --replace --draft $(VERSION) $(DIR_RELEASE)
|
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,9 +100,6 @@ 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@][^\s@]+$`).MatchString(name)
|
return regexp.MustCompile(`^[^\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@][^\s@]+$`).MatchString(name)
|
return regexp.MustCompile(`^[^\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@][^\s@]+@([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(target)
|
return regexp.MustCompile(`^[^\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@][^\s@]+$`).MatchString(name)
|
return regexp.MustCompile(`^[^\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.3"
|
const Version = "v1.0.2"
|
||||||
|
|||||||
Reference in New Issue
Block a user