Subject: Re: bug#54921: eww/url mishandles IDN over proxy

From: Andreas Schwab <[email-masked]>
Date: Thu, 14 Apr 2022 15:52:57 +0200

On Apr 14 2022, Lars Ingebrigtsen wrote:

> Andreas Schwab <[email-masked]> writes:
>
>> I have set https_proxy=http://localhost:8118/ in the environment, which
>> is picked up by url to set url-proxy-services.
>
> Hm, right...
>
> I'm not at all familiar with this code, so here's a stab in the dark.
> Does this fix the problem?
>
> diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
> index daeba17031..22e003d22d 100644
> --- a/lisp/url/url-http.el
> +++ b/lisp/url/url-http.el
> @@ -1405,10 +1405,12 @@ url-https-proxy-connect
>                (and proxy-auth
>                     (concat "Proxy-Authorization: " proxy-auth "\r\n")))
>              "\r\n")
> -    (url-host url-current-object)
> +    (url-http--encode-string
> +     (puny-encode-domain (url-host url-current-object)))
>      (or (url-port url-current-object)
>          url-https-default-port)
> -    (url-host url-current-object))))
> +    (url-http--encode-string
> +     (puny-encode-domain (url-host url-current-object))))))

url-http--encode-string shouldn't be needed, since puny encoding is
always ASCII.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."