From b5c917f95abe53e47dde6bc5f5ad18f1100f57aa Mon Sep 17 00:00:00 2001 From: Felix Hammerl Date: Tue, 21 Apr 2015 18:16:21 +0200 Subject: [PATCH] [WO-955] WO-03-023 STARTTLS Setting leads to opportunistic STARTSSL --- package.json | 4 ++-- src/js/controller/login/login-set-credentials.js | 2 ++ src/js/service/auth.js | 4 ++++ src/js/util/connection-doctor.js | 2 ++ .../controller/login/login-set-credentials-ctrl-test.js | 6 ++++-- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index fbf0b68..0d56f62 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "grunt-svgmin": "~1.0.0", "grunt-svgstore": "~0.3.4", "iframe-resizer": "^2.8.3", - "imap-client": "~0.14.0", + "imap-client": "https://github.com/whiteout-io/imap-client/tarball/dev/WO-955", "jquery": "~2.1.1", "mailbuild": "^0.3.7", "mailreader": "~0.4.0", @@ -70,7 +70,7 @@ "ng-infinite-scroll": "~1.1.2", "openpgp": "^1.0.0", "pgpbuilder": "~0.6.0", - "pgpmailer": "~0.9.0", + "pgpmailer": "https://github.com/whiteout-io/pgpmailer/tarball/dev/WO-955", "sinon": "~1.7.3", "tcp-socket": "~0.5.0", "time-grunt": "^1.0.0", diff --git a/src/js/controller/login/login-set-credentials.js b/src/js/controller/login/login-set-credentials.js index de7d05a..604d0d0 100644 --- a/src/js/controller/login/login-set-credentials.js +++ b/src/js/controller/login/login-set-credentials.js @@ -68,12 +68,14 @@ var SetCredentialsCtrl = function($scope, $location, $routeParams, $q, auth, con host: $scope.imapHost.toLowerCase(), port: $scope.imapPort, secure: imapEncryption === ENCRYPTION_METHOD_TLS, + requireTLS: imapEncryption === ENCRYPTION_METHOD_STARTTLS, ignoreTLS: imapEncryption === ENCRYPTION_METHOD_NONE }, smtp: { host: $scope.smtpHost.toLowerCase(), port: $scope.smtpPort, secure: smtpEncryption === ENCRYPTION_METHOD_TLS, + requireTLS: smtpEncryption === ENCRYPTION_METHOD_STARTTLS, ignoreTLS: smtpEncryption === ENCRYPTION_METHOD_NONE } }; diff --git a/src/js/service/auth.js b/src/js/service/auth.js index e6dde9e..ca69358 100644 --- a/src/js/service/auth.js +++ b/src/js/service/auth.js @@ -94,6 +94,8 @@ Auth.prototype.getCredentials = function() { var credentials = { imap: { secure: self.imap.secure, + requireTLS: self.imap.requireTLS, + ignoreTLS: self.imap.ignoreTLS, port: self.imap.port, host: self.imap.host, ca: self.imap.ca, @@ -105,6 +107,8 @@ Auth.prototype.getCredentials = function() { }, smtp: { secure: self.smtp.secure, + requireTLS: self.smtp.requireTLS, + ignoreTLS: self.smtp.ignoreTLS, port: self.smtp.port, host: self.smtp.host, ca: self.smtp.ca, diff --git a/src/js/util/connection-doctor.js b/src/js/util/connection-doctor.js index 538b20a..fd41eeb 100644 --- a/src/js/util/connection-doctor.js +++ b/src/js/util/connection-doctor.js @@ -53,6 +53,7 @@ ConnectionDoctor.prototype.configure = function(credentials) { port: this.credentials.imap.port, secure: this.credentials.imap.secure, ignoreTLS: this.credentials.imap.ignoreTLS, + requireTLS: this.credentials.imap.requireTLS, ca: this.credentials.imap.ca, tlsWorkerPath: this._workerPath, auth: { @@ -65,6 +66,7 @@ ConnectionDoctor.prototype.configure = function(credentials) { this._smtp = new SmtpClient(this.credentials.smtp.host, this.credentials.smtp.port, { useSecureTransport: this.credentials.smtp.secure, ignoreTLS: this.credentials.smtp.ignoreTLS, + requireTLS: this.credentials.smtp.requireTLS, ca: this.credentials.smtp.ca, tlsWorkerPath: this._workerPath, auth: { diff --git a/test/unit/controller/login/login-set-credentials-ctrl-test.js b/test/unit/controller/login/login-set-credentials-ctrl-test.js index c126bd4..d0ee9ce 100644 --- a/test/unit/controller/login/login-set-credentials-ctrl-test.js +++ b/test/unit/controller/login/login-set-credentials-ctrl-test.js @@ -71,13 +71,15 @@ describe('Login (Set Credentials) Controller unit test', function() { host: scope.imapHost.toLowerCase(), port: scope.imapPort, secure: true, - ignoreTLS: false + ignoreTLS: false, + requireTLS: false }, smtp: { host: scope.smtpHost.toLowerCase(), port: scope.smtpPort, secure: false, - ignoreTLS: false + ignoreTLS: false, + requireTLS: true } };