[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master fc3965e 4/6: IDNA-encode all domain names in `open-
From: |
Lars Ingebrigtsen |
Subject: |
[Emacs-diffs] master fc3965e 4/6: IDNA-encode all domain names in `open-network-stream' |
Date: |
Mon, 28 Dec 2015 23:11:55 +0000 |
branch: master
commit fc3965ed9b19bdd167a466a06181c88ad59a57de
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>
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.
---
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 1eb5342..8e1ad63 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
- [Emacs-diffs] master updated (0e99ccb -> 5fcbeaf), Lars Ingebrigtsen, 2015/12/28
- [Emacs-diffs] master 1efc5f8 2/6: shr link traversal fixup, Lars Ingebrigtsen, 2015/12/28
- [Emacs-diffs] master fc3965e 4/6: IDNA-encode all domain names in `open-network-stream',
Lars Ingebrigtsen <=
- [Emacs-diffs] master 5fcbeaf 6/6: Mention the new puny.el library, Lars Ingebrigtsen, 2015/12/28
- [Emacs-diffs] master d686802 1/6: Reconnect erc even on server errors, Lars Ingebrigtsen, 2015/12/28
- [Emacs-diffs] master 341feb3 3/6: Fix puny-encoding all-non-ASCII domains, Lars Ingebrigtsen, 2015/12/28
- [Emacs-diffs] master 8b61c22 5/6: IDNA-related fixes for the URL library, Lars Ingebrigtsen, 2015/12/28