Implement "skip TLS verification" as command line argument

This commit is contained in:
Alex 2021-03-08 17:22:46 +01:00
parent 54d085f7f3
commit bc40bed6e5
No known key found for this signature in database
GPG key ID: EDABF9711E244EB1
4 changed files with 11 additions and 7 deletions

View file

@ -34,6 +34,7 @@ func main() {
flag.StringVar(&options.Theme, "theme", "", "default theme")
flag.StringVar(&addr, "addr", ":1323", "listening address")
flag.BoolVar(&options.Debug, "debug", false, "enable debug logs")
flag.BoolVar(&options.SkipTlsVerification, "skiptlsverification", false, "skip TLS hostname verification")
flag.StringVar(&loginKey, "login-key", "", "Fernet key for login persistence")
flag.Usage = func() {

View file

@ -1,6 +1,7 @@
package alps
import (
"crypto/tls"
"fmt"
"github.com/emersion/go-imap"
@ -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: s.Options.SkipTlsVerification})
if err != nil {
return nil, fmt.Errorf("failed to connect to IMAPS server: %v", err)
}

View file

@ -365,11 +365,12 @@ func handleUnauthenticated(next echo.HandlerFunc, ctx *Context) error {
}
type Options struct {
Upstreams []string
Theme string
ThemesPath string
Debug bool
LoginKey *fernet.Key
Upstreams []string
Theme string
ThemesPath string
Debug bool
SkipTlsVerification bool
LoginKey *fernet.Key
}
// New creates a new server.

View file

@ -1,6 +1,7 @@
package alps
import (
"crypto/tls"
"fmt"
"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: s.Options.SkipTlsVerification})
if err != nil {
return nil, fmt.Errorf("failed to connect to SMTPS server: %v", err)
}