From d9e221a019702790c2e508c6d16915649a62df05 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Sun, 26 Apr 2020 14:50:54 +0200 Subject: [PATCH] Move repo to own git and add drone CI --- .drone.yml | 20 ++++++++++++++++++++ go.mod | 2 +- mail.go | 30 +++++++++++++++--------------- spamcheck.go | 13 ++++++------- spamcheck_test.go | 4 ++-- 5 files changed, 44 insertions(+), 25 deletions(-) create mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..b9ff752 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,20 @@ +kind: pipeline +name: default + +steps: + - name: publish + image: plugins/docker + settings: + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: quay.io/jlelse/mailygo + registry: quay.io + tags: latest + when: + branch: + - master + event: + exclude: + - pull_request \ No newline at end of file diff --git a/go.mod b/go.mod index 858d2bf..047eedb 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module codeberg.org/jlelse/mailygo +module git.jlel.se/jlelse/mailygo go 1.14 diff --git a/mail.go b/mail.go index a6580bb..02519e8 100644 --- a/mail.go +++ b/mail.go @@ -16,20 +16,20 @@ func sendForm(values *FormValues) { } func buildMessage(recipient string, date time.Time, values *FormValues) string { - var msgBuffer bytes.Buffer - _, _ = fmt.Fprintf(&msgBuffer, "From: Forms <%s>", appConfig.Sender) - _, _ = fmt.Fprintln(&msgBuffer) - _, _ = fmt.Fprintf(&msgBuffer, "To: %s", recipient) - _, _ = fmt.Fprintln(&msgBuffer) + msgBuffer := &bytes.Buffer{} + _, _ = fmt.Fprintf(msgBuffer, "From: Forms <%s>", appConfig.Sender) + _, _ = fmt.Fprintln(msgBuffer) + _, _ = fmt.Fprintf(msgBuffer, "To: %s", recipient) + _, _ = fmt.Fprintln(msgBuffer) if replyTo := findReplyTo(values); replyTo != "" { - _, _ = fmt.Fprintf(&msgBuffer, "Reply-To: %s", replyTo) - _, _ = fmt.Fprintln(&msgBuffer) + _, _ = fmt.Fprintf(msgBuffer, "Reply-To: %s", replyTo) + _, _ = fmt.Fprintln(msgBuffer) } - _, _ = fmt.Fprintf(&msgBuffer, "Date: %s", date.Format(time.RFC1123Z)) - _, _ = fmt.Fprintln(&msgBuffer) - _, _ = fmt.Fprintf(&msgBuffer, "Subject: New submission on %s", findFormName(values)) - _, _ = fmt.Fprintln(&msgBuffer) - _, _ = fmt.Fprintln(&msgBuffer) + _, _ = fmt.Fprintf(msgBuffer, "Date: %s", date.Format(time.RFC1123Z)) + _, _ = fmt.Fprintln(msgBuffer) + _, _ = fmt.Fprintf(msgBuffer, "Subject: New submission on %s", findFormName(values)) + _, _ = fmt.Fprintln(msgBuffer) + _, _ = fmt.Fprintln(msgBuffer) bodyValues := removeMetaValues(values) var keys []string for key := range *bodyValues { @@ -37,9 +37,9 @@ func buildMessage(recipient string, date time.Time, values *FormValues) string { } sort.Strings(keys) for _, key := range keys { - _, _ = fmt.Fprint(&msgBuffer, key) - _, _ = fmt.Fprint(&msgBuffer, ": ") - _, _ = fmt.Fprintln(&msgBuffer, strings.Join((*bodyValues)[key], ", ")) + _, _ = fmt.Fprint(msgBuffer, key) + _, _ = fmt.Fprint(msgBuffer, ": ") + _, _ = fmt.Fprintln(msgBuffer, strings.Join((*bodyValues)[key], ", ")) } return msgBuffer.String() } diff --git a/spamcheck.go b/spamcheck.go index 6ce8aa5..9360698 100644 --- a/spamcheck.go +++ b/spamcheck.go @@ -22,25 +22,24 @@ func checkValues(values *FormValues) bool { } } } - return checkBlacklist(&allValues) || checkUrls(&urlsToCheck) + return checkBlacklist(allValues) || checkUrls(urlsToCheck) } -func checkBlacklist(values *[]string) bool { - for _, value := range *values { +func checkBlacklist(values []string) bool { + for _, value := range values { for _, blacklistedString := range appConfig.Blacklist { if strings.Contains(strings.ToLower(value), strings.ToLower(blacklistedString)) { return true } } - } return false } // Only tests when GOOGLE_API_KEY is set // Returns true when it spam -func checkUrls(urlsToCheck *[]string) bool { - if len(appConfig.GoogleApiKey) < 1 || len(*urlsToCheck) == 0 { +func checkUrls(urlsToCheck []string) bool { + if len(appConfig.GoogleApiKey) < 1 || len(urlsToCheck) == 0 { return false } sb, err := safebrowsing.NewSafeBrowser(safebrowsing.Config{ @@ -50,7 +49,7 @@ func checkUrls(urlsToCheck *[]string) bool { if err != nil { return false } - allThreats, err := sb.LookupURLs(*urlsToCheck) + allThreats, err := sb.LookupURLs(urlsToCheck) if err != nil { return false } diff --git a/spamcheck_test.go b/spamcheck_test.go index 7e2bc20..5b75282 100644 --- a/spamcheck_test.go +++ b/spamcheck_test.go @@ -13,13 +13,13 @@ func Test_checkBlacklist(t *testing.T) { } t.Run("Allowed values", func(t *testing.T) { prepare() - if checkBlacklist(&[]string{"Hello", "How are you?"}) == true { + if checkBlacklist([]string{"Hello", "How are you?"}) == true { t.Error() } }) t.Run("Forbidden values", func(t *testing.T) { prepare() - if checkBlacklist(&[]string{"How are you?", "Hello TeSt1"}) == false { + if checkBlacklist([]string{"How are you?", "Hello TeSt1"}) == false { t.Error() } })