GNU bug report logs - #54921
eww/url mishandles IDN over proxy

Previous Next

Package: emacs;

Reported by: Andreas Schwab <schwab <at> linux-m68k.org>

Date: Wed, 13 Apr 2022 21:43:01 UTC

Severity: normal

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: 54921 <at> debbugs.gnu.org
Subject: Re: bug#54921: eww/url mishandles IDN over proxy
Date: Thu, 14 Apr 2022 17:54:28 +0200
Andreas Schwab <schwab <at> linux-m68k.org> writes:

> error in process filter: url-https-proxy-after-change-function: Error:
> (error Non-ASCII hostname www.pimmelgate-süd.de detected, please use
> puny-encode-domain)

Try:

diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index daeba17031..06e7dbf756 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))))))
 
 (defun url-https-proxy-after-change-function (_st _nd _length)
   (let* ((process-buffer (current-buffer))
@@ -1430,12 +1432,12 @@ url-https-proxy-after-change-function
             (condition-case e
                 (let ((tls-connection (gnutls-negotiate
                                        :process proc
-                                       :hostname (url-host url-current-object)
+                                       :hostname (puny-encode-domain (url-host url-current-object))
                                        :verify-error nil)))
                   ;; check certificate validity
                   (setq tls-connection
                         (nsm-verify-connection tls-connection
-                                               (url-host url-current-object)
+                                               (puny-encode-domain (url-host url-current-object))
                                                (url-port url-current-object)))
                   (with-current-buffer process-buffer (erase-buffer))
                   (set-process-buffer tls-connection process-buffer)


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




This bug report was last modified 3 years and 33 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.