summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | 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
| * | | | Add semver.md in tor-cell for MR#793breezykermo2022-10-251-0/+1
| | |/ / | |/| |
* | | | Merge branch 'fix_typos' into 'main'eta2022-10-251-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-cell: Fix typos in msg.rs See merge request tpo/core/arti!802
| * | | | tor-cell: Fix typos in msg.rsEmil Engler2022-10-241-2/+2
| |/ / /
* | | | Merge branch 'explain_magic' into 'main'eta2022-10-251-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-cell: Add comment explaing Data::MAXLEN See merge request tpo/core/arti!801
| * | | | tor-cell: Add comment explaing Data::MAXLENEmil Engler2022-10-241-0/+1
| |/ / / | | | | | | | | | | | | | | | | This commit adds a comment explaining composition of the magic number "11" found in the assignment of the Data::MAXLEN constant.
* | | | Merge branch 'error-misc' into 'main'Nick Mathewson2022-10-252-5/+7
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | tor-error: Prepare for more misc errors See merge request tpo/core/arti!805
| * | | tor-error: Tidy up use of thiserror::ErrorIan Jackson2022-10-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Import it, as we do elsewhere, and use that import. 2. Use thiserror to generate the Display impl, rather than derive_more, as we do for errors elsewhere. (tor_error still needs derive_more::Display for ErrorKind.)
| * | | tor-error: Rename truncated module to miscIan Jackson2022-10-242-3/+3
|/ / / | | | | | | | | | | | | This has no external API change, but makes space for other miscellaneous errors to arrive later.
* | | Merge branch 'guards_as_bridges_part1' into 'main'Nick Mathewson2022-10-2420-213/+614
|\ \ \ | | | | | | | | | | | | | | | | Allow GuardMgr to expose bridges as guards (part 1) See merge request tpo/core/arti!785
| * | | circmgr: More NOTEs and TODO pt-clients.Nick Mathewson2022-10-241-3/+9
| | | |
| * | | linkspec: specify sort order for HasRelayIds.Nick Mathewson2022-10-241-2/+13
| | | |
| * | | Circmgr: construct paths using either Relay or OwnedCircTargetNick Mathewson2022-10-242-34/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we could only use Relay for this case, which won't work any more: a Bridge is not a `tor_netdir::Relay`. Instead we allow the GuardMgr to give us something that knows how to convert itself into an OwnedCircTarget. This change required a far amount of follow-on revisions and refactoring, but it should all be internal to the path-building logic.
| * | | netdir: Expose addrs-in-same-subnets calculation from SubnetConfigNick Mathewson2022-10-242-8/+20
| | | | | | | | | | | | | | | | | | | | Previously this was a private method only visible from Relay, but now we can use it on any two HasAddrs objects.
| * | | linkspec: Remove now-useless declared_peer_addrNick Mathewson2022-10-242-8/+4
| | | | | | | | | | | | | | | | The singleton variation here is almost never what we want.
| * | | guardmgr: Refactor the interior of FirstHop.Nick Mathewson2022-10-248-75/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now it contains either an `OwnedChanTarget` or an `OwnedCircTarget`, which will let `GuardMgr` return bridges that can be used to make circuits. As part of this change, it was necessary to revise some address-modification functions that applied to filters and `OwnedChanTarget`. Now they do the smart thing, and remove only the address that are in the `ChanMethod`. This means that the addresses from HasAddrs are still accurate about which addresses the relay "has".
| * | | guardmgr: Hold FallbackDir in fallback::set::EntryNick Mathewson2022-10-213-43/+61
| | | | | | | | | | | | | | | | This resolves an old TODO, and will simplify our work a little.
| * | | linkspec: Add compare-by-relay-ids function to HasRelayIdsNick Mathewson2022-10-213-3/+74
| | | |
| * | | guardmgr: Add bridges sample, encode sample ID in FirstHopId.Nick Mathewson2022-10-216-52/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'by_ids_mutate' into 'main'Nick Mathewson2022-10-241-16/+171
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Add two ways to change entries in an n_key_set See merge request tpo/core/arti!797
| * | | n_key_set: clean up some wide linesNick Mathewson2022-10-241-21/+38
| | | |
| * | | n_key_set: Re-insert by_foo_mut() accessors, but make them unsafe.Nick Mathewson2022-10-241-0/+21
| | | |