| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | | | | Tests and refactoring for IsolationMap. | Nick Mathewson | 2021-10-26 | 1 | -13/+50 | |
| | | | | | | ||||||
| * | | | | | TorClient::resolve_ptr should take an IpAddr. | Nick Mathewson | 2021-10-26 | 3 | -10/+14 | |
| | | | | | | ||||||
| * | | | | | More tests for arti_client::address | Nick Mathewson | 2021-10-26 | 1 | -15/+106 | |
| | | | | | | ||||||
| * | | | | | Merge branch 'isolate_clients' | Nick Mathewson | 2021-10-26 | 3 | -55/+134 | |
| |\ \ \ \ \ | ||||||
| | * | | | | | Turn StreamIsolation into a separate type. | Nick Mathewson | 2021-10-25 | 3 | -43/+103 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have two kinds of isolation tokens (those set on a stream, and those set by the stream's associated TorClient), we need a more sophisticated kind of isolation. This fixes the bug introduced with the previous commit, where per-stream tokens would override per-TorClient tokens. | |||||
| | * | | | | | Add an isolate_client() function to create an isolated TorClient. | Nick Mathewson | 2021-10-25 | 1 | -15/+34 | |
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | When two TorClients are isolated, their streams shouldn't share circuits, even though they share internal circuit and guard state. | |||||
| * | | | | | Upgrade curve25519-dalek requirement to 3.2.0 | Nick Mathewson | 2021-10-25 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | We need this now that we check for contributory behavior. | |||||
| * | | | | | Fix typos and cleanup | Dimitris Apostolou | 2021-10-25 | 5 | -9/+9 | |
| |/ / / / | ||||||
| * | | | | guardmgr: Don't use guards that are marked as unlisted. | Nick Mathewson | 2021-10-25 | 2 | -7/+22 | |
| | | | | | | | | | | | | | | | | | Closes #202. | |||||
| * | | | | s/arti-arti-client/arti-client/ and regenerate readme files | Nick Mathewson | 2021-10-25 | 5 | -6/+6 | |
| | | | | | ||||||
| * | | | | Fix a typo in a comment. | Nick Mathewson | 2021-10-25 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | Remove chrono exception from cargo_audit.sh | Nick Mathewson | 2021-10-24 | 1 | -13/+17 | |
| | | | | | ||||||
| * | | | | Migrate tor-dirmgr from chrono to time 0.3 | Nick Mathewson | 2021-10-24 | 4 | -64/+44 | |
| | | | | | | | | | | | | | | | | | | | | | (This appears to be the emerging consensus of how to handle RUSTSEC-2020-0159.) | |||||
| * | | | | Migrate tor-netdoc from chrono to time 0.3 | Nick Mathewson | 2021-10-24 | 3 | -6/+9 | |
| | | | | | | | | | | | | | | | | | | | | | (This appears to be the emerging consensus of how to handle RUSTSEC-2020-0159.) | |||||
| * | | | | Upgrade to latest tracing-{subscriber,journald} | Nick Mathewson | 2021-10-23 | 3 | -23/+9 | |
| | | | | | ||||||
| * | | | | Upgrade to new version of simple_asn1. | Nick Mathewson | 2021-10-22 | 2 | -5/+32 | |
| | | | | | ||||||
| * | | | | Run "cargo fix --edition-idioms=2018". | Nick Mathewson | 2021-10-22 | 4 | -5/+5 | |
| | |_|/ |/| | | ||||||
| * | | | Replace references to arti-client in the documentation. | Nick Mathewson | 2021-10-21 | 8 | -11/+11 | |
| | | | | ||||||
| * | | | Rename tor_client/arti_tor_client to arti_client. | Nick Mathewson | 2021-10-21 | 16 | -36/+28 | |
| | | | | | | | | | | | | | | | | | | | Solves a name conflict with the existing tor_client create. Closes #130. | |||||
| * | | | Remove #![allow(clippy::unnecessary_wraps)] in tor-proto. | Nick Mathewson | 2021-10-21 | 1 | -1/+0 | |
| | | | | ||||||
| * | | | Remove #![allow(unreachable_pub)] in shared_ref.rs | Nick Mathewson | 2021-10-21 | 1 | -7/+5 | |
| | | | | ||||||
| * | | | Remove #![allow(clippy::unwrap_used)] in cmdline.rs | Nick Mathewson | 2021-10-21 | 1 | -1/+0 | |
| | | | | ||||||
| * | | | Remove #![allow_unused] in tor_chanmgr::mgr | Nick Mathewson | 2021-10-21 | 2 | -1/+4 | |
| | | | | ||||||
| * | | | Remove #![allow(dead_code)] in timeouts.rs | Nick Mathewson | 2021-10-21 | 2 | -2/+3 | |
| | | | | ||||||
| * | | | Merge branch 'share_state' | Nick Mathewson | 2021-10-21 | 20 | -330/+718 | |
| |\ \ \ | ||||||
| | * | | | Implement the guard side of shared state directories. | Nick Mathewson | 2021-10-21 | 4 | -3/+51 | |
| | | | | | ||||||
| | * | | | Mark consensus as "not-pending" even if its microdescs come from cache. | Nick Mathewson | 2021-10-20 | 3 | -8/+48 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously our code would clear the 'pending' flag on a consensus only when a _downloaded_ md made it become usable. Closes #199. | |||||
| | * | | | Move tor-dirmgr to use a sync::Mutex. | Nick Mathewson | 2021-10-20 | 3 | -45/+36 | |
| | | | | | | | | | | | | | | | | | | | | | The futures::lock::Mutex was unnecessary, since we never held it when we were suspending. | |||||
| | * | | | Finish the timeout-inference side of shared state. | Nick Mathewson | 2021-10-20 | 4 | -32/+113 | |
| | | | | | ||||||
| | * | | | Add a timeout estimator to take estimates from another process. | Nick Mathewson | 2021-10-20 | 4 | -42/+93 | |
| | | | | | ||||||
| | * | | | Allow type of timeout estimator to change at runtime. | Nick Mathewson | 2021-10-20 | 5 | -201/+298 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a big change, but it does simplify the type of Builder a little, and isolates locking across different (potential) timeout estimator types. | |||||
| | * | | | Remove try_lock from StorageHandle. | Nick Mathewson | 2021-10-20 | 2 | -8/+2 | |
| | | | | | ||||||
| | * | | | Replace the return type of StorageMgr::try_lock with a tristate | Nick Mathewson | 2021-10-20 | 8 | -46/+86 | |
| | | | | | | | | | | | | | | | | | | | | | It's useful to know now only if we now have the lock, but also if we just got it for the first time. | |||||
| | * | | | Initial work on periodically reloading state. | Nick Mathewson | 2021-10-19 | 4 | -28/+54 | |
| | | | | | | | | | | | | | | | | | | | | | We can use this in the case where we don't get the lock on the state file, because another process is running. | |||||
| | * | | | On startup, try to lock the state file, and log whether we succeed. | Nick Mathewson | 2021-10-19 | 1 | -1/+9 | |
| | | | | | | | | | | | | | | | | | | | | | Previously we'd try to grab the lock the first time we wrote to the file. | |||||
| * | | | | fallbackdir: Regenerate list for October 2021 | David Goulet | 2021-10-21 | 1 | -881/+870 | |
| | |/ / |/| | | | | | | | | | | | | | | Closes #200 Signed-off-by: David Goulet <[email protected]> | |||||
| * | | | Remove unused d_pre from DiffResult. | Nick Mathewson | 2021-10-20 | 1 | -24/+15 | |
| | | | | ||||||
| * | | | Implement the "request_loyalty" configuration option | Nick Mathewson | 2021-10-19 | 1 | -2/+1 | |
| | | | | ||||||
| * | | | Fix most warnings from nightly. | Nick Mathewson | 2021-10-19 | 11 | -21/+24 | |
| | | | | | | | | | | | | | (One represents code that I forgot to write.) | |||||
| * | | | Fix a broken rustdoc link. | Nick Mathewson | 2021-10-19 | 1 | -1/+1 | |
| | | | | ||||||
| * | | | tor-client/examples: add `hyper` example | eta | 2021-10-19 | 3 | -2/+253 | |
| | | | | | | | | | | | | | | | | | | | | | | The new `hyper` tor-client example demonstrates integrating arti with the popular Rust `hyper` HTTP library by implementing a custom Hyper "connector" (a type that can initiate connections to HTTP servers) that proxies said connections via the Tor network. | |||||
| * | | | Also implement tokio Async{Read,Write} on Data{Reader,Writer}. | Nick Mathewson | 2021-10-19 | 1 | -5/+31 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This will let callers use the tokio traits on these types too, if they call `split()` on the DataStream. (Tokio also has a `tokio::io::split()` method, but it requires a lock whereas `DataStream::split()` doesn't.) | |||||
| * | | | Add a little documentation about when you'll need the tokio trait. | Nick Mathewson | 2021-10-19 | 1 | -0/+7 | |
| | | | | ||||||
| * | | | Merge remote-tracking branch 'origin/mr/97' | Nick Mathewson | 2021-10-19 | 4 | -1/+40 | |
| |\ \ \ | ||||||
| | * | | | tor-proto: implement tokio Async{Read, Write} traits conditionally | eta | 2021-10-19 | 4 | -1/+40 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | futures::io::AsyncRead (and Write) isn't the same thing as tokio::io::AsyncRead, which is a somewhat annoying misfeature of the Rust async ecosystem (!). To mitigate this somewhat for people trying to use the `DataStream` struct with tokio, implement the tokio versions of the above traits using `tokio-util`'s compat layer, if a crate feature (`tokio`) is enabled. | |||||
| * | | | | Move TorClientBuilder into tor_client::config, for consistency. | Nick Mathewson | 2021-10-19 | 3 | -61/+62 | |
| | | | | | ||||||
| * | | | | Make elements of TorClientConfig private. | Nick Mathewson | 2021-10-19 | 3 | -18/+15 | |
| |/ / / | ||||||
| * / / | tor-client: refactor TorClient::bootstrap's args into a config object | eta | 2021-10-19 | 9 | -30/+97 | |
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | The three arguments TorClient::bootstrap requires by way of configuration have been factored into a new TorClientConfig object. This object gains two associated functions: one which uses `tor_config`'s `CfgPath` machinery to generate sane defaults for the state and cache directories, and one that accepts said directories in order to create a config object with those inserted. (this commit was inspired by trying to use arti as a library and being somewhat overwhelmed by the amount of config stuff there was to do :p) | |||||
| * | | Fix some typos in comments. | Nick Mathewson | 2021-10-19 | 4 | -6/+6 | |
| | | | | | | | | | Also, tell the "typos" tool to ignore Cargo.lock. | |||||
| * | | Reverse two swapped log messages | Nick Mathewson | 2021-10-19 | 1 | -2/+2 | |
| | | | ||||||
