From: Thomas Fitzsimmons <fitzsim@fitzsim.org>
To: "tenspd137 ." <dcday137@gmail.com>
Cc: Andreas Schwab <schwab@linux-m68k.org>, 35969@debbugs.gnu.org
Subject: bug#35969: 26.2, Excorporate
Date: Wed, 19 Jun 2019 00:26:04 -0400 [thread overview]
Message-ID: <m38stykxpf.fsf@fitzsim.org> (raw)
In-Reply-To: <CAB=m8w+2B6iKE3X4GJ1ARjPFmQkqr6VwZmVU+AT_z=HB9MX-2w@mail.gmail.com> (tenspd's message of "Tue, 18 Jun 2019 10:34:05 -0600")
Hi,
"tenspd137 ." <dcday137@gmail.com> writes:
> So - I am not sure if I did it correctly, but I copied this function
> with Andreas' changes into a file:
>
> (defun url-https-proxy-after-change-function (_st _nd _length)
> (let* ((process-buffer (current-buffer))
> (proc (get-buffer-process process-buffer)))
> (goto-char (point-min))
> (when (re-search-forward "^\r?\n" nil t)
> (backward-char 1)
> ;; Saw the end of the headers
> (setq url-http-end-of-headers (set-marker (make-marker) (point)))
> (url-http-parse-response)
> (cond
> ((null url-http-response-status)
> ;; We got back a headerless malformed response from the
> ;; server.
> (url-http-activate-callback)
> (error "Malformed response from proxy, fail!"))
> ((= url-http-response-status 200)
> (if (gnutls-available-p)
> (condition-case e
> (let ((tls-connection (gnutls-negotiate
> :process proc
> :hostname (url-host url-current-object)
> :verify-error nil)))
> ;; check certificate validity
> (setq tls-connection
> (nsm-verify-connection tls-connection
> (url-host url-current-object)
> (url-port url-current-object)))
> (with-current-buffer process-buffer (erase-buffer))
> (set-process-buffer tls-connection process-buffer)
> (setq url-http-after-change-function
> 'url-http-wait-for-headers-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)
> (url-http-create-request))))
> (gnutls-error
> (url-http-activate-callback)
> (error "gnutls-error: %s" e))
> (error
> (url-http-activate-callback)
> (error "error: %s" e)))
> (error "error: gnutls support needed!")))
> (t
> (url-http-debug "error response: %d" url-http-response-status)
> (url-http-activate-callback))))))
>
> and then loaded it before running excorporate. After that, I did M-x
> excorporate, and the minibuffer returns: error in process filter:
> Server response is not an XML document
In this scenario, if you immediately (without restarting Emacs/reloading
anything) re-run M-x excorporate does it still fail? I just want to
make sure that's not a transient failure. If it does fail the second
time, can you post the HTTP response from the server?
> When I do the similar test by loading the url-http-create-request with
> Thomas's changes, I can get a connection and grab my schedule
> through the proxy.
OK.
> Let me know if I need to try something different.
Are you in a position to build Emacs master tip and retry the experiment
without patching anything?
Thanks,
Thomas
> On Mon, Jun 17, 2019 at 4:08 PM Thomas Fitzsimmons <fitzsim@fitzsim.org> wrote:
>>
>> Hi,
>>
>> Good to hear that the patch I posted worked!
>>
>> Yes, that's the patch that Andreas's commit
>> 84613dae5c34ea742dd9a3e56f5acb55f604b483 applied. From what I can tell,
>> you will not have that in Emacs 26.2.
>>
>> Can you try reverting my patch and applying Andreas's patch, and see if
>> Excorporate still works through the proxy?
>>
>> Thanks,
>> Thomas
>>
>> "tenspd137 ." <dcday137@gmail.com> writes:
>>
>> > The patch Thomas seems to work from behind the proxy. My current
>> > emacs version is 26.2, so I would think it would include the commit
>> > Andreas is talking about.... I went and looked it up - is this the
>> > correct commit?
>> >
>> > diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
>> > index 53798f7..817c5ce 100644
>> > --- a/lisp/url/url-http.el
>> > +++ b/lisp/url/url-http.el
>> > @@ -1412,7 +1412,9 @@ The return value of this function is the
>> > retrieval buffer."
>> > '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))
>> >
>> > Thanks!
>> >
>> > -C
>> >
>> >
>> > On Sat, Jun 15, 2019 at 1:41 AM Andreas Schwab <schwab@linux-m68k.org> wrote:
>> >>
>> >> 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))
>> >>
>> >> That should already be handled by commit 84613dae5c.
>> >>
>> >> Andreas.
>> >>
>> >> --
>> >> Andreas Schwab, schwab@linux-m68k.org
>> >> GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
>> >> "And now for something completely different."
next prev parent reply other threads:[~2019-06-19 4:26 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-28 21:25 bug#35969: 26.2, Excorporate tenspd137 .
2019-05-29 1:04 ` Thomas Fitzsimmons
2019-05-29 16:17 ` tenspd137 .
2019-05-29 17:02 ` Thomas Fitzsimmons
2019-05-29 18:13 ` tenspd137 .
2019-05-29 20:53 ` Thomas Fitzsimmons
2019-05-29 21:44 ` tenspd137 .
2019-05-29 22:01 ` Thomas Fitzsimmons
2019-05-29 22:10 ` tenspd137 .
2019-05-30 17:06 ` tenspd137 .
2019-05-30 17:25 ` tenspd137 .
[not found] ` <CAB=m8wL0JNK+dQv68nddHuJ8yvHdsV9ehTaGJ00NK4spe1sQAQ@mail.gmail.com>
[not found] ` <m3blze4872.fsf@fitzsim.org>
[not found] ` <CAB=m8wJfGveEzVm46j2MLGFupdv2Lwn3VwL02_RAdirzDJKcSg@mail.gmail.com>
[not found] ` <CAB=m8wKv0dWgRctuc+bWyocNOPFertCt9K4SOB2Q_W5cPU_tTw@mail.gmail.com>
[not found] ` <m3tvd5p8zt.fsf@fitzsim.org>
[not found] ` <CAB=m8wLKtY_38m3mJ18_qhacRUNVCU-4GEFMAKXAdbc1Xamnxg@mail.gmail.com>
[not found] ` <m3d0jtp0c7.fsf@fitzsim.org>
[not found] ` <CAB=m8wL6KqATgAddiC3H7kzLSnbe5xTeAWrq5eqvr6n6aU-OKw@mail.gmail.com>
[not found] ` <m34l55oywz.fsf@fitzsim.org>
[not found] ` <CAB=m8wKHstZNzTZxj4m-UuOg9LNeu4LRrhysOaaQrSd6z1DE0A@mail.gmail.com>
[not found] ` <m3woi1nfxw.fsf@fitzsim.org>
2019-06-14 20:13 ` tenspd137 .
2019-06-14 20:16 ` tenspd137 .
2019-06-14 20:22 ` Noam Postavsky
2019-06-14 20:32 ` tenspd137 .
2019-06-14 20:45 ` tenspd137 .
2019-06-14 21:02 ` Thomas Fitzsimmons
2019-06-14 21:48 ` tenspd137 .
2019-06-14 22:07 ` tenspd137 .
2019-06-14 23:07 ` tenspd137 .
2019-06-14 23:14 ` tenspd137 .
2019-06-15 0:14 ` Thomas Fitzsimmons
2019-06-15 0:47 ` tenspd137 .
2019-06-15 0:36 ` Thomas Fitzsimmons
2019-06-15 7:41 ` Andreas Schwab
2019-06-17 16:31 ` tenspd137 .
2019-06-17 22:08 ` Thomas Fitzsimmons
2019-06-18 16:34 ` tenspd137 .
2019-06-19 4:26 ` Thomas Fitzsimmons [this message]
2019-06-20 20:34 ` tenspd137 .
2019-07-09 21:52 ` Thomas Fitzsimmons
2019-07-09 22:09 ` Collin Day
2019-07-09 22:53 ` Collin Day
2019-07-10 0:08 ` Thomas Fitzsimmons
2019-07-10 0:11 ` Thomas Fitzsimmons
2019-07-10 15:35 ` Collin Day
2019-07-13 14:37 ` Thomas Fitzsimmons
2019-07-31 21:07 ` Thomas Fitzsimmons
2019-07-31 21:20 ` Andreas Schwab
2019-07-31 22:28 ` Collin Day
2019-08-01 1:58 ` Thomas Fitzsimmons
2019-08-16 3:40 ` Thomas Fitzsimmons
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m38stykxpf.fsf@fitzsim.org \
--to=fitzsim@fitzsim.org \
--cc=35969@debbugs.gnu.org \
--cc=dcday137@gmail.com \
--cc=schwab@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).