summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tor-hspow: Big refactor, dissolve this crateWesley Aptekar-Cassels2024-10-0932-360/+444
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My previous strategy here was to try and centralize hspow in one crate, writing it like a self-contained feature. That introduced friction in the data types, prompting the use of simplistic types at the netdoc/cell layers and full-featured types in the optional modules. This changes tactics, dissolving the low-level parts of tor-hspow into tor-hscrypto and the high-level parts into hsclient/hsservice. Full featured types are used everywhere now, but the tradeoff is that compile-time configurability is a lot more pervasive. Anything that knows about PoW types at all needs to be fully configured out. I took this opportunity to try a more complete set of crate features, allowing users to configure individual PoW schemes. Co-authored-by: Micah Elizabeth Scott <[email protected]>
| * | Enable onion client proof-of-work in the standalone "arti" toolWesley Aptekar-Cassels2024-10-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The proof-of-work libraries are off by default in part because they depend on libraries that are currently GPL licensed. This precludes the use of this option in closed-source binaries, but here in the open-source arti tool (or consumers that bundle the binary) it's fine. Co-authored-by: Micah Elizabeth Scott <[email protected]>
| * | First pass at implementing onion proof-of-work clientWesley Aptekar-Cassels2024-10-098-7/+202
| | | | | | | | | | | | | | | | | | | | | | | | This adds a module to tor-hspow for version-independent client logic. The entire module and its invocations are disabled unless the new "hs-pow" compile time feature is set. Co-authored-by: Micah Elizabeth Scott <[email protected]>
| * | tor-hspow: Revise comments, type names, module coupling.Wesley Aptekar-Cassels2024-10-0910-119/+85
| | | | | | | | | | | | | | | | | | | | | | | | Some noisy but low-impact changes. We don't yet do this but it's possible to disable the 'solve' and 'verify' modules individually now without breaking the API. Co-authored-by: Micah Elizabeth Scott <[email protected]>
| * | tor-cell: Support encoding proofs-of-work in intro_payloadWesley Aptekar-Cassels2024-10-096-6/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | Like parameters, PoW solutions are versioned to account for multiple algorithms over time. A single solution of a specific version may accompany an INTRO1/2 as part of the encrypted extensions section. Its encoding may depend on the version. Co-authored-by: Micah Elizabeth Scott <[email protected]>
| * | tor-netdoc: Add parsing support for pow-params.Wesley Aptekar-Cassels2024-10-093-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | This implements support for extensible proof-of-work parameters. Right now only a single type is defined, but in theory we can see up to one line per type on an onion service. Co-authored-by: Micah Elizabeth Scott <[email protected]>
| * | tor-hspow: Change PoW "protocol" terminology to "scheme"Wesley Aptekar-Cassels2024-10-091-1/+1
| |/ | | | | | | Co-authored-by: Micah Elizabeth Scott <[email protected]>
* | Merge branch 'ticket1674_01' into 'main'David Goulet2024-10-107-20/+67
|\ \ | | | | | | | | | | | | | | | | | | arti-relay: Change it to a binary crate only Closes #1674 See merge request tpo/core/arti!2525
| * | arti-relay: Rename remaining XXXs to be TODOsDavid Goulet2024-10-102-4/+4
| | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | arti-relay: Fix cargo doc issuesDavid Goulet2024-10-102-3/+3
| | | | | | | | | | | | Signed-off-by: David Goulet <[email protected]>
| * | arti-relay: Remove the use of pub and pub useDavid Goulet2024-10-103-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "pub" and "pub(crate)" visibility in a binary crate is essentially the same except for the dead_code warning analysis which ignores "pub" but will warn at "pub(crate)". This should get fixed soon according to: https://github.com/rust-lang/rust/issues/74970 However, for now, lets catch all this dead code :). Part of #1674 Signed-off-by: David Goulet <[email protected]>
| * | arti-relay: Remove its library crateDavid Goulet2024-10-103-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply, the lib.rs is renamed to relay.rs (containing TorRelay object) so this crate can never be used as a library. This is important because at the moment, we don't want to have a relay stable API that can be used to embed relays in applications. Closes #1674 Signed-off-by: David Goulet <[email protected]>
| * | arti-relay: Add a binary to the crateDavid Goulet2024-10-103-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, it is an empty main() acting as a place holder for this crate to become solely a binary crate. Write up a basic README.md in order to explain the current state. Next commit will remove the libary component by renaming lib.rs Part of #1674 Signed-off-by: David Goulet <[email protected]>
* | | Merge branch 'orport' into 'main'David Goulet2024-10-103-20/+27
|\ \ \ | |/ / |/| | | | | | | | tor-chanmgr: some cleanup and comments See merge request tpo/core/arti!2523
| * | tor-chanmgr: fix `unused_imports` warning on `ChannelAccount`Steven Engler2024-10-091-1/+3
| | |
| * | tor-chanmgr: note API causes deadlocks under some conditionsSteven Engler2024-10-092-3/+16
| | |
| * | tor-chanmgr: minor code cleanupSteven Engler2024-10-091-5/+5
| | |
| * | tor-chanmgr: remove unused code pathSteven Engler2024-10-091-11/+3
| | |
* | | Merge branch 'mq-circ' into 'main'David Goulet2024-10-107-35/+39
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Use memquota queue for channel->circuit RX data Closes #1682 See merge request tpo/core/arti!2518
| * | | Apply deferred rustfmt churnIan Jackson2024-10-095-13/+7
| | | |
| * | | memquota: Use an mq_queue for channel->circuit RX queueIan Jackson2024-10-095-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #1682. (This involves some noise in the tests.)
| * | | memquota: Introduce type aliases for channel->circuit RX queueIan Jackson2024-10-094-13/+18
| | | | | | | | | | | | | | | | | | | | This is neater and will make changing the type (in a moment) less noisy.
| * | | memquota: impl HasMemoryCost for ClientCircChanMsgIan Jackson2024-10-091-1/+4
| | | | | | | | | | | | | | | | We'll need this in a moment.
* | | | Merge branch 'rpclib-dependency-reduction' into 'main'Nick Mathewson2024-10-108-9/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Use cargo features to reduce needless dependencies from arti-rpc-client-core See merge request tpo/core/arti!2522
| * | | | arti-rpc-client-core: remove dependency on unused tor-error feature.Nick Mathewson2024-10-091-1/+1
| | | | |
| * | | | tor-socksproto: Require fewer features from dependenciesNick Mathewson2024-10-091-2/+2
| | | | |
| * | | | tor-bytes: Make "tor-llcrypto" dependency optional.Nick Mathewson2024-10-093-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is part of an effort to make arti-rpc-client-core (and future similar tools) able to use our very-low-level crates without depending on things they don't need.
| * | | | tor-error: Make "futures" dependency optional.Nick Mathewson2024-10-093-3/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | This is part of an effort to make arti-rpc-client-core (and future similar tools) able to use our very-low-level crates without depending on things they don't need.
* / | | arti-rpc-client-core: remove 'c_str_macro' dependencySteven Engler2024-10-092-18/+16
|/ / / | | | | | | | | | | | | Arti has a MSRV of rust 1.77 which supports C string literals, so 'c_str_macro' isn't needed.
* | | Merge branch 'fix-clippy-redux' into 'main'Nick Mathewson2024-10-091-1/+1
|\ \ \ | | | | | | | | | | | | | | | | tor-config: Fix indentation in doc comment. See merge request tpo/core/arti!2520
| * | | tor-config: Fix indentation in doc comment.Gabriela Moldovan2024-10-091-1/+1
| | |/ | |/| | | | | | | | | | | | | It looks like my previous attempt from !2516 didn't fix it. This adds an extra space to fix the `doc_lazy_continuation` lint.
* | | Merge branch 'mq-doc' into 'main'Ian Jackson2024-10-095-29/+108
|\ \ \ | |/ / |/| / | |/ | | | | | | memquota architecture documentation Closes #1660 See merge request tpo/core/arti!2509
| * memquota: Expand on ChannelAccountIan Jackson2024-10-091-0/+1
| | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2509#note_3089914
| * memquota: Add docs and TODOs re inbound channel->circuit dataIan Jackson2024-10-092-0/+3
| | | | | | | | | | See https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2509#note_3089913
| * emquota: Clarify circuit data queueIan Jackson2024-10-091-1/+1
| |
| * memquota: Further docs tweaksIan Jackson2024-10-092-2/+5
| |
| * mq docs: Clarity that chanmgr and circmgr share the ToplevelAccountIan Jackson2024-10-071-1/+3
| |
| * mq docs: Add some formulaic cross-references to memquota newtypesIan Jackson2024-10-071-0/+12
| |
| * mq docs: Rewrite and expand overview/architecture doc in tor-protoIan Jackson2024-10-071-16/+66
| |
| * mq docs: Add some cross-references from tor-memquota to tor-protoIan Jackson2024-10-072-0/+8
| | | | | | | | These can't be rustdoc links because they point up the crate hierarchy.
| * mq docs: Add a linkIan Jackson2024-10-071-1/+1
| |
| * mq docs: Move arti queues text to tor_proto::memquotaIan Jackson2024-10-072-24/+24
| |
| * mq docs: Uncomment docs about mq_queue, and remove the TODOIan Jackson2024-10-071-4/+4
| |
* | Merge branch 'miri-1' into 'main'Ian Jackson2024-10-0917-21/+83
|\ \ | | | | | | | | | | | | Add some more miri tests See merge request tpo/core/arti!2502
| * | tor-rtmock: Add some commentary about SleepLocationIan Jackson2024-10-081-0/+6
| | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090557
| * | tor-rtmock: Simplify two cfgIan Jackson2024-10-082-2/+1
| | | | | | | | | | | | | | | | | | Discussion here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090554 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090556
| * | tor-persist: miri: disable tests that involve fs accessIan Jackson2024-10-084-4/+10
| | |
| * | tor-basic-utils: Change a function to not be unsafeIan Jackson2024-10-081-2/+2
| | | | | | | | | | | | | | | This is not a memory safety requirement. We don't need `unsafe` here, so we shoudln't have it.
| * | tor-rtmock: Fix a memory leakIan Jackson2024-10-081-6/+20
| | | | | | | | | | | | | | | | | | Change the waker to have a weak reference to the executor. Detected by miri.
| * | tor-rtmock: miri: disable tests that use wallclock timeIan Jackson2024-10-086-3/+15
| | |