aboutsummaryrefslogtreecommitdiff
path: root/app/build/alps
diff options
context:
space:
mode:
authorQuentin <quentin@deuxfleurs.fr>2020-12-04 13:42:20 +0100
committerQuentin <quentin@deuxfleurs.fr>2020-12-04 13:42:20 +0100
commitd1332a2d42f42b132a1e9df761bee0a7e6b511f6 (patch)
tree1a4f86f8f307df2f210b47204aee4df4160eeb10 /app/build/alps
parent6402119511cb08a2049daa98e7557d557638c069 (diff)
downloadinfrastructure-d1332a2d42f42b132a1e9df761bee0a7e6b511f6.tar.gz
infrastructure-d1332a2d42f42b132a1e9df761bee0a7e6b511f6.zip
Add alps container
Diffstat (limited to 'app/build/alps')
-rw-r--r--app/build/alps/Dockerfile21
-rw-r--r--app/build/alps/skipverify.patch55
2 files changed, 76 insertions, 0 deletions
diff --git a/app/build/alps/Dockerfile b/app/build/alps/Dockerfile
new file mode 100644
index 0000000..647d90d
--- /dev/null
+++ b/app/build/alps/Dockerfile
@@ -0,0 +1,21 @@
+FROM golang:1.15.6-buster as builder
+
+ARG VERSION
+
+ENV CGO_ENABLED=0 GOOS=linux GOARCH=amd64
+WORKDIR /tmp/alps
+
+RUN git init && \
+ git remote add origin https://git.sr.ht/~migadu/alps && \
+ git fetch --depth 1 origin ${VERSION} && \
+ git checkout FETCH_HEAD
+
+COPY skipverify.patch skipverify.patch
+
+RUN git apply skipverify.patch && \
+ go build -a -o /usr/local/bin/alps ./cmd/alps
+
+FROM scratch
+COPY --from=builder /usr/local/bin/alps /alps
+COPY --from=builder /tmp/alps/themes /themes
+ENTRYPOINT ["/alps"]
diff --git a/app/build/alps/skipverify.patch b/app/build/alps/skipverify.patch
new file mode 100644
index 0000000..14e14cb
--- /dev/null
+++ b/app/build/alps/skipverify.patch
@@ -0,0 +1,55 @@
+From 47765c10f1af2013556f76dc63dfa056167ae5e8 Mon Sep 17 00:00:00 2001
+From: Quentin <quentin@deuxfleurs.fr>
+Date: Fri, 4 Dec 2020 13:19:24 +0100
+Subject: [PATCH] Skip CA verification
+
+---
+ imap.go | 3 ++-
+ smtp.go | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/imap.go b/imap.go
+index 7554331..1a4931d 100644
+--- a/imap.go
++++ b/imap.go
+@@ -3,6 +3,7 @@ package alps
+ import (
+ "fmt"
+
++ "crypto/tls"
+ "github.com/emersion/go-imap"
+ imapclient "github.com/emersion/go-imap/client"
+ "github.com/emersion/go-message/charset"
+@@ -16,7 +17,7 @@ func (s *Server) dialIMAP() (*imapclient.Client, error) {
+ var c *imapclient.Client
+ var err error
+ if s.imap.tls {
+- c, err = imapclient.DialTLS(s.imap.host, nil)
++ c, err = imapclient.DialTLS(s.imap.host, &tls.Config{InsecureSkipVerify: true})
+ if err != nil {
+ return nil, fmt.Errorf("failed to connect to IMAPS server: %v", err)
+ }
+diff --git a/smtp.go b/smtp.go
+index 5e178f2..8d22f1d 100644
+--- a/smtp.go
++++ b/smtp.go
+@@ -3,6 +3,7 @@ package alps
+ import (
+ "fmt"
+
++ "crypto/tls"
+ "github.com/emersion/go-smtp"
+ )
+
+@@ -14,7 +15,7 @@ func (s *Server) dialSMTP() (*smtp.Client, error) {
+ var c *smtp.Client
+ var err error
+ if s.smtp.tls {
+- c, err = smtp.DialTLS(s.smtp.host, nil)
++ c, err = smtp.DialTLS(s.smtp.host, &tls.Config{InsecureSkipVerify: true})
+ if err != nil {
+ return nil, fmt.Errorf("failed to connect to SMTPS server: %v", err)
+ }
+--
+2.28.0
+