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).
This commit is contained in:
parent
ee98ca67f8
commit
b26e342782
1 changed files with 11 additions and 4 deletions
|
@ -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))))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue