diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2015-12-29 00:09:10 +0100 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2015-12-29 00:09:10 +0100 |
commit | fc3965ed9b19bdd167a466a06181c88ad59a57de (patch) | |
tree | f6802113b43466dc67c47df564e5c2c7a0af0714 /lisp/net | |
parent | 341feb3a26a0277f535217f4919b23eb70e3680e (diff) | |
download | emacs-fc3965ed9b19bdd167a466a06181c88ad59a57de.tar.gz emacs-fc3965ed9b19bdd167a466a06181c88ad59a57de.tar.bz2 emacs-fc3965ed9b19bdd167a466a06181c88ad59a57de.zip |
IDNA-encode all domain names in `open-network-stream'
* network-stream.el (open-network-stream)
(network-stream-open-plain, network-stream-open-starttls):
IDNA-encode all domain names, if needed.
Diffstat (limited to 'lisp/net')
-rw-r--r-- | lisp/net/network-stream.el | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el index 1eb5342009c..8e1ad637b29 100644 --- a/lisp/net/network-stream.el +++ b/lisp/net/network-stream.el @@ -46,6 +46,7 @@ (require 'starttls) (require 'auth-source) (require 'nsm) +(require 'puny) (autoload 'gnutls-negotiate "gnutls") (autoload 'open-gnutls-stream "gnutls") @@ -148,7 +149,7 @@ asynchronously, if possible." (plist-get parameters :capability-command)))))) ;; The simplest case: wrapper around `make-network-process'. (make-network-process :name name :buffer buffer - :host host :service service + :host (puny-encode-domain host) :service service :nowait (plist-get parameters :nowait)) (let ((work-buffer (or buffer (generate-new-buffer " *stream buffer*"))) @@ -198,7 +199,8 @@ asynchronously, if possible." (defun network-stream-open-plain (name buffer host service parameters) (let ((start (with-current-buffer buffer (point))) (stream (make-network-process :name name :buffer buffer - :host host :service service + :host (puny-encode-domain host) + :service service :nowait (plist-get parameters :nowait)))) (when (plist-get parameters :warn-unless-encrypted) (setq stream (nsm-verify-connection stream host service nil t))) @@ -219,7 +221,8 @@ asynchronously, if possible." eoc)) ;; Return (STREAM GREETING CAPABILITIES RESULTING-TYPE) (stream (make-network-process :name name :buffer buffer - :host host :service service)) + :host (puny-encode-domain host) + :service service)) (greeting (and (not (plist-get parameters :nogreeting)) (network-stream-get-response stream start eoc))) (capabilities (network-stream-command stream capability-command @@ -296,7 +299,8 @@ asynchronously, if possible." (unless require-tls (setq stream (make-network-process :name name :buffer buffer - :host host :service service)) + :host (puny-encode-domain host) + :service service)) (network-stream-get-response stream start eoc))) ;; Re-get the capabilities, which may have now changed. (setq capabilities |