git: e11b4a2169db - main - mail/mailslurper: New port

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Thu, 08 Dec 2022 15:16:41 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e11b4a2169dbed48aff655f48f86fd1a60993e2a

commit e11b4a2169dbed48aff655f48f86fd1a60993e2a
Author:     Einar Bjarni Halldórsson <einar@isnic.is>
AuthorDate: 2022-12-08 15:13:52 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2022-12-08 15:16:32 +0000

    mail/mailslurper: New port
    
    MailSlurper is a small SMTP mail server that slurps mail into oblivion!
    
    MailSlurper is perfect for individual developers or small teams writing
    mail-enabled applications that wish to test email functionality without
    the risk or hassle of installing and configuring a full blown email
    server.
    
    It's simple to use! Simply setup MailSlurper, configure your code and/or
    application server to send mail through the address where MailSlurper is
    running, and start sending emails!
    
    MailSlurper will capture those emails into a database for you to view at
    your leisure.
    
    PR:             268242
    Reported by:    einar@isnic.is
    Tested by:      bofh
    Approved by:    einar@isnic.is (submitter is maintainer)
---
 mail/Makefile                                      |   1 +
 mail/mailslurper/Makefile                          |  50 +++++
 mail/mailslurper/distinfo                          |  59 ++++++
 .../patch-cmd_mailslurper_adminAuthMiddleware.go   |  11 ++
 ...-cmd_mailslurper_controllers_AdminController.go |  11 ++
 ...md_mailslurper_controllers_ServiceController.go |  11 ++
 .../files/patch-cmd_mailslurper_mailslurper.go     |  11 ++
 .../patch-cmd_mailslurper_serviceAuthMiddleware.go |  11 ++
 .../patch-cmd_mailslurper_setupAdminListener.go    |  11 ++
 .../patch-cmd_mailslurper_setupServicesListener.go |  13 ++
 mail/mailslurper/files/patch-go.mod                |  26 +++
 mail/mailslurper/files/patch-go.sum                | 203 +++++++++++++++++++++
 .../files/patch-pkg_contexts_AdminUserContext.go   |  11 ++
 .../patch-pkg_mailslurper_ApplyThemeRequest.go     |  11 ++
 .../files/patch-pkg_ui_TemplateRenderer.go         |  11 ++
 mail/mailslurper/pkg-descr                         |  12 ++
 16 files changed, 463 insertions(+)

diff --git a/mail/Makefile b/mail/Makefile
index 941234e606f0..09d6e1b3aaa4 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -206,6 +206,7 @@
     SUBDIR += mailman-postfix
     SUBDIR += mailman3
     SUBDIR += mailscanner
+    SUBDIR += mailslurper
     SUBDIR += mailsync
     SUBDIR += mailutils
     SUBDIR += mailx
diff --git a/mail/mailslurper/Makefile b/mail/mailslurper/Makefile
new file mode 100644
index 000000000000..f9acc530ab03
--- /dev/null
+++ b/mail/mailslurper/Makefile
@@ -0,0 +1,50 @@
+PORTNAME=	mailslurper
+PORTVERSION=	1.14.1
+CATEGORIES=	mail
+
+MAINTAINER=	einar@isnic.is
+COMMENT=	Local, web-based mail server application. Slurp mails into oblivion!
+WWW=		https://github.com/mailslurper/mailslurper
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go:modules
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	mailslurper
+GH_TUPLE=	\
+		adampresley:webframework:0c93acb6716f:adampresley_webframework/vendor/github.com/adampresley/webframework \
+		denisenkom:go-mssqldb:bbfc9a55622e:denisenkom_go_mssqldb/vendor/github.com/denisenkom/go-mssqldb \
+		dgrijalva:jwt-go:v3.2.0:dgrijalva_jwt_go/vendor/github.com/dgrijalva/jwt-go \
+		go-sql-driver:mysql:v1.5.0:go_sql_driver_mysql/vendor/github.com/go-sql-driver/mysql \
+		golang-sql:civil:cb61b32ac6fe:golang_sql_civil/vendor/github.com/golang-sql/civil \
+		golang:crypto:2aa609cf4a9d:golang_crypto/vendor/golang.org/x/crypto \
+		golang:net:0de0cce0169b:golang_net/vendor/golang.org/x/net \
+		golang:sys:04cbcbbfeed8:golang_sys/vendor/golang.org/x/sys \
+		golang:text:v0.3.2:golang_text/vendor/golang.org/x/text \
+		gorilla:context:v1.1.1:gorilla_context/vendor/github.com/gorilla/context \
+		gorilla:securecookie:v1.1.1:gorilla_securecookie/vendor/github.com/gorilla/securecookie \
+		gorilla:sessions:v1.2.0:gorilla_sessions/vendor/github.com/gorilla/sessions \
+		jinzhu:copier:b57f9002281a:jinzhu_copier/vendor/github.com/jinzhu/copier \
+		konsorten:go-windows-terminal-sequences:v1.0.1:konsorten_go_windows_terminal_sequences/vendor/github.com/konsorten/go-windows-terminal-sequences \
+		labstack:echo-contrib:v0.8.0:labstack_echo_contrib/vendor/github.com/labstack/echo-contrib \
+		labstack:echo:v4.1.14:labstack_echo/vendor/github.com/labstack/echo/v4 \
+		labstack:gommon:v0.3.0:labstack_gommon/vendor/github.com/labstack/gommon \
+		mattn:go-colorable:v0.1.4:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
+		mattn:go-isatty:v0.0.11:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
+		mattn:go-sqlite3:v2.0.3:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+		microcosm-cc:bluemonday:v1.0.2:microcosm_cc_bluemonday/vendor/github.com/microcosm-cc/bluemonday \
+		nu7hatch:gouuid:179d4d0c4d8d:nu7hatch_gouuid/vendor/github.com/nu7hatch/gouuid \
+		patrickmn:go-cache:v2.1.0:patrickmn_go_cache/vendor/github.com/patrickmn/go-cache \
+		pkg:errors:v0.9.1:pkg_errors/vendor/github.com/pkg/errors \
+		sirupsen:logrus:v1.4.2:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
+		skratchdot:open-golang:eef842397966:skratchdot_open_golang/vendor/github.com/skratchdot/open-golang \
+		valyala:bytebufferpool:v1.0.0:valyala_bytebufferpool/vendor/github.com/valyala/bytebufferpool \
+		valyala:fasttemplate:v1.1.0:valyala_fasttemplate/vendor/github.com/valyala/fasttemplate
+
+GO_TARGET=	./cmd/${GH_PROJECT}
+
+PLIST_FILES=	bin/mailslurper
+
+.include <bsd.port.mk>
diff --git a/mail/mailslurper/distinfo b/mail/mailslurper/distinfo
new file mode 100644
index 000000000000..c2c7bb91cc02
--- /dev/null
+++ b/mail/mailslurper/distinfo
@@ -0,0 +1,59 @@
+TIMESTAMP = 1587382069
+SHA256 (mailslurper-mailslurper-1.14.1_GH0.tar.gz) = bc695b37a3fcc05fa6832b436a90568d1f898e39897c176338098c24f1458aa9
+SIZE (mailslurper-mailslurper-1.14.1_GH0.tar.gz) = 2534998
+SHA256 (adampresley-webframework-0c93acb6716f_GH0.tar.gz) = 5d145f9dc678351f55420443b47c67097619a52dab87f4ae41963d6c412e6a25
+SIZE (adampresley-webframework-0c93acb6716f_GH0.tar.gz) = 10574
+SHA256 (denisenkom-go-mssqldb-bbfc9a55622e_GH0.tar.gz) = f2bb76e4aebbb3dc7ead766a9e2b543c5e7490b28cc744aee92c6984b2383cee
+SIZE (denisenkom-go-mssqldb-bbfc9a55622e_GH0.tar.gz) = 522375
+SHA256 (dgrijalva-jwt-go-v3.2.0_GH0.tar.gz) = 197465ef53219f3aeb1a6940b70e16d288fe4e4108d4831b91ea101118440e63
+SIZE (dgrijalva-jwt-go-v3.2.0_GH0.tar.gz) = 36960
+SHA256 (go-sql-driver-mysql-v1.5.0_GH0.tar.gz) = 9d98b46623037447a26a51a203540bf605b6e6220d31f2efc7396242fcb660b5
+SIZE (go-sql-driver-mysql-v1.5.0_GH0.tar.gz) = 90474
+SHA256 (golang-sql-civil-cb61b32ac6fe_GH0.tar.gz) = ebc100d46719b1374b59e59bc63baffaec6a2bface5b0d519024f43c097cdc3e
+SIZE (golang-sql-civil-cb61b32ac6fe_GH0.tar.gz) = 8359
+SHA256 (golang-crypto-2aa609cf4a9d_GH0.tar.gz) = 5fe90bd9def2114d4772a2e394ac1a5e015b2bca17678f358371f93eb332536e
+SIZE (golang-crypto-2aa609cf4a9d_GH0.tar.gz) = 1726702
+SHA256 (golang-net-0de0cce0169b_GH0.tar.gz) = 74c2cbbb7d9fbbb024dea88d3003939d5e394f0e01dbbf8c431fd90a82f1cd56
+SIZE (golang-net-0de0cce0169b_GH0.tar.gz) = 1172526
+SHA256 (golang-sys-04cbcbbfeed8_GH0.tar.gz) = 8f194ecf5ac4834ba7e3543f38f67a8972ede9fee67e2142eb72644213335824
+SIZE (golang-sys-04cbcbbfeed8_GH0.tar.gz) = 1535773
+SHA256 (golang-text-v0.3.2_GH0.tar.gz) = 0b9309698f5708531c5377ab1e29b423a6d9e20c55a8d386c3b8283428212f22
+SIZE (golang-text-v0.3.2_GH0.tar.gz) = 7168069
+SHA256 (gorilla-context-v1.1.1_GH0.tar.gz) = 2dfdd051c238695bf9ebfed0bf6a8c533507ac0893bce23be5930e973736bb03
+SIZE (gorilla-context-v1.1.1_GH0.tar.gz) = 4574
+SHA256 (gorilla-securecookie-v1.1.1_GH0.tar.gz) = b7897b2243f0d43913aca318593c5c2586294fcd3265189d564ddda1b880fe95
+SIZE (gorilla-securecookie-v1.1.1_GH0.tar.gz) = 41240
+SHA256 (gorilla-sessions-v1.2.0_GH0.tar.gz) = 576d154ff12273d88d25864d14bd9b0fb1a864274d1fb3e224546529068c8968
+SIZE (gorilla-sessions-v1.2.0_GH0.tar.gz) = 13352
+SHA256 (jinzhu-copier-b57f9002281a_GH0.tar.gz) = c1c303fea291e25c5ec780e270db6a37a0f9c488d0a4e1ff52c746724fda32bd
+SIZE (jinzhu-copier-b57f9002281a_GH0.tar.gz) = 5889
+SHA256 (konsorten-go-windows-terminal-sequences-v1.0.1_GH0.tar.gz) = e36c5a5de388bf72db3037b47f025b09e574be8d0bc74b3e44c960cba0880e87
+SIZE (konsorten-go-windows-terminal-sequences-v1.0.1_GH0.tar.gz) = 1909
+SHA256 (labstack-echo-contrib-v0.8.0_GH0.tar.gz) = bf491c7da598959c3320698b1fd3bc942cbab7fac5c9abf716866dbb3c20fdad
+SIZE (labstack-echo-contrib-v0.8.0_GH0.tar.gz) = 19590
+SHA256 (labstack-echo-v4.1.14_GH0.tar.gz) = 21d4b50f2b0de82af81678497f823091893a6b904082f2f6bb668c06deb59dda
+SIZE (labstack-echo-v4.1.14_GH0.tar.gz) = 289550
+SHA256 (labstack-gommon-v0.3.0_GH0.tar.gz) = c23fa6b18c3f3c4dc917e7fb6d40db88ca2d13f51dbc9a8e8e098b8aa03611e9
+SIZE (labstack-gommon-v0.3.0_GH0.tar.gz) = 11426
+SHA256 (mattn-go-colorable-v0.1.4_GH0.tar.gz) = 157806ad8125e6bef4d9b58c9125ccb98a8343136f93faf442ab0cc6e7c24c11
+SIZE (mattn-go-colorable-v0.1.4_GH0.tar.gz) = 8981
+SHA256 (mattn-go-isatty-v0.0.11_GH0.tar.gz) = 631fab18253998a4e27e9d260c445e9852bd86cf5a42693623d305c3e59c415a
+SIZE (mattn-go-isatty-v0.0.11_GH0.tar.gz) = 4396
+SHA256 (mattn-go-sqlite3-v2.0.3_GH0.tar.gz) = ed015860c9b3e701d8cce7dcb0bcb2e2f53071718334465b10abb696f7de0e58
+SIZE (mattn-go-sqlite3-v2.0.3_GH0.tar.gz) = 2335418
+SHA256 (microcosm-cc-bluemonday-v1.0.2_GH0.tar.gz) = 63b0b5c2378fded0acb8b719b13a698cb897b52b3fb0cdf7d3ce576eba0c3160
+SIZE (microcosm-cc-bluemonday-v1.0.2_GH0.tar.gz) = 137669
+SHA256 (nu7hatch-gouuid-179d4d0c4d8d_GH0.tar.gz) = 2ead616e5bb23c0c669a1485cb45f083d8d6752acc5faa5f668521b7e99ec2e1
+SIZE (nu7hatch-gouuid-179d4d0c4d8d_GH0.tar.gz) = 3733
+SHA256 (patrickmn-go-cache-v2.1.0_GH0.tar.gz) = 3ab025f2f580f8818a5357db52596fef1b0ad5945816a022c8b805ba46dc93be
+SIZE (patrickmn-go-cache-v2.1.0_GH0.tar.gz) = 13572
+SHA256 (pkg-errors-v0.9.1_GH0.tar.gz) = 56bfd893023daa498508bfe161de1be83299fcf15376035e7df79cbd7d6fa608
+SIZE (pkg-errors-v0.9.1_GH0.tar.gz) = 13415
+SHA256 (sirupsen-logrus-v1.4.2_GH0.tar.gz) = 67f2ddf467b7e63d2d2529d227946a331e245aeef7e2e4521ae82647b5ef84d9
+SIZE (sirupsen-logrus-v1.4.2_GH0.tar.gz) = 41373
+SHA256 (skratchdot-open-golang-eef842397966_GH0.tar.gz) = 2f4768d8cbe725d4ceafc8d34fd9e765aa98a94bfeec30202129634e340899a5
+SIZE (skratchdot-open-golang-eef842397966_GH0.tar.gz) = 7070
+SHA256 (valyala-bytebufferpool-v1.0.0_GH0.tar.gz) = 089013e3429ebe7fd2bc3527f003bf3f3f639891e5d8ba6a56010e3671465e1f
+SIZE (valyala-bytebufferpool-v1.0.0_GH0.tar.gz) = 5025
+SHA256 (valyala-fasttemplate-v1.1.0_GH0.tar.gz) = 5f337a17ad5ac414c4ac4779860a4940e036a8c627e6603844adaded28a7ddf4
+SIZE (valyala-fasttemplate-v1.1.0_GH0.tar.gz) = 7229
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_adminAuthMiddleware.go b/mail/mailslurper/files/patch-cmd_mailslurper_adminAuthMiddleware.go
new file mode 100644
index 000000000000..7937ab3054df
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_adminAuthMiddleware.go
@@ -0,0 +1,11 @@
+--- cmd/mailslurper/adminAuthMiddleware.go.orig	2020-04-16 15:05:22 UTC
++++ cmd/mailslurper/adminAuthMiddleware.go
+@@ -8,7 +8,7 @@ import (
+ 	"net/http"
+ 
+ 	"github.com/gorilla/sessions"
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 	"github.com/labstack/echo-contrib/session"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/authscheme"
+ 	"github.com/mailslurper/mailslurper/pkg/contexts"
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_controllers_AdminController.go b/mail/mailslurper/files/patch-cmd_mailslurper_controllers_AdminController.go
new file mode 100644
index 000000000000..926d34baa559
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_controllers_AdminController.go
@@ -0,0 +1,11 @@
+--- cmd/mailslurper/controllers/AdminController.go.orig	2020-04-16 15:07:36 UTC
++++ cmd/mailslurper/controllers/AdminController.go
+@@ -9,7 +9,7 @@ import (
+ 	"sync"
+ 
+ 	"github.com/gorilla/sessions"
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 	"github.com/labstack/echo-contrib/session"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/auth"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/authfactory"
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_controllers_ServiceController.go b/mail/mailslurper/files/patch-cmd_mailslurper_controllers_ServiceController.go
new file mode 100644
index 000000000000..2ece57e4c63c
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_controllers_ServiceController.go
@@ -0,0 +1,11 @@
+--- cmd/mailslurper/controllers/ServiceController.go.orig	2020-04-16 15:08:09 UTC
++++ cmd/mailslurper/controllers/ServiceController.go
+@@ -11,7 +11,7 @@ import (
+ 	"strconv"
+ 	"time"
+ 
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/auth"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/authfactory"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/jwt"
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_mailslurper.go b/mail/mailslurper/files/patch-cmd_mailslurper_mailslurper.go
new file mode 100644
index 000000000000..5e560b21d7b0
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_mailslurper.go
@@ -0,0 +1,11 @@
+--- cmd/mailslurper/mailslurper.go.orig	2020-04-17 09:31:57 UTC
++++ cmd/mailslurper/mailslurper.go
+@@ -14,7 +14,7 @@ import (
+ 	"syscall"
+ 	"time"
+ 
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 	"github.com/mailslurper/mailslurper/pkg/mailslurper"
+ 	"github.com/mailslurper/mailslurper/pkg/ui"
+ 	"github.com/patrickmn/go-cache"
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_serviceAuthMiddleware.go b/mail/mailslurper/files/patch-cmd_mailslurper_serviceAuthMiddleware.go
new file mode 100644
index 000000000000..e8a5a5d440b2
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_serviceAuthMiddleware.go
@@ -0,0 +1,11 @@
+--- cmd/mailslurper/serviceAuthMiddleware.go.orig	2020-04-16 15:16:32 UTC
++++ cmd/mailslurper/serviceAuthMiddleware.go
+@@ -9,7 +9,7 @@ import (
+ 	"strings"
+ 
+ 	jwt "github.com/dgrijalva/jwt-go"
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/authscheme"
+ 	jwtservice "github.com/mailslurper/mailslurper/pkg/auth/jwt"
+ 	"github.com/mailslurper/mailslurper/pkg/contexts"
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_setupAdminListener.go b/mail/mailslurper/files/patch-cmd_mailslurper_setupAdminListener.go
new file mode 100644
index 000000000000..b0cf89accd75
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_setupAdminListener.go
@@ -0,0 +1,11 @@
+--- cmd/mailslurper/setupAdminListener.go.orig	2020-04-16 15:08:53 UTC
++++ cmd/mailslurper/setupAdminListener.go
+@@ -9,7 +9,7 @@ import (
+ 	"sync"
+ 
+ 	"github.com/gorilla/sessions"
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 	"github.com/labstack/echo-contrib/session"
+ 	"github.com/mailslurper/mailslurper/cmd/mailslurper/controllers"
+ 	"github.com/mailslurper/mailslurper/cmd/mailslurper/www"
diff --git a/mail/mailslurper/files/patch-cmd_mailslurper_setupServicesListener.go b/mail/mailslurper/files/patch-cmd_mailslurper_setupServicesListener.go
new file mode 100644
index 000000000000..627934d69930
--- /dev/null
+++ b/mail/mailslurper/files/patch-cmd_mailslurper_setupServicesListener.go
@@ -0,0 +1,13 @@
+--- cmd/mailslurper/setupServicesListener.go.orig	2020-04-16 15:09:13 UTC
++++ cmd/mailslurper/setupServicesListener.go
+@@ -5,8 +5,8 @@
+ package main
+ 
+ import (
+-	"github.com/labstack/echo"
+-	"github.com/labstack/echo/middleware"
++	"github.com/labstack/echo/v4"
++	"github.com/labstack/echo/v4/middleware"
+ 	"github.com/mailslurper/mailslurper/cmd/mailslurper/controllers"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/authfactory"
+ 	"github.com/mailslurper/mailslurper/pkg/auth/authscheme"
diff --git a/mail/mailslurper/files/patch-go.mod b/mail/mailslurper/files/patch-go.mod
new file mode 100644
index 000000000000..35ae78c54903
--- /dev/null
+++ b/mail/mailslurper/files/patch-go.mod
@@ -0,0 +1,26 @@
+--- go.mod.orig	2020-04-16 15:12:58 UTC
++++ go.mod
+@@ -0,0 +1,23 @@
++module github.com/mailslurper/mailslurper
++
++go 1.13
++
++require (
++	github.com/adampresley/webframework v0.0.0-20200114004523-0c93acb6716f
++	github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e
++	github.com/dgrijalva/jwt-go v3.2.0+incompatible
++	github.com/go-sql-driver/mysql v1.5.0
++	github.com/gorilla/sessions v1.2.0
++	github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a
++	github.com/labstack/echo-contrib v0.8.0
++	github.com/labstack/echo/v4 v4.1.14
++	github.com/mattn/go-sqlite3 v2.0.3+incompatible
++	github.com/microcosm-cc/bluemonday v1.0.2 // indirect
++	github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d
++	github.com/patrickmn/go-cache v2.1.0+incompatible
++	github.com/pkg/errors v0.9.1
++	github.com/sirupsen/logrus v1.4.2
++	github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
++	golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d
++	golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
++)
diff --git a/mail/mailslurper/files/patch-go.sum b/mail/mailslurper/files/patch-go.sum
new file mode 100644
index 000000000000..1d9cadeb1b19
--- /dev/null
+++ b/mail/mailslurper/files/patch-go.sum
@@ -0,0 +1,203 @@
+--- go.sum.orig	2020-04-16 15:13:03 UTC
++++ go.sum
+@@ -0,0 +1,200 @@
++github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
++github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
++github.com/adampresley/webframework v0.0.0-20200114004523-0c93acb6716f h1:LpRNkkHjAS/eZhXs1AyOrREti/8+nv4ijaXMf2QeFDM=
++github.com/adampresley/webframework v0.0.0-20200114004523-0c93acb6716f/go.mod h1:dkKO/QZAKoeMLIMVvDeM8pUfwq4ecHj4uWt8AVpsgIk=
++github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
++github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
++github.com/appleboy/gofight/v2 v2.1.1/go.mod h1:6E7pthKhmwss84j/zEixBNim8Q6ahhHcYOtmW5ts5vA=
++github.com/astaxie/beego v1.11.1/go.mod h1:i69hVzgauOPSw5qeyF4GVZhn7Od0yG5bbCGzmhbWxgQ=
++github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ=
++github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU=
++github.com/belogik/goes v0.0.0-20151229125003-e54d722c3aff/go.mod h1:PhH1ZhyCzHKt4uAasyx+ljRCgoezetRNf59CUtwUkqY=
++github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
++github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
++github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
++github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
++github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE=
++github.com/casbin/casbin/v2 v2.0.0/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
++github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80=
++github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
++github.com/couchbase/go-couchbase v0.0.0-20181122212707-3e9b6e1258bb/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U=
++github.com/couchbase/gomemcached v0.0.0-20181122193126-5125a94a666c/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c=
++github.com/couchbase/goutils v0.0.0-20180530154633-e865a1461c8a/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs=
++github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
++github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
++github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e h1:LzwWXEScfcTu7vUZNlDDWDARoSGEtvlDKK2BYHowNeE=
++github.com/denisenkom/go-mssqldb v0.0.0-20200206145737-bbfc9a55622e/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
++github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
++github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
++github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
++github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
++github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
++github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM=
++github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
++github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
++github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
++github.com/go-redis/redis v6.14.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
++github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
++github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
++github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
++github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
++github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
++github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
++github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
++github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
++github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
++github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
++github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
++github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
++github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
++github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
++github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8=
++github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
++github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
++github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY=
++github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ=
++github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
++github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w=
++github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ=
++github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
++github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a h1:zPPuIq2jAWWPTrGt70eK/BSch+gFAGrNzecsoENgu2o=
++github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s=
++github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
++github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
++github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
++github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
++github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
++github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
++github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg=
++github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s=
++github.com/labstack/echo-contrib v0.8.0 h1:3Rab1nnFGSrHzdPR2p1CVxE9CmU02GNqeKB5BToZxVs=
++github.com/labstack/echo-contrib v0.8.0/go.mod h1:tEGgUvjB2p2eJAvI05bxsZwQ084O0xHCR3oVXYc+ltg=
++github.com/labstack/echo/v4 v4.1.6/go.mod h1:kU/7PwzgNxZH4das4XNsSpBSOD09XIF5YEPzjpkGnGE=
++github.com/labstack/echo/v4 v4.1.14 h1:h8XP66UfB3tUm+L3QPw7tmwAu3pJaA/nyfHPCcz46ic=
++github.com/labstack/echo/v4 v4.1.14/go.mod h1:Q5KZ1vD3V5FEzjM79hjwVrC3ABr7F5IdM23bXQMRDGg=
++github.com/labstack/gommon v0.2.8/go.mod h1:/tj9csK2iPSBvn+3NLM9e52usepMtrd5ilFYA+wQNJ4=
++github.com/labstack/gommon v0.2.9/go.mod h1:E8ZTmW9vw5az5/ZyHWCp0Lw4OH2ecsaBP1C/NKavGG4=
++github.com/labstack/gommon v0.3.0 h1:JEeO0bvc78PKdyHxloTKiF8BD5iGrH8T6MSeGvSgob0=
++github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
++github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
++github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
++github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA=
++github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
++github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
++github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
++github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
++github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM=
++github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
++github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
++github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U=
++github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
++github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
++github.com/microcosm-cc/bluemonday v1.0.2 h1:5lPfLTTAvAbtS0VqT+94yOtFnGfUWYyx0+iToC3Os3s=
++github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
++github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
++github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
++github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
++github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
++github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
++github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d h1:VhgPp6v9qf9Agr/56bj7Y/xa04UccTW04VP0Qed4vnQ=
++github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U=
++github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
++github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
++github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
++github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
++github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
++github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
++github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
++github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
++github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
++github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
++github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
++github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
++github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g=
++github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
++github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
++github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
++github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc=
++github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
++github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
++github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
++github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
++github.com/siddontang/ledisdb v0.0.0-20181029004158-becf5f38d373/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg=
++github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA=
++github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
++github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
++github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
++github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA=
++github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
++github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE=
++github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
++github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
++github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
++github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
++github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
++github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
++github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
++github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0=
++github.com/tidwall/gjson v1.2.1/go.mod h1:c/nTNbUr0E0OrXEhq1pwa8iEgc2DOt4ZZqAt1HtCkPA=
++github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E=
++github.com/tidwall/pretty v0.0.0-20190325153808-1166b9ac2b65/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
++github.com/uber-go/atomic v1.4.0/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g=
++github.com/uber/jaeger-client-go v2.19.1-0.20191002155754-0be28c34dabf+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
++github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
++github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
++github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
++github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
++github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
++github.com/valyala/fasttemplate v1.1.0 h1:RZqt0yGBsps8NGvLSGW804QQqCUYYLsaOjTVHy1Ocw4=
++github.com/valyala/fasttemplate v1.1.0/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
++github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc=
++go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
++golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
++golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
++golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
++golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
++golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
++golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
++golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d h1:1ZiEyfaQIg3Qh0EoqpwAakHVhecoE5wlSg5GjnafJGw=
++golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
++golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
++golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
++golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
++golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
++golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
++golang.org/x/net v0.0.0-20190607181551-461777fb6f67/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
++golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
++golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
++golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
++golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
++golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
++golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
++golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
++golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20190609082536-301114b31cce/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8 h1:JA8d3MPx/IToSyXZG/RhwYEtfrKO1Fxrqe8KrkiLXKM=
++golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
++golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
++golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
++golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
++golang.org/x/tools v0.0.0-20190608022120-eacb66d2a7c3/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
++gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
++gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
++gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
++gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
++gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
++gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
++gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
++gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/mail/mailslurper/files/patch-pkg_contexts_AdminUserContext.go b/mail/mailslurper/files/patch-pkg_contexts_AdminUserContext.go
new file mode 100644
index 000000000000..51b59856a49e
--- /dev/null
+++ b/mail/mailslurper/files/patch-pkg_contexts_AdminUserContext.go
@@ -0,0 +1,11 @@
+--- pkg/contexts/AdminUserContext.go.orig	2020-04-16 15:10:52 UTC
++++ pkg/contexts/AdminUserContext.go
+@@ -4,7 +4,7 @@
+ 
+ package contexts
+ 
+-import "github.com/labstack/echo"
++import "github.com/labstack/echo/v4"
+ 
+ type AdminUserContext struct {
+ 	echo.Context
diff --git a/mail/mailslurper/files/patch-pkg_mailslurper_ApplyThemeRequest.go b/mail/mailslurper/files/patch-pkg_mailslurper_ApplyThemeRequest.go
new file mode 100644
index 000000000000..90f286234b84
--- /dev/null
+++ b/mail/mailslurper/files/patch-pkg_mailslurper_ApplyThemeRequest.go
@@ -0,0 +1,11 @@
+--- pkg/mailslurper/ApplyThemeRequest.go.orig	2020-04-16 15:11:18 UTC
++++ pkg/mailslurper/ApplyThemeRequest.go
+@@ -4,7 +4,7 @@
+ 
+ package mailslurper
+ 
+-import "github.com/labstack/echo"
++import "github.com/labstack/echo/v4"
+ 
+ /*
+ ApplyThemeRequest is used to update and apply a theme change
diff --git a/mail/mailslurper/files/patch-pkg_ui_TemplateRenderer.go b/mail/mailslurper/files/patch-pkg_ui_TemplateRenderer.go
new file mode 100644
index 000000000000..b3e60e33da9a
--- /dev/null
+++ b/mail/mailslurper/files/patch-pkg_ui_TemplateRenderer.go
@@ -0,0 +1,11 @@
+--- pkg/ui/TemplateRenderer.go.orig	2020-04-16 15:11:45 UTC
++++ pkg/ui/TemplateRenderer.go
+@@ -9,7 +9,7 @@ import (
+ 	"html/template"
+ 	"io"
+ 
+-	"github.com/labstack/echo"
++	"github.com/labstack/echo/v4"
+ 
+ 	"github.com/mailslurper/mailslurper/cmd/mailslurper/www"
+ )
diff --git a/mail/mailslurper/pkg-descr b/mail/mailslurper/pkg-descr
new file mode 100644
index 000000000000..96a01c419bbc
--- /dev/null
+++ b/mail/mailslurper/pkg-descr
@@ -0,0 +1,12 @@
+MailSlurper is a small SMTP mail server that slurps mail into oblivion!
+
+MailSlurper is perfect for individual developers or small teams writing
+mail-enabled applications that wish to test email functionality without
+the risk or hassle of installing and configuring a full blown email server.
+
+It's simple to use! Simply setup MailSlurper, configure your code and/or
+application server to send mail through the address where MailSlurper is
+running, and start sending emails!
+
+MailSlurper will capture those emails into a database for you to view at
+your leisure.