GNU bug report logs -
#35969
proxy + excorporate -> Failed: Failed to retrieve https://outlook.office365.com/EWS/Services.wsdl
Previous Next
Reported by: "tenspd137 ." <dcday137 <at> gmail.com>
Date: Tue, 28 May 2019 22:26:02 UTC
Severity: normal
Found in version 26.2
Done: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Thomas -
I was able to try stepping through an Emacs/proxy/Exchange test in an
emacs -Q session. After setting the proxy and configuring the
debugger to step through url-http and url-http-async-sentilnel, the
only thing I noticed is that it appears url-http-async-sentinel is not
being called. I also put the url-https-proxy-connect override you
gave me earlier into a file, loaded it and set the debugger to run
through that as well as set up proxies. A broken down list of steps:
1. Load file containing proxy and altered url-https-proxyconnect, set
debugger to run through it when hit.
2. set up url-http and url-http-async-sentinel to be picked up by debugger
3. eval (url-retrieve-synchronously
"https://outlook.office365.com/EWS/Exchange.asmx"), step through
url-http
4. Input username and password when asked
5. Continue stepping until end
url-http-async-sentinel is never called. " *http* ... -####" has text
indicating failure. url-https-proxy-connect is indeed called. I don't
know how to look at the actual <process>, if I try to C-x C-e or M-:
"connection", it goes into the debugger. The url's, etc look good as
far as I can tell. Not sure what else I can do. If there are certain
pieces of url-http you want me to look at, just let me know, but not
really knowing what has to happen under the hood, I am not going to be
able to do much else.
Thanks!
-C
On Tue, Jun 4, 2019 at 4:28 PM Thomas Fitzsimmons <fitzsim <at> fitzsim.org> wrote:
>
> "tenspd137 ." <dcday137 <at> gmail.com> writes:
>
> > Oh - I see. Because you want to look at the *HEADERS* flying around
> > in that case. Understood.
>
> Right.
>
> > Quick question - using emacs -Q on my proxied machine
> >
> > (setq url-http-proxy "myproxy") doesn't seem to work, so I have been just doing:
> >
> > (setq url-proxy-services '(("http" . "myproxy")
> > ("https" . "myproxy")))
> >
> > then, I evaluate:
> >
> > (defun url-https-proxy-connect (connection)
> > (setq url-http-after-change-function 'url-https-proxy-after-change-function)
> > (message "THIS WAS CALLED: url-https-proxy-connect")
> > (process-send-string connection (format (concat "CONNECT %s:%d HTTP/1.1\r\n"
> > "Host: %s\r\n"
> > "\r\n")
> > (url-host url-current-object)
> > (or (url-port url-current-object)
> > url-https-default-port)
> > (url-host url-current-object))))
> >
> > which, if I understand correctly, adds the messaging to the orgiinal
> > url-https-proxy-connect.
>
> That's correct.
>
> > Then I evaluate
> >
> > (url-retrieve-synchronously "https://outlook.office365.com/EWS/Exchange.asmx")
> >
> > after sending username and password, THIS WAS CALLED does not appear
> > in the messages. Am I using it correctly, or is this not being
> > called? I have to ask, because at this point in my emacs usage, I
> > always bet first that I have done something wrong.
>
> I think you're doing everything correctly, so this suggests that Emacs
> isn't doing any proxy handling, or at least that it is not initiating
> the "CONNECT" protocol.
>
> From the wget output in your other email, it shows wget
> connecting to the proxy with CONNECT. This protocol keeps the TLS
> "tunnel" through the proxy open, and as far as I know, is required for
> Exchange authentication to work through a proxy.
>
> Then the logs also show:
>
> Connection: Keep-Alive
> Proxy-Connection: Keep-Alive
>
> which are important; even when you set Connection keep-alive, Emacs was
> still sending both Connection close and Connection keep-alive which is
> probably not valid.
>
> You may have reached the limit of what Emacs can currently do for
> proxies, but it's up to someone (maybe me) to eventually implement
> CONNECT properly if it isn't already.
>
> A next step would be to repeat your Emacs/proxy/Exchange experiments
> until you get url-https-proxy-connect to be called or figure out why it
> isn't being called.
>
> The only two callers are url-http and url-http-async-sentinel. To step
> through them with edebug do:
>
> C-h f url-http RET C-x o TAB RET C-u C-M-x
>
> Likewise for url-http-async-sentinel, then redo your experiment and step
> through the functions with SPC and eval stuff with C-x e to see where
> they go off the rails before calling url-https-proxy-connect.
>
> > Still looking into wget verbosity....
>
> I saw the other email, nice; is that output just with the -d option?
>
> BTW, it seems like Emacs is supposed to read the _proxy environment
> variables the way wget does. Have you tried running emacs -Q in an
> environment that has http_proxy and https_proxy set, and then not
> setting any of the Emacs proxy variables and doing the Exchange
> authentication experiment?
>
> Thanks,
> Thomas
This bug report was last modified 5 years and 364 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.