Subject: Re: bug#16960: 24.3.50; Infinite loop in url-retrieve-synchronously if method is POST and response status is 301/302

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 25 Dec 2015 21:36:32 +0100

Alex Kost <[email-masked]> writes:

> The problem is the following: when I try to login to
> https://aur.archlinux.org with `url-retrieve-synchronously' (see the
> code below), Emacs freezes (C-g helps) because callback passed to
> `url-retrieve' is never called.
>
> AFAIU this happens because `url-http-parse-headers' returns nil if
> response status is 301/302/307 and method is not "HEAD" or "GET" (see
> <http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/url/url-http.el#n574>).
> At least the problem goes away when I add:
>
>   (setq success t)
>
> after
>
>   (or `moved-permanently `found `temporary-redirect)
>
> in `url-http-parse-headers'.
>
> Would it be OK to allow such requests?
>
> Recipe is simple but you need to have an account on
> <https://aur.archlinux.org> for that:

I don't have an account there, so I can't reproduce this bug.  But could
you create a patch that fixes this problem?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no