summaryrefslogtreecommitdiff
path: root/lisp/net/sieve-manage.el
diff options
context:
space:
mode:
authorTSUCHIYA Masatoshi <tsuchiya@namazu.org>2016-09-12 23:06:43 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2016-09-12 23:06:43 +0000
commitb26e3427820db1e37c885c7f1023c1dff5087798 (patch)
treeb2830b2875fab880464b586e2f90d9c813ea8fa2 /lisp/net/sieve-manage.el
parentee98ca67f886698b6072095e55b820b1c31e1236 (diff)
downloademacs-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.el15
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))))