IDNA-related fixes for the URL library
* lisp/url/url-http.el (url-http-create-request): IDNA-encode the Host: header. * lisp/url/url-util.el (url-encode-url): Don't hex-encode domain names, but leave them as UTF-8, so that they can be IDNA-encoded later when contacting the host.
This commit is contained in:
parent
fc3965ed9b
commit
8b61c22ea1
2 changed files with 5 additions and 3 deletions
|
@ -26,6 +26,7 @@
|
|||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'puny)
|
||||
(eval-when-compile
|
||||
(require 'subr-x))
|
||||
|
||||
|
@ -318,8 +319,9 @@ request.")
|
|||
(url-scheme-get-property
|
||||
(url-type url-http-target-url) 'default-port))
|
||||
(format
|
||||
"Host: %s:%d\r\n" host (url-port url-http-target-url))
|
||||
(format "Host: %s\r\n" host))
|
||||
"Host: %s:%d\r\n" (puny-encode-domain host)
|
||||
(url-port url-http-target-url))
|
||||
(format "Host: %s\r\n" (puny-encode-domain host)))
|
||||
;; Who its from
|
||||
(if url-personal-mail-address
|
||||
(concat
|
||||
|
|
|
@ -468,7 +468,7 @@ should return it unchanged."
|
|||
(and host
|
||||
(not (string-match "\\`\\[.*\\]\\'" host))
|
||||
(setf (url-host obj)
|
||||
(url-hexify-string host url-host-allowed-chars)))
|
||||
(decode-coding-string (url-host obj) 'utf-8)))
|
||||
|
||||
(if path
|
||||
(setq path (url-hexify-string path url-path-allowed-chars)))
|
||||
|
|
Loading…
Add table
Reference in a new issue