diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-05-20 14:01:59 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-05-20 14:01:59 -0400 |
commit | a9aebe11d7801d0e574dc7b69de6c798d5c0e1f0 (patch) | |
tree | b2fce3447fe2cb261c0ea5f724d9f7e702a708db /worker/imap | |
parent | 22cc40f4d482e76a53a72f7a3c6ddf8038b3c98e (diff) | |
download | aerc-a9aebe11d7801d0e574dc7b69de6c798d5c0e1f0.tar.gz |
asdf
Diffstat (limited to 'worker/imap')
-rw-r--r-- | worker/imap/worker.go | 44 |
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 } |