summary refs log tree commit diff stats
path: root/worker
diff options
context:
space:
mode:
Diffstat (limited to 'worker')
-rw-r--r--worker/imap/worker.go44
1 files changed, 2 insertions, 42 deletions
diff --git a/worker/imap/worker.go b/worker/imap/worker.go
index 839a9a0..ade539a 100644
--- a/worker/imap/worker.go
+++ b/worker/imap/worker.go
@@ -2,7 +2,6 @@ package imap
 
 import (
 	"crypto/tls"
-	"crypto/x509"
 	"fmt"
 	"net/url"
 	"strings"
@@ -47,41 +46,6 @@ func NewIMAPWorker(worker *types.Worker) *IMAPWorker {
 	}
 }
 
-func (w *IMAPWorker) verifyPeerCert(msg types.WorkerMessage) func(
-	rawCerts [][]byte, _ [][]*x509.Certificate) error {
-
-	return func(rawCerts [][]byte, _ [][]*x509.Certificate) error {
-		pool := x509.NewCertPool()
-		for _, rawCert := range rawCerts {
-			cert, err := x509.ParseCertificate(rawCert)
-			if err != nil {
-				return err
-			}
-			pool.AddCert(cert)
-		}
-
-		request := &types.CertificateApprovalRequest{
-			Message:  types.RespondTo(msg),
-			CertPool: pool,
-		}
-		w.worker.PostMessage(request, nil)
-
-		response := <-w.worker.Actions
-		if response.InResponseTo() != request {
-			return fmt.Errorf("Expected UI to respond to cert request")
-		}
-		if approval, ok := response.(*types.ApproveCertificate); !ok {
-			return fmt.Errorf("Expected UI to send certificate approval")
-		} else {
-			if approval.Approved {
-				return nil
-			} else {
-				return fmt.Errorf("UI rejected certificate")
-			}
-		}
-	}
-}
-
 func (w *IMAPWorker) handleMessage(msg types.WorkerMessage) error {
 	if w.idleStop != nil {
 		close(w.idleStop)
@@ -117,10 +81,6 @@ func (w *IMAPWorker) handleMessage(msg types.WorkerMessage) error {
 			c   *client.Client
 			err error
 		)
-		tlsConfig := &tls.Config{
-			InsecureSkipVerify:    true,
-			VerifyPeerCertificate: w.verifyPeerCert(msg),
-		}
 		switch w.config.scheme {
 		case "imap":
 			c, err = client.Dial(w.config.addr)
@@ -129,12 +89,12 @@ func (w *IMAPWorker) handleMessage(msg types.WorkerMessage) error {
 			}
 
 			if !w.config.insecure {
-				if err := c.StartTLS(tlsConfig); err != nil {
+				if err := c.StartTLS(&tls.Config{}); err != nil {
 					return err
 				}
 			}
 		case "imaps":
-			c, err = client.DialTLS(w.config.addr, tlsConfig)
+			c, err = client.DialTLS(w.config.addr, &tls.Config{})
 			if err != nil {
 				return err
 			}