--- Begin Message ---
Subject: |
Proposal to create `sieve-manage-ignore-broken-tls' option |
Date: |
Mon, 12 Sep 2016 15:57:24 -0400 |
User-agent: |
Gnus/5.130014 (Ma Gnus v0.14) Emacs/24.4 (gnu/linux) |
Hi,
When accessing a managesieve server which provides broken TLS
connections, it is quite useful that sieve-manage-open-server() ignores
STARTTLS capability. Therefore, I propose the following patch.
Regards,
--
TSUCHIYA Masatoshi
--- a/lisp/sieve-manage.el
+++ b/lisp/sieve-manage.el
@@ -147,6 +147,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
@@ -211,14 +216,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))))
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#24422: Proposal to create `sieve-manage-ignore-broken-tls' option |
Date: |
Tue, 13 Sep 2016 08:08:37 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (i686-pc-cygwin) |
On Mon, 12 Sep 2016 15:57:24 -0400, TSUCHIYA Masatoshi wrote:
> When accessing a managesieve server which provides broken TLS
> connections, it is quite useful that sieve-manage-open-server() ignores
> STARTTLS capability. Therefore, I propose the following patch.
The patch looks fine and not likely to cause a trouble. I've
committed it in the Emacs master with this log entry:
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).
Thanks.
--- End Message ---