]> git.eshelyaron.com Git - emacs.git/commit
Improve SOCKS error handling and support version 4a
authorF. Jason Park <jp@neverwas.me>
Mon, 14 Feb 2022 18:28:01 +0000 (10:28 -0800)
committerF. Jason Park <jp@neverwas.me>
Wed, 18 Oct 2023 13:23:57 +0000 (06:23 -0700)
commitb4b4b5f43158a4281d583a6dc573465533f4bf48
treeefc40f7e702d5e11c2e59ba5de20c5122134c262
parent2061bf0645e1f577c380ec81805e463f3c6fec7c
Improve SOCKS error handling and support version 4a

* doc/misc/url.texi: Mention version 4a in SOCKS portion of "Gateways
in general" node.
* etc/NEWS: Mention version 4a support in new `socks' section.
* lisp/net/socks.el (socks-server): Add new Custom choice `4a' for
version field.  This change does not further overload the field in
terms of expected type because `socks-send-command' and `socks-filter'
already accommodate the symbol `http'.
(socks--errors-4): Add new constant containing error messages for
version 4.  The semantics are faithful to the de facto spec, but the
exact wording is slightly adapted.
(socks-filter): Allow for a null "type" field on error with version 5.
Previously, certain errors would not propagate because a wrong-type
signal would get in the way.
(socks-send-command): Massage existing version 4 protocol parsing to
accommodate 4a, and add error handling for version 4.  Use variable
`socks-username' for v4 variable-length ID field instead of calling
`user-full-name', which has potential privacy implications.
* test/lisp/net/socks-tests.el (socks-tests-v4-basic): Don't mock
`user-full-name' because `socks-send-command' no longer calls it to
determine the ID.
(socks-tests-v4a-basic, socks-tests-v4a-error): Add a couple tests for
SOCKS version 4a.  (Bug#53941)
doc/misc/url.texi
etc/NEWS
lisp/net/socks.el
test/lisp/net/socks-tests.el