| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |\
| |
| |
| |
| | |
Use ByRelayIds to hold guards in GuardSet
See merge request tpo/core/arti!808
|
| | |
| |
| |
| | |
These will need a bigger overhaul: see #612 and #611.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This has subtleties; the comments try to explain them.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This is necessary for the (somewhat undesirable) lookup_ids function
to return an ID that the dirmgr can actually use to report successes
and failures.
As noted, lookup_ids will create problems down the road when we
implement relays. We should refactor it out before then.
|
| | |
| |
| |
| |
| |
| | |
To see if we can add a relay as a guard, we need a conservative
test: any IDs in common with the given relay prevent us from adding
it.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This required a number of changes, which I've tried to document.
I've taken a conservative approach to modification, and I'm not
using any of the by_*_mut() functions (yet). For cases which
potentially modify the whole set, I'm using into_values() and
collect() to ensure that it's re-indexed correctly, even though the
identities don't change.
I introduce some "TODO pt-client" comments here which I will resolve
in the next commit(s).
|
| | | |
|
| | |
| |
| |
| |
| | |
These are the ones that turned out to be necessary while converting
guard samples to use ByRelayIds.
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Misc minor changes to BridgeDescProvider APIs
See merge request tpo/core/arti!812
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This will enable us to impl FlagEvent for it.
|
| | | |
| | |
| | |
| | |
| | | |
The bridge descriptor manager wants to index data structures by the
BridgeConfig.
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
ptmgr: Add a fuzzer for ptmessage.
See merge request tpo/core/arti!814
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
ptmgr::ipc: Try an alternate approach to initial quotes.
See merge request tpo/core/arti!813
|
| | |/ /
| | |
| | |
| | | |
This lets us use `chars()` rather than `char_indices()`.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Two misc minor changes, for descriptor downloading
See merge request tpo/core/arti!811
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is currently nightly-only and is blocked on an unresolved API
question:
https://github.com/rust-lang/rust/issues/71503
|
| |/ / /
| | |
| | |
| | |
| | | |
I want one of these for the bridge descriptor downloader, and they
seem reasonable to me.
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-cell: Assert data length in Data cells
See merge request tpo/core/arti!800
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This commit adds a `debug_assert!` macro into the `new_unchecked()`
function of the Data cell. Beside this, it also fixes a misleading
comment regarding that limit.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Misc minor changes to tor-dirclient, for descriptor downloading
See merge request tpo/core/arti!810
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This gives callers a nice error type with source and everything.
|
| | | | |
| | | |
| | | |
| | | | |
This will be used for bridges' descriptors.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
tor-ptmgr/ipc: First cut of pluggable transport spawning
Closes #394
See merge request tpo/core/arti!779
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-bytes: Avoid redundant allocation
See merge request tpo/core/arti!806
|
| | | |_|/
| |/| |
| | | |
| | | | |
See c489e1d9118edd842f80b76a636037524a45ee45
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Update heap and download size metrics for October
See merge request tpo/core/arti!809
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | | |
This patch updates the heap_and_download_size.md file with numbers from
October 2022 for our Sponsor 101 deliverables.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
FlagEvent trait: Implement using macros
See merge request tpo/core/arti!804
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
BridgeDescEvent: Change the sole variant to SomethingChanged
See merge request tpo/core/arti!807
|
| |/ / /
| | |
| | |
| | | |
And explain what this all means.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-cell: Consistent and secure conversion to u16
See merge request tpo/core/arti!803
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
This commit improves the overflow protection of one call to
Vec::write_u16(), by replacing the cast conversion from self.sig.len()
with a call to u16::try_from(), like it is already done in the rest of
the accompanying function.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
meta: Update license year range to 2022
See merge request tpo/core/arti!799
|