summaryrefslogtreecommitdiff
path: root/Cargo.lock
Commit message (Collapse)AuthorAgeFilesLines
* Bump the minor version of every crate.Nick Mathewson2022-11-301-37/+37
| | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* ptmgr: Use anonymize_home when displaying paths in errorsNick Mathewson2022-11-291-0/+1
|
* Merge branch 'more-linkspec-tests' into 'main'Nick Mathewson2022-11-291-0/+1
|\ | | | | | | | | Add tests for a bunch of code in tor-linkspec See merge request tpo/core/arti!867
| * linkspec: Add some tests for ChannelMethodNick Mathewson2022-11-281-0/+1
| |
* | Merge branch 'ptmgr-cleanup' into 'main'Nick Mathewson2022-11-291-1/+1
|\ \ | | | | | | | | | | | | | | | | | | Post-merge cleanups for PtMgr Closes #667 and #659 See merge request tpo/core/arti!893
| * | PtMgr: Use a persistent state directory for PT state.Nick Mathewson2022-11-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes a `pt_state` directory inside .local/share/arti (or the local equivalent), right next to our existing `state` dir. Ideally we would use a separate directory for each PT, but we have a very fuzzy "what is a specific PT" notion. Closes #667
| * | ptmgr: Mark PtMessage and next_message as experimental-api.Nick Mathewson2022-11-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | These are implementation details and we don't want to mark them as stable. To do this, I needed to apply some additional options to the example code's configuration in Cargo.toml.
* | | Switch from sha-1 back to sha1.Nick Mathewson2022-11-291-4/+4
| | | | | | | | | | | | | | | | | | | | | As near as I can tell, the rust-crypto SHA1 crate was called `sha-1` for a while because of a conflict with a different SHA1 crate. Now they apparently have the `sha1` name back and have deprecated the `sha-1` name.
* | | Run cargo update in preparation for next releaseNick Mathewson2022-11-291-147/+157
| | |
* | | Merge branch 'repro-less-shm' into 'main'Nick Mathewson2022-11-291-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | reproducible builds without shm Closes #614 See merge request tpo/core/arti!818
| * | | use newer version of zstd and lzmatrinity-1686a2022-11-291-4/+4
| | |/ | |/|
* | | Merge branch 'redacted' into 'main'Ian Jackson2022-11-291-0/+3
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | Define a "redactable" trait, and use it when logging guard info Closes #648 and #627 See merge request tpo/core/arti!882
| * | safelog: Make MaybeRedacted<T> opaque.Nick Mathewson2022-11-281-0/+2
| | |
| * | linkspec: Give a Redacted form for chantarget.Nick Mathewson2022-11-281-0/+1
| |/
* / Draft: Pluggable transport managereta2022-11-281-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements `PtMgr`, a pluggable transport manager responsible for keeping track of spawned PTs and spawning them to satisfy client requests on demand. It does this in two parts: the `PtMgr` type exported to the rest of the code, and the background `PtReactor` that actually does the spawning; this design ensures that only one attempt to spawn a PT is active at a time, and will prove useful later for implementing e.g. timeouts. A few changes were necessary to the rest of the code in order to make this all work out. Namely: - `TransportRegistry`'s API didn't make any sense for two reasons: - It wasn't feasible for implementors to implement `ChannelFactory`, since that'd require constructing a `ChanBuilder` (which requires a bootstrap reporting event sender). - Treating the PT manager as a registry is over-general; it's only necessary for it to spawn pluggable transports, so saddling it with other concerns didn't make any sense. - (It's possible to get extensibility for arbitrary user customization by just letting the user swap in a new `ChannelFactory`, anyway.) - Therefore, the `PtMgr` implements the new `AbstractPtMgr` trait, which is far more narrowly focused; this only exists to solve a dependency loop, and is documented as such. - This provides a `TransportHelper` instead of a `ChannelFactory`.
* upgrade rustls to 0.20, ignoring all deprecation warningstrinity-1686a2022-11-261-22/+11
|
* tor-linkspec: Provide LoggedChanTarget type alias and utility methodIan Jackson2022-11-231-0/+1
| | | | | This makes it easy to talk about, and construct, a BoxSensitive<OwnedChanTarget>, which is what we'll use in errors.
* tor-basic-utils: Provide helper for serde flexible parsingIan Jackson2022-11-211-0/+1
|
* BridgeConfigBuilder: Introduce build() functionIan Jackson2022-11-211-0/+1
| | | | And test cases for it, and its errors.
* BridgeConfigBuilder: Introduce the struct with the dictionary reprIan Jackson2022-11-211-0/+1
| | | | | | | | | | | This struct is going to be the principal "dictionary-style" serde representation for a bridge, and the builder, making this all in keeping with our usual approach. In this commit: * Introduce the struct (defining the serialisation) * Provide the setters (defining the Rust API) * Add success test cases (not all of the data in which is used yet)
* GuardMgr: Log when a guard status changes (significantly).Nick Mathewson2022-11-171-0/+1
| | | | | | | | | | | | | | | | We previously had a trace message on _every_ change. That's fine, but we also want to log more important changes where the user can see them. Namely: * If we go from any other status to Reachable, we want to tell the user. (We don't want to spam them if it was already reachable.) * If we go from Untried or Reachable to Unreachable, we want to tell the user. (We don't tell them about changes from Retriable to Unreachable, since that just means that a retry attempt was not successful.) Closes #627.
* tor-ptmgr: make configuration use builders, plumb into arti-clienteta2022-11-161-0/+2
| | | | | | | This brings the draft configuration mechanisms in tor-ptmgr in line with the config in other crates, using builders. It also plumbs the config type through into the main `arti-client` config, and adds some example lines to `arti-example-config.toml`.
* Actually, require rsa 0.7.1.Nick Mathewson2022-11-101-2/+2
| | | | rsa 0.7.0 has been yanked.
* Upgrade rsa to 0.7. Closes #613.Nick Mathewson2022-11-101-26/+22
|
* Upgrade to serde_with 2, phf 0.11. Closes #526.Nick Mathewson2022-11-101-50/+135
|
* Upgrade to tinystr 0.7. Closes #591.Nick Mathewson2022-11-101-2/+2
|
* Merge branch 'clap-v3' into 'main'Ian Jackson2022-11-081-40/+35
|\ | | | | | | | | | | | | Upgrade to clap 3 Closes #616 See merge request tpo/core/arti!830
| * Upgrade to clap 3 with minimal changesGabriel de Perthuis2022-11-041-40/+35
| | | | | | | | | | | | | | | | This removes the last cargo audit override (for the unmaintained ansi_term). Don't mark options as required when they have default values: see <https://github.com/clap-rs/clap/pull/3793>.
* | bridge descs: Apply sensitive() to bridge identity in error log msgIan Jackson2022-11-081-0/+1
| |
* | bridge desc: Implement cache reuse logic and if-modified-sinceIan Jackson2022-11-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This introduces the new API functions to Store. But currently they are all no-ops. So all this machinery doesn't actually do anything. Also, it changes the API to the mockable downloader, to allow it to support if-modified-since. So this isn't used either. But it is more convenient to do this all at once in BridgeDescManager, since care needs to be taken about the intraction between if-modified-since and the persistent cache.
* | bridge desc tests: Apply tracing_test::traced_testIan Jackson2022-11-041-0/+1
|/ | | | This lets us see the log messages. They look fine, as it happens.
* bridge descriptors: TestsIan Jackson2022-11-031-0/+3
|
* bridge descriptors: Provide an implementation of BridgeDescProviderIan Jackson2022-11-031-0/+1
| | | | Tests will come in a moment.
* remove unused dependanciestrinity-1686a2022-10-291-5/+0
|
* Upgrade dependencies in preparation for upcoming release(s)Nick Mathewson2022-10-281-123/+209
|
* BridgeDescProvider: Make BridgeDescEvent repr(u16) and derive traitsIan Jackson2022-10-271-0/+1
| | | | This will enable us to impl FlagEvent for it.
* tor-ptmgr/ipc: First cut of pluggable transport spawningeta2022-10-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | The new `ipc` module inside `tor-ptmgr` implements the Pluggable Transport Specification version 1 (`pt-spec.txt`, https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/pt-spec.txt). This enables module users to spawn pluggable transport binaries inside a child process asynchronously, and receive structured information about how to connect to the transports provided by said binaries. Internally, this is structured as a pure set of serialisers and deserialisers for the protocol in the specification (in the form of environment variables, and the PT's stdout), a wrapper to run the PT binary and enable accessing its output asynchronously, and a user-facing wrapper that handles ensuring all the requested transports launched properly. The included `run-pt` example is an exceedingly minimal wrapper program that was useful in testing. More tests can and should be added in a further MR. closes arti#394; part of arti#69
* FlagEvent trait: Implement using macrosIan Jackson2022-10-251-0/+36
| | | | | | | | | | | The explicit list of variant names, that needs to be kept in sync, and is a test failure semver break hazard, is now gone. All the necessary code is now generated automatically, and cannot be wrong. I want this because I find myself wanting to add a second implementation of FlagEvent, for another type.
* Merge branch 'guards_as_bridges_part1' into 'main'Nick Mathewson2022-10-241-0/+1
|\ | | | | | | | | Allow GuardMgr to expose bridges as guards (part 1) See merge request tpo/core/arti!785
| * guardmgr: Add bridges sample, encode sample ID in FirstHopId.Nick Mathewson2022-10-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The most important part of this commit is to make sure that each `FirstHopId` includes the `GuardSetSelector` from which the guard was selected. Doing this lets us be certain that when we report that a guard has succeeded or failed, we're reporting it in the right context. Additionally, this commit uses strum to make an iterator over the samples, so that we can make sure that our "for each sample" code is robust against future changes, and we don't miss the bridge sample.
* | tor-guardmgr: descs: Make BridgeDescError DynCloneIan Jackson2022-10-211-0/+1
|/
* Merge branch 'pt-serde' into 'main'Nick Mathewson2022-10-201-0/+1
|\ | | | | | | | | serde support for PtTarget See merge request tpo/core/arti!780
| * Implement serde for PtTarget and its members.Nick Mathewson2022-10-201-0/+1
| | | | | | | | This will let us remember bridges that use pluggable transports.
* | chanmgr: Begin a socks-client implementation.Nick Mathewson2022-10-201-0/+1
|/ | | | | | | This code is _not_ conditional, since we want to support running with a proxy even if we don't support pluggable transports. We may eventually want to refactor this into a new create.
* linkspec: Add an "all_overlapping" accessor to ByRelayIds.Nick Mathewson2022-10-181-0/+7
| | | | | | | Also, add a few tests for this and the other accessors. We'll need this accessor to find whether we have any channels to _any_ of the identities that we're trying to connect to.
* Write tests for RelayIdSet.Nick Mathewson2022-10-151-0/+1
|
* Add builders for OwnedChanTarget/OwnedCircTargetNick Mathewson2022-10-061-0/+2
| | | | | This will become the preferred way to make one of these objects, and insulate us against future API changes.
* Merge branch 'bridge_containers' into 'main'Nick Mathewson2022-10-061-0/+1
|\ | | | | | | | | Start implementing more data structures to hold Bridge descriptors. See merge request tpo/core/arti!755
| * BridgeRelay: Implement more traits.Nick Mathewson2022-10-041-0/+1
| | | | | | | | | | | | Also add a BridgeRelayWithDesc type (name tbd) to guarantee that a bridge relay really does have a known descriptor before you try to build a circuit with it.
* | remove manual limitation of coredump sizetrinity-1686a2022-10-051-1/+0
|/ | | | it's already disabled by secmem_proc