emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master b26e342: sieve-manage.el: Allow user to avoid START


From: Katsumi Yamaoka
Subject: [Emacs-diffs] master b26e342: sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
Date: Mon, 12 Sep 2016 23:07:29 +0000 (UTC)

branch: master
commit b26e3427820db1e37c885c7f1023c1dff5087798
Author: TSUCHIYA Masatoshi <address@hidden>
Commit: Katsumi Yamaoka <address@hidden>

    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).
---
 lisp/net/sieve-manage.el |   15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/lisp/net/sieve-manage.el b/lisp/net/sieve-manage.el
index 695bbd8..dbe8b22 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))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]