GNU bug report logs - #35969
proxy + excorporate -> Failed: Failed to retrieve https://outlook.office365.com/EWS/Services.wsdl

Previous Next

Package: emacs;

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


Message #88 received at 35969 <at> debbugs.gnu.org (full text, mbox):

From: "tenspd137 ." <dcday137 <at> gmail.com>
To: Thomas Fitzsimmons <fitzsim <at> fitzsim.org>
Cc: Andreas Schwab <schwab <at> linux-m68k.org>, 35969 <at> debbugs.gnu.org
Subject: Re: bug#35969: 26.2, Excorporate
Date: Tue, 18 Jun 2019 10:34:05 -0600
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

When I do the similar test by loading the url-http-create-request with
Thiomase's changes, I can get a connection and grab my schedule
through the proxy.

Let me know if I need to try something different.

Thanks!

-C

On Mon, Jun 17, 2019 at 4:08 PM Thomas Fitzsimmons <fitzsim <at> 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 <at> 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 <at> linux-m68k.org> wrote:
> >>
> >> On Jun 14 2019, Thomas Fitzsimmons <fitzsim <at> 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 <at> linux-m68k.org
> >> GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
> >> "And now for something completely different."




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.