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 /test/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 'test/lisp')
-rw-r--r-- | test/lisp/net/socks-tests.el | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/lisp/net/socks-tests.el b/test/lisp/net/socks-tests.el index 340a42d79cc..9a2dcba9daf 100644 --- a/test/lisp/net/socks-tests.el +++ b/test/lisp/net/socks-tests.el @@ -185,6 +185,26 @@ Vectors must match verbatim. Strings are considered regex patterns.") (kill-buffer buf) (ignore url-gateway-method))) +;; Unlike curl, socks.el includes the ID field (but otherwise matches): +;; $ curl --proxy socks4://127.0.0.1:1080 example.com + +(ert-deftest socks-tests-v4-basic () + "Show correct preparation of SOCKS4 connect command (Bug#46342)." + (let ((socks-server '("server" "127.0.0.1" 10079 4)) + (url-user-agent "Test/4-basic") + (socks-tests-canned-server-patterns + `(([4 1 0 80 93 184 216 34 ?f ?o ?o 0] . [0 90 0 0 0 0 0 0]) + ,socks-tests--hello-world-http-request-pattern)) + socks-nslookup-program) + (ert-info ("Make HTTP request over SOCKS4") + (cl-letf (((symbol-function 'socks-nslookup-host) + (lambda (host) + (should (equal host "example.com")) + (list 93 184 216 34))) + ((symbol-function 'user-full-name) + (lambda () "foo"))) + (socks-tests-perform-hello-world-http-request))))) + ;; Replace first pattern below with ([5 3 0 1 2] . [5 2]) to validate ;; against curl 7.71 with the following options: ;; $ curl --verbose -U foo:bar --proxy socks5h://127.0.0.1:10080 example.com |