From 75f1882479cc62f8795bb652a0853a3f395420a2 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Thu, 11 Aug 2016 21:06:49 +0300 Subject: [PATCH] Convert the remaining strings to unibyte before concatenating * lisp/url/url-http.el (url-http--encode-string): New function. (url-http-create-request): Use it to convert ASCII to unibyte. (Bug#24117) --- lisp/url/url-http.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index 7156e6fa4ea..860e6529365 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el @@ -235,7 +235,7 @@ request.") 'url-http-proxy-basic-auth-storage)) (url-get-authentication url-http-proxy nil 'any nil)))) (real-fname (url-filename url-http-target-url)) - (host (url-host url-http-target-url)) + (host (url-http--encode-string (url-host url-http-target-url))) (auth (if (cdr-safe (assoc "Authorization" url-http-extra-headers)) nil (url-get-authentication (or @@ -278,7 +278,8 @@ request.") (concat ;; The request (or url-http-method "GET") " " - (if using-proxy (url-recreate-url url-http-target-url) real-fname) + (url-http--encode-string + (if using-proxy (url-recreate-url url-http-target-url) real-fname)) " HTTP/" url-http-version "\r\n" ;; Version of MIME we speak "MIME-Version: 1.0\r\n" @@ -360,6 +361,11 @@ request.") (url-http-debug "Request is: \n%s" request) request)) +(defun url-http--encode-string (s) + (if (multibyte-string-p s) + (encode-coding-string s 'us-ascii) + s)) + ;; Parsing routines (defun url-http-clean-headers () "Remove trailing \r from header lines. -- 2.39.2