summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Clarify what it means to be "an identity" for a primary guard.Ian Jackson2022-10-271-1/+1
| |
| * tor-guardmgr: Add big doc comment about guard id handlingIan Jackson2022-10-271-0/+58
| |
| * guardmgr: Use new ambiguity-tolerant contains in state handlingNick Mathewson2022-10-251-2/+30
| | | | | | | | This has subtleties; the comments try to explain them.
| * guard sample: Change semantics of `contains` to handle ambiguity.Nick Mathewson2022-10-252-10/+33
| | | | | | | | | | | | | | | | | | 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.
| * Replace contains_relay with can_add_relay().Nick Mathewson2022-10-251-9/+6
| | | | | | | | | | | | 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.
| * Convert guard samples to use ByRelayIds.Nick Mathewson2022-10-253-124/+193
| | | | | | | | | | | | | | | | | | | | | | | | 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).
| * impl HasRelayIds for GuardId.Nick Mathewson2022-10-251-0/+9
| |
| * ByRelayIds: Add additional accessor functions.Nick Mathewson2022-10-251-0/+51
| | | | | | | | | | These are the ones that turned out to be necessary while converting guard samples to use ByRelayIds.
| * linkspec: add HasRelayIds::has_any_identity.Nick Mathewson2022-10-251-1/+6
| |
* | Merge branch 'bridge-api-yaks' into 'main'Ian Jackson2022-10-277-6/+25
|\ \ | | | | | | | | | | | | Misc minor changes to BridgeDescProvider APIs See merge request tpo/core/arti!812
| * | tor-dirmgr: impl Default for FlagPublisherIan Jackson2022-10-271-0/+6
| | |
| * | tor-dirmgr: impl FlagEvent for BridgeDescEventIan Jackson2022-10-271-0/+6
| | |
| * | BridgeDescProvider: Make BridgeDescEvent repr(u16) and derive traitsIan Jackson2022-10-273-1/+8
| | | | | | | | | | | | This will enable us to impl FlagEvent for it.
| * | impl Hash for BridgeConfig and various PT informationIan Jackson2022-10-272-4/+4
| | | | | | | | | | | | | | | The bridge descriptor manager wants to index data structures by the BridgeConfig.
| * | tor-guardmgr: bridges: export BridgeDescError at toplevelIan Jackson2022-10-271-1/+1
|/ /
* | Merge branch 'fuzz_ptmgr_ipc' into 'main'eta2022-10-273-0/+36
|\ \ | | | | | | | | | | | | ptmgr: Add a fuzzer for ptmessage. See merge request tpo/core/arti!814
| * | ptmgr: Add a fuzzer for ptmessage.Nick Mathewson2022-10-263-0/+36
| | |
* | | Merge branch 'simpler_quote_skipping' into 'main'eta2022-10-271-10/+5
|\ \ \ | | | | | | | | | | | | | | | | ptmgr::ipc: Try an alternate approach to initial quotes. See merge request tpo/core/arti!813
| * | | ptmgr::ipc: Try an alternate approach to initial quotes.Nick Mathewson2022-10-261-10/+5
| |/ / | | | | | | | | | This lets us use `chars()` rather than `char_indices()`.
* | | Merge branch 'misc-yaks' into 'main'Ian Jackson2022-10-274-10/+24
|\ \ \ | | | | | | | | | | | | | | | | Two misc minor changes, for descriptor downloading See merge request tpo/core/arti!811
| * | | tor-basic-utils: Provide an implementation of BinaryHeap::retainIan Jackson2022-10-272-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | This is currently nightly-only and is blocked on an unresolved API question: https://github.com/rust-lang/rust/issues/71503
| * | | tor-checkable: Make TimerangeBound::dangerously* non-experimentalIan Jackson2022-10-272-10/+1
|/ / / | | | | | | | | | | | | I want one of these for the bridge descriptor downloader, and they seem reasonable to me.
* | | Merge branch 'assert_maxlen' into 'main'Nick Mathewson2022-10-271-1/+2
|\ \ \ | |/ / |/| | | | | | | | tor-cell: Assert data length in Data cells See merge request tpo/core/arti!800
| * | tor-cell: Assert data length in Data cellsEmil Engler2022-10-241-1/+2
| | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'dirclient-yaks' into 'main'Nick Mathewson2022-10-264-1/+57
|\ \ \ | | | | | | | | | | | | | | | | Misc minor changes to tor-dirclient, for descriptor downloading See merge request tpo/core/arti!810
| * | | tor-dirclient: impl HasKind for RequestFailedErrorIan Jackson2022-10-251-1/+7
| | | |
| * | | tor-dirclient: Promise that download only gives RequestFailedIan Jackson2022-10-251-0/+4
| | | |
| * | | tor-dirclient::DirResponse: provide output_stringIan Jackson2022-10-251-0/+17
| | | | | | | | | | | | | | | | This gives callers a nice error type with source and everything.
| * | | tor-dirclient: Provide RoutersOwnDescRequestIan Jackson2022-10-251-0/+29
| | | | | | | | | | | | | | | | This will be used for bridges' descriptors.
* | | | Merge branch 'pt-ipc-v1' into 'main'eta2022-10-266-1/+971
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-ptmgr/ipc: First cut of pluggable transport spawning Closes #394 See merge request tpo/core/arti!779
| * | | | tor-ptmgr/ipc: First cut of pluggable transport spawningeta2022-10-266-1/+971
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge branch 'redundant_allocation' into 'main'Ian Jackson2022-10-261-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-bytes: Avoid redundant allocation See merge request tpo/core/arti!806
| * | | | tor-bytes: Avoid redundant allocationEmil Engler2022-10-251-1/+1
| | |_|/ | |/| | | | | | | | | | See c489e1d9118edd842f80b76a636037524a45ee45
* | | | Merge branch 's101-metrics-october-2022' into 'main'Nick Mathewson2022-10-251-3/+77
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Update heap and download size metrics for October See merge request tpo/core/arti!809
| * | | | Add September values to heap_and_download_size.md.Alexander Færøy2022-10-251-2/+26
| | | | |
| * | | | Add Methodologies section to our Heap and Download Size document.Alexander Færøy2022-10-251-0/+11
| | | | |
| * | | | Add missing data from October from Nick.Alexander Færøy2022-10-251-3/+2
| | | | |
| * | | | Update heap and download size metrics for OctoberAlexander Færøy2022-10-251-3/+43
| | |/ / | |/| | | | | | | | | | | | | | This patch updates the heap_and_download_size.md file with numbers from October 2022 for our Sponsor 101 deliverables.
* | | | Merge branch 'flag-event' into 'main'Ian Jackson2022-10-257-16/+114
|\ \ \ \ | |/ / / |/| | | | | | | | | | | FlagEvent trait: Implement using macros See merge request tpo/core/arti!804
| * | | Fix clippy false positiveIan Jackson2022-10-251-0/+5
| | | |
| * | | FlagEvent trait: Implement using macrosIan Jackson2022-10-257-16/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'bridge-desc-event' into 'main'Nick Mathewson2022-10-251-5/+17
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | BridgeDescEvent: Change the sole variant to SomethingChanged See merge request tpo/core/arti!807
| * | | BridgeDescEvent: Change the sole variant to SomethingChangedIan Jackson2022-10-251-5/+17
|/ / / | | | | | | | | | And explain what this all means.
* | | Merge branch 'safe_u16_conversion' into 'main'Nick Mathewson2022-10-251-1/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-cell: Consistent and secure conversion to u16 See merge request tpo/core/arti!803
| * | | tor-cell: Consistent and secure conversion to u16Emil Engler2022-10-241-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | 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.
* | | Merge branch 'update_license' into 'main'Nick Mathewson2022-10-251-1/+1
|\ \ \ | | | | | | | | | | | | | | | | meta: Update license year range to 2022 See merge request tpo/core/arti!799
| * | | meta: Update license year range to 2022Emil Engler2022-10-241-1/+1
| |/ /
* | | Merge branch 'rename_for_to_from' into 'main'Nick Mathewson2022-10-253-9/+9
|\ \ \ | | | | | | | | | | | | | | | | tor-cell: Rename for_client and for_relay See merge request tpo/core/arti!793
| * | | tor-cell: Rename for_client and for_relayEmil Engler2022-10-213-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit renames the for_client and for_relay functions to from_client and from_relay respectively, in order to indicate their origin, as the term "for" is more likely to indicate a destination, which is not true in that situation.
* | | | Merge branch 'feat/add-semvermd-tor-cell' into 'main'Nick Mathewson2022-10-251-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Add semver.md in tor-cell for MR#793 See merge request tpo/core/arti!798