summaryrefslogtreecommitdiff
path: root/crates/arti/src/socks.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix a local-only CPU DoS bug.Nick Mathewson2023-05-231-0/+10
| | | | | | | | | | | | | | | | | | Previously, there was a bug in the way that our code used our SOCKS implementations. If the buffer used for a SOCKS handshake became full without completing the handshake, then rather than expanding the buffer or closing the connection, our code would keep trying to read into the zero-byte slice available in the full buffer forever, in a tight loop. We're classifying this as a LOW-severity issue, since it is only exploitable by pluggable transports (which are trusted) and by local applications with access to the SOCKS port. Closes #861. Fixes TROVE-2023-001. Reported-By: Jakob Lell <jakob AT srlabs DOT de>
* Use ErrorReport/Report for errors in warn! in artiIan Jackson2023-01-301-3/+4
|
* resolve ip through socks by parsing themtrinity-1686a2023-01-031-15/+25
|
* Spelling fixes and normalizations on some high-level cratesNick Mathewson2022-11-071-1/+1
|
* socksproto: Rename SocksHandshake to SocksProxyHandshake.Nick Mathewson2022-09-271-1/+1
| | | | | | | | Retain "SocksHandshake" as a deprecated synonym. Also, make an (on-by-default) feature for SocksProxyHandshake. (There is about to be a SocksClientHandshake as well.)
* arti: Adjust severity on per-socks-request log.Nick Mathewson2022-08-251-4/+6
| | | | | Also, note why we aren't hiding the addrs that we're listening on here.
* arti: Move most public APIs behind `experimental-api`.Nick Mathewson2022-08-111-2/+4
| | | | | | | | | | | | | | | | | The remaining unconditionally public APIs are those related to our configuration objects, and the main_main() API. The rationale for making main_main() public is to have an actual entry point. The rationale for making the config APIs public is: 1. We really do intend for others to be able to read our configuration files using this API. 2. The structure of our configuration files is already part of our interface. Closes #530.
* socksproto: Use fallible writers.Nick Mathewson2022-07-111-10/+20
| | | | Also, make private a function that had formerly been `pub`.
* reply socks error on more codepathtrinity-1686a2022-05-251-48/+67
|
* Apply `sensitive` in some info-level log messages.Nick Mathewson2022-05-061-2/+3
| | | | | This specifically applies the `sensitive` wrapper in the places where we're logging target addresses at level "info" or higher.
* squash! Bump every crate's edition to 2021.Nick Mathewson2022-04-251-1/+0
| | | | | Remove all `use` statements for `TryFrom` and `TryInto`. These are now redundant in Rust 2021.
* rename *_isolation_group to *_isolationtrinity-1686a2022-03-241-1/+1
|
* Alternative API for set_isolation_group().Nick Mathewson2022-03-171-1/+1
| | | | | | | | | | | | Instead of requiring a `Box<dyn Isolation>`, it now takes either a `Box<dyn Isolation>`, or an arbitrary `T` that implements `Isolation`. This API still allows the user to pass in a `Box<dyn Isolation>` if that's what they have, but it doesn't require them to Box the isolation on their own. Part of #414.
* add isolation to dns requeststrinity-1686a2022-03-161-3/+3
|
* accept boxed isolation in StreamPref::set_isolation_grouptrinity-1686a2022-03-161-1/+1
|
* replace IsolationMap with new Isolation traittrinity-1686a2022-03-161-102/+14
|
* add skeleton for DNS handlingtrinity-1686a2022-03-141-2/+2
|
* add udp to runtimetrinity-1686a2022-03-141-0/+537