diff options
author | TSUCHIYA Masatoshi <tsuchiya@namazu.org> | 2016-09-12 23:06:43 +0000 |
---|---|---|
committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2016-09-12 23:06:43 +0000 |
commit | b26e3427820db1e37c885c7f1023c1dff5087798 (patch) | |
tree | b2830b2875fab880464b586e2f90d9c813ea8fa2 /lisp/net/sieve-manage.el | |
parent | ee98ca67f886698b6072095e55b820b1c31e1236 (diff) | |
download | emacs-b26e3427820db1e37c885c7f1023c1dff5087798.tar.gz |
sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
* lisp/net/sieve-manage.el
(sieve-manage-ignore-broken-tls): New user option.
(sieve-manage-open-server):
Don't test STARTTLS capability if the option is set (bug#24422).
Diffstat (limited to 'lisp/net/sieve-manage.el')
-rw-r--r-- | lisp/net/sieve-manage.el | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lisp/net/sieve-manage.el b/lisp/net/sieve-manage.el index 695bbd860de..dbe8b22319b 100644 --- a/lisp/net/sieve-manage.el +++ b/lisp/net/sieve-manage.el @@ -146,6 +146,11 @@ for doing the actual authentication." :type 'symbol :group 'sieve-manage) +(defcustom sieve-manage-ignore-broken-tls nil + "Ignore STARTTLS even if STARTTLS capability is provided." + :type 'boolean + :group 'sieve-manage) + ;; Internal variables: (defconst sieve-manage-local-variables '(sieve-manage-server @@ -210,14 +215,16 @@ Return the buffer associated with the connection." :return-list t :starttls-function (lambda (capabilities) - (when (string-match "\\bSTARTTLS\\b" capabilities) - "STARTTLS\r\n"))) + (when (and (not sieve-manage-ignore-broken-tls) + (string-match "\\bSTARTTLS\\b" capabilities)) + "STARTTLS\r\n"))) (setq sieve-manage-process proc) (setq sieve-manage-capability (sieve-manage-parse-capability (plist-get props :capabilities))) ;; Ignore new capabilities issues after successful STARTTLS - (when (and (memq stream '(nil network starttls)) - (eq (plist-get props :type) 'tls)) + (when (or sieve-manage-ignore-broken-tls + (and (memq stream '(nil network starttls)) + (eq (plist-get props :type) 'tls))) (sieve-manage-drop-next-answer)) (current-buffer)))) |