diff options
author | F. Jason Park <jp@neverwas.me> | 2021-02-05 19:41:04 -0800 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2021-02-20 13:03:12 +0200 |
commit | 43703a06b9ea31b86c46bef7cb488ea885569ddc (patch) | |
tree | c4f227467b7a051fb9a93d10fee99726cdbf47ad /lisp | |
parent | acf71609200e56ef28f31be0df33ea3905eb2188 (diff) | |
download | emacs-43703a06b9ea31b86c46bef7cb488ea885569ddc.tar.gz emacs-43703a06b9ea31b86c46bef7cb488ea885569ddc.tar.bz2 emacs-43703a06b9ea31b86c46bef7cb488ea885569ddc.zip |
Use raw bytes for SOCKS 4 IP addresses
* lisp/net/socks.el: (socks--open-network-stream, socks-send-command):
* test/lisp/net/socks-tests.el: (socks-tests-v4-basic): (Bug#46342).
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/net/socks.el | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/net/socks.el b/lisp/net/socks.el index 96fafc826b8..1da1d31d678 100644 --- a/lisp/net/socks.el +++ b/lisp/net/socks.el @@ -390,6 +390,8 @@ proc))) (defun socks-send-command (proc command atype address port) + "Send COMMAND to SOCKS service PROC for proxying ADDRESS and PORT. +When ATYPE indicates an IP, param ADDRESS must be given as raw bytes." (let ((addr (cond ((or (= atype socks-address-type-v4) (= atype socks-address-type-v6)) @@ -528,7 +530,7 @@ (setq host (socks-nslookup-host host)) (if (not (listp host)) (error "Could not get IP address for: %s" host)) - (setq host (apply #'format "%c%c%c%c" host)) + (setq host (apply #'unibyte-string host)) socks-address-type-v4) (t socks-address-type-name)))) |