summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CHANGELOG.md: spelling fix. (Thanks eta!)arti-v0.0.3Nick Mathewson2022-01-111-1/+1
|
* Release.md: Small fixesNick Mathewson2022-01-111-2/+4
|
* Bump all crate versions to 0.0.3.Nick Mathewson2022-01-1130-169/+169
|
* Update README.md files (automated)Nick Mathewson2022-01-112-2/+5
|
* Run "cargo update".Nick Mathewson2022-01-111-147/+153
|
* Clear semver_status.md entries for 0.0.2Nick Mathewson2022-01-111-32/+1
|
* Draft changelog for 0.0.3.Nick Mathewson2022-01-111-1/+108
|
* Check off some large items in README.mdNick Mathewson2022-01-111-4/+4
|
* Add more names to exclude_contributors.txtNick Mathewson2022-01-111-0/+2
| | | | | (We don't put Tor Project employees in the acknowledgments lists. And we probably shouldn't put bots either.)
* Merge branch 'logfiles'Nick Mathewson2022-01-107-66/+296
|\
| * Apply suggestions to better describe the purpose of LogGuards.Ian Jackson2022-01-101-4/+5
| |
| * Tracing configuration for logfiles, per-target filtersNick Mathewson2022-01-107-59/+282
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we could only configure one global tracing filter that applied to stdout and journald. There was no support for log files, either. This patch fixes both issues, by substantially revising the configuration format: There are now separate filters for each log file, for journald, and for the console log. Because we want to allow multiple logfiles, they have to go into an array in the configuration. The configuration logic has grown a bit complicated in its types, since the tracing_subscriber crate would prefer to have the complete structure of tracing Layers known statically. That's fine when you know how many you have, and which kinds there will be, but for the runtime-configuration case we need to mess around with `Box<dyn Layer ...>`. I also had to switch from tracing_subscriber's EnvFilter to its Targets filter. It seems "EnvFilter" can only be applied as a Layer in itself, and won't work as a Filter on an individual Layer. Closes #166. Closes #170.
| * Move tracing setup into a separate module.Nick Mathewson2022-01-102-43/+49
|/ | | | No code changes here yet.
* Merge branch 'eta/fix-doc-comment' into 'main'eta2022-01-101-1/+1
|\ | | | | | | | | Fixup broken doc comment from arti!220 See merge request tpo/core/arti!232
| * Fixup broken doc comment from arti!220eta2022-01-101-1/+1
|/ | | | That's what I get for blindly trusting @nickm :p
* Merge branch 'ticket_281' into 'main'eta2022-01-103-24/+32
|\ | | | | | | | | | | | | Expose and rename stream timeout config. Closes #281 See merge request tpo/core/arti!231
| * Expose and rename stream timeout config.Nick Mathewson2022-01-103-24/+32
| | | | | | | | | | | | | | | | | | | | | | Previously we kept this in an ambiguously named type, `ClientTimeoutConfig`. But everything we do right now is client related! So `StreamTimeoutConfig` is a better name. Also, we'd previously neglected to expose the builder for this type from `TorClientConfigBuilder`. Now we do. Closes #281.
* | Merge branch 'ticket_280' into 'main'eta2022-01-101-2/+2
|\ \ | |/ |/| | | | | | | | | Make the arti_client::Result type public. Closes #280 See merge request tpo/core/arti!230
| * Make the arti_client::Result type public.Nick Mathewson2022-01-101-2/+2
|/ | | | Closes #280.
* Merge branch 'ticket_178' into 'main'eta2022-01-105-15/+232
|\ | | | | | | | | | | | | Fix ticket 178: Don't use a NetDir until we have microdescriptors for all of our primary guards. Closes #178 See merge request tpo/core/arti!220
| * Only replace netdir once we have enough guard MDs.Nick Mathewson2022-01-061-9/+73
| | | | | | | | | | | | | | | | This prevents a security-failure condition that could happen if our directory caches don't give us these microdescriptors, but we nevertheless decide that the directory is usable. Closes #178
| * Tests for new guardmgr functionality.Nick Mathewson2022-01-062-0/+83
| |
| * Add API to check if primary MDs are missing.Nick Mathewson2022-01-064-2/+46
| | | | | | | | | | | | | | We need this information to know if it's okay to migrate to a new NetDir, or if we need to download more information first. Part of #178.
| * guardmgr: Don't use no-md guards for data circs.Nick Mathewson2022-01-061-5/+31
| | | | | | | | | | | | | | If we don't know a current microdescriptor for a guard, we can't use it for multihop circuits, since we don't know its onion keys. This is part of a fix for #178.
* | Merge branch 'bug274' into 'main'eta2022-01-101-1/+14
|\ \ | | | | | | | | | | | | | | | | | | Fix busy-loop when consensus is near expiring. Closes #274 See merge request tpo/core/arti!223
| * | Fix busy-loop when consensus is near expiring.Nick Mathewson2022-01-071-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When our current consensus is getting close to being invalid (but it isn't invalid yet), we try to get a new one. So far, so good. But we had a bug: when we went to get a new consensus, we'd see that we had a perfectly fine not-yet-invalid consensus in our cache, reload it, find that it was ready, and continue! This patch fixes our behavior: If we have a usable consensus, then when we reset the bootstrapping process, we ignore any cached consensus. Fixes bug #274.
* | | Merge branch 'minimize_deps' into 'main'eta2022-01-1030-190/+202
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Minimize the required version for each dependency. Closes #275 See merge request tpo/core/arti!228
| * | | Move our "minimal versions" code to a script.Nick Mathewson2022-01-072-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously this code was in .gitlab-ci.yml, but for the purposes of testing my fix for #275, it turned out to be much better to have it in a script of its own. Also, we now need to update our "quote" second-order dependency, since otherwise our minimal first-order dependencies won't build correctly.
| * | | Minimize the required version for each dependency.Nick Mathewson2022-01-0728-188/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found these versions empirically, by using the following process: First, I used `cargo tree --depth 1 --kind all` to get a list of every immediate dependency we had. Then, I used `cargo upgrade --workspace package@version` to change each dependency to the earliest version with which (in theory) the current version is semver-compatible. IOW, if the current version was 3.2.3, I picked "3". If the current version was 0.12.8, I picked "0.12". Then, I used `cargo +nightly upgrade -Z minimal-versions` to downgrade Cargo.lock to the minimal listed version for each dependency. (I had to override a few packages; see .gitlab-ci.yml for details). Finally, I repeatedly increased the version of each of our dependencies until our code compiled and the tests passed. Here's what I found that we need: anyhow >= 1.0.5: Earlier versions break our hyper example. async-broadcast >= 0.3.2: Earlier versions fail our tests. async-compression 0.3.5: Earlier versions handled futures and tokio differently. async-trait >= 0.1.2: Earlier versions are too buggy to compile our code. clap 2.33.0: For Arg::default_value_os(). coarsetime >= 0.1.20: exposed as_ticks() function. curve25519-dalek >= 3.2: For is_identity(). generic-array 0.14.3: Earlier versions don't implement From<&[T; 32]> httparse >= 1.2: Earlier versions didn't implement Error. itertools at 0.10.1: For at_most_once. rusqlite >= 0.26.3: for backward compatibility with older rustc. serde 1.0.103: Older versions break our code. serde_json >= 1.0.50: Since we need its Value type to implement Eq. shellexpand >= 2.1: To avoid a broken dirs crate version. tokio >= 1.4: For Handle::block_on(). tracing >= 0.1.18: Previously, tracing_core and tracing had separate LevelFilter types. typenum >= 1.12: Compatibility with rust-crypto crates x25519-dalek >= 1.2.0: For was_contributory(). Closes #275.
* | | | Merge branch 'with_prefs' into 'main'Ian Jackson2022-01-106-16/+39
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Use *_with_prefs() for Option<ConnectPrefs> callers in TorClient::connect Closes #273 See merge request tpo/core/arti!229
| * | | Use *_with_prefs() for Option<ConnectPrefs> callers in TorClient::connectNeel Chauhan2022-01-086-16/+39
|/ / /
* | | Merge branch 'circ_self_by_ref'Nick Mathewson2022-01-075-48/+66
|\ \ \
| * | | ClientCirc: change some methods to take &selfNick Mathewson2022-01-071-11/+6
| | | | | | | | | | | | | | | | | | | | Previously they took Arc<Self>, and then Self, but &self is perfectly fine here.
| * | | circmgr: Fix a pair of clippy warnings.Nick Mathewson2022-01-071-2/+2
| | | |
| * | | tor-circmgr: Remove Arc around ClientCircIan Jackson2022-01-075-24/+41
| | | | | | | | | | | | | | | | | | | | | | | | See the new commentary text on `ClientCirc` for the rationale. Signed-off-by: Ian Jackson <[email protected]>
| * | | tor-circmgr: tests: Do fake circuit equality by idIan Jackson2022-01-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to get rid of the Arc. Happily there is an id which is always constructed uniquely and preserved by clone. (auto-deref lets us make the function take &Self instead of &Arc) Signed-off-by: Ian Jackson <[email protected]>
| * | | tor-circmgr: tests: Introduce and use FakeCirc::eq()Ian Jackson2022-01-071-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | This removes a lot of open-coded Arc::ptr_eq() calls Signed-off-by: Ian Jackson <[email protected]>
| * | | tor-circmgr: Replace some Arc::clone with .clone()Ian Jackson2022-01-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This will make the code work when it's not an Arc any more. Signed-off-by: Ian Jackson <[email protected]>
| * | | tor-circmgr: Require that AbstractCirc are CloneIan Jackson2022-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We are going to get rid of a lot of Arc, so we need the underlying thing to be Clone. Signed-off-by: Ian Jackson <[email protected]>
* | | | Merge branch 'remove-type-annotation' into 'main'Nick Mathewson2022-01-071-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-circmgr: Remove a type annotation in a method call See merge request tpo/core/arti!225
| * | | | tor-circmgr: Remove a type annotation in a method callIan Jackson2022-01-071-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | This is a method, so the resolution is automatic. It's not clear to me why this was written out this way, given that extend_ntor is right above. Signed-off-by: Ian Jackson <[email protected]>
* | | | Merge branch 'dearcify_clientcirc_buildable' into 'main'Ian Jackson2022-01-072-14/+7
|\ \ \ \ | |/ / / |/| / / | |/ / | | | De-Arc-ify Buildable for ClientCirc See merge request tpo/core/arti!219
| * / De-Arc-ify Buildable for ClientCircNeel Chauhan2022-01-062-14/+7
|/ /
* | Merge branch 'remove_unused_rngs' into 'main'eta2022-01-062-51/+23
|\ \ | | | | | | | | | | | | Remove a bunch of unused RNGs See merge request tpo/core/arti!213
| * \ Merge branch 'main' into 'remove_unused_rngs'eta2022-01-0634-23/+55
| |\ \ | |/ / |/| | | | | # Conflicts: # crates/tor-circmgr/src/build.rs
* | | Merge branch 'refactor/unwrap-or-default' into 'main'eta2022-01-061-1/+1
|\ \ \ | |_|/ |/| | | | | | | | prefer 'unwrap_or_default' to manual constructor See merge request tpo/core/arti!215
| * | prefer 'unwrap_or_default' to manual constructorDaniel Eades2022-01-011-1/+1
| | |
* | | Move a comment to the right place.Nick Mathewson2022-01-061-4/+2
| | |
* | | Merge remote-tracking branch 'origin/mr/214'Nick Mathewson2022-01-0630-13/+42
|\ \ \
| * | | extend lints to include 'clippy::all'Daniel Eades2021-12-2830-13/+42
| |/ /