Fix long credentials when using auth in url.el

* lisp/url/url-auth.el (url-basic-auth): When base64-ing
credentials, don't let bsae64-encode-string split the result into
several lines, because servers do not understand that (bug#36619).
This commit is contained in:
Lars Ingebrigtsen 2019-07-13 01:27:32 +02:00
parent ebd3f61a56
commit 655fe3fe0d

View file

@ -82,7 +82,7 @@ instead of the filename inheritance method."
(cond
((and user pass)
;; Explicit http://user:pass@foo/ URL. Just return the credentials.
(setq retval (base64-encode-string (format "%s:%s" user pass))))
(setq retval (base64-encode-string (format "%s:%s" user pass) t)))
((and prompt (not byserv))
(setq user (or
(url-do-auth-source-search server type :user)
@ -97,7 +97,8 @@ instead of the filename inheritance method."
(setq retval
(base64-encode-string
(format "%s:%s" user
(encode-coding-string pass 'utf-8))))))
(encode-coding-string pass 'utf-8))
t))))
(symbol-value url-basic-auth-storage))))
(byserv
(setq retval (cdr-safe (assoc file byserv)))
@ -120,7 +121,7 @@ instead of the filename inheritance method."
pass (or
(url-do-auth-source-search server type :secret)
(read-passwd "Password: "))
retval (base64-encode-string (format "%s:%s" user pass))
retval (base64-encode-string (format "%s:%s" user pass) t)
byserv (assoc server (symbol-value url-basic-auth-storage)))
(setcdr byserv
(cons (cons file retval) (cdr byserv))))))