[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35969: 26.2, Excorporate
From: |
Thomas Fitzsimmons |
Subject: |
bug#35969: 26.2, Excorporate |
Date: |
Wed, 31 Jul 2019 17:07:38 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Hi,
I found a proxy server to test against. I've now replicated Collin's
findings.
Andreas Schwab <schwab@linux-m68k.org> writes:
> On Jun 14 2019, Thomas Fitzsimmons <fitzsim@fitzsim.org> wrote:
>
>> diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
>> index 00803a103a..723d111d58 100644
>> --- a/lisp/url/url-http.el
>> +++ b/lisp/url/url-http.el
>> @@ -329,7 +329,10 @@ url-http-create-request
>> ;; The request
>> (or url-http-method "GET") " "
>> (url-http--encode-string
>> - (if using-proxy (url-recreate-url url-http-target-url)
>> real-fname))
>> + (if (and using-proxy
>> + (not (equal "https" (url-type url-http-target-url))))
>> + (url-recreate-url url-http-target-url)
>> + real-fname))
For discussion purposes, let's call the above "patch T"...
> That should already be handled by commit 84613dae5c.
... and this commit "patch A", which is:
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 53798f77c3..817c5ce3b3 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -1412,7 +1412,9 @@ url-https-proxy-after-change-function
'url-http-wait-for-headers-change-function)
(set-process-filter tls-connection 'url-http-generic-filter)
(process-send-string tls-connection
- (url-http-create-request)))
+ ;; Use the non-proxy form of the request
+ (let (url-http-proxy)
+ (url-http-create-request))))
(gnutls-error
(url-http-activate-callback)
(error "gnutls-error: %s" e))
I tried on Emacs 26.2 and master tip, and in both cases, Excorporate
worked with patch T applied and patch A not present (26.2) or reverted
(master); it failed with any other combination of the patches (A and T,
A only, neither A nor T).
One difference I noticed is that with A applied, the Connection header
is set to keep-alive and the connection is reused, whereas with just T,
Connection is set to close and the connection is re-established. The
attached patch fixes it. Andreas, do you have a test case that patch A
fixed, and if so, can you retest with the proposed fix?
Thanks,
Thomas
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 838f0a30c1..eb054cd65a 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -1436,7 +1436,8 @@ url-https-proxy-after-change-function
(set-process-filter tls-connection 'url-http-generic-filter)
(process-send-string tls-connection
;; Use the non-proxy form of the request
- (let (url-http-proxy)
+ (let (url-http-proxy
+ url-http-attempt-keepalives)
(url-http-create-request))))
(gnutls-error
(url-http-activate-callback)
- bug#35969: 26.2, Excorporate,
Thomas Fitzsimmons <=