| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | |/
| |
| |
| | |
Co-authored-by: Micah Elizabeth Scott <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
arti-relay: Change it to a binary crate only
Closes #1674
See merge request tpo/core/arti!2525
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-chanmgr: some cleanup and comments
See merge request tpo/core/arti!2523
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use memquota queue for channel->circuit RX data
Closes #1682
See merge request tpo/core/arti!2518
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes #1682.
(This involves some noise in the tests.)
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This is neater and will make changing the type (in a moment) less
noisy.
|
| | | | |
| | | |
| | | |
| | | | |
We'll need this in a moment.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Use cargo features to reduce needless dependencies from arti-rpc-client-core
See merge request tpo/core/arti!2522
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
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 has a MSRV of rust 1.77 which supports C string literals, so
'c_str_macro' isn't needed.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-config: Fix indentation in doc comment.
See merge request tpo/core/arti!2520
|
| | | |/
| |/|
| | |
| | |
| | |
| | | |
It looks like my previous attempt from !2516 didn't fix it.
This adds an extra space to fix the `doc_lazy_continuation` lint.
|
| |\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
memquota architecture documentation
Closes #1660
See merge request tpo/core/arti!2509
|
| | |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2509#note_3089914
|
| | |
| |
| |
| |
| | |
See
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2509#note_3089913
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
These can't be rustdoc links because they point up the crate hierarchy.
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Add some more miri tests
See merge request tpo/core/arti!2502
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2502#note_3090557
|
| | | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This is not a memory safety requirement. We don't need `unsafe` here,
so we shoudln't have it.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Change the waker to have a weak reference to the executor.
Detected by miri.
|
| | | | |
|