| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Three is a concern that a DegradedReachable status could overwrite a
previous Broken status. A nicer solution could be to add a function to
StatusSender that only will change the status to a "more or equally
severe" status.
However, I am a little dubious about using the DegradedReachable status
for PoW in general, since it has a better documented meaning for IPTs
than it does for PoW.
|
| | | | |
| | | |
| | | |
| | | | |
We do in fact need multiple locations to hold the sender.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Now that this is public, this is prudent.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I'm not 100% on this being here, it seems like it might want to be a
option for all onion services, rather than per-service. However, this is
good enough for now.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This config option doesn't really apply to Prop 362 (which is what's
implemented in Arti), as far as I can tell.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I have thought about this and come to the conclusion (which is what I
suspected when I wrote it) that the current behaviour is correct.
The attack described is completely impractical (the space of nonces is
very large), and checking whether a nonce is a replay is cheaper than
verifying a PoW solve, so we want to do that first.
Splitting this into something like the following:
* Check replay log without updating
* Check that solve is valid
* Update replay log
Would require adding a somewhat dangerous API to the ReplayLog, and
requires doing more work per request for something that isn't even a
practical attack, AFAICT.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We restored the seeds, but doing so is counterproductive if we don't
also recreate the verifiers needed to check solves for those seeds.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This does not currently allow this option to be changed at runtime,
although the code is structured so that allowing it to be changed at
runtime won't be too hard. This is tracked by #2082.
|
| | | | |
| | | |
| | | |
| | | | |
MockExecutor now supports the features needed for this test to work.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This disentangles the ReplyLog from the IptManager.
This will allow us to make the InternalPowError type more public (in
order to use it in the OnionServiceStatus code) without also having to
make the CreateIptError type more public.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
We parse and verify some network documents from testdata2.
|
| | | | |
| | | |
| | | |
| | | | |
This can parse and validate the signatures on a consensus.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This isn't used anywhere yet. We're going to demonstrate it, and test
the demo, in a moment.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
testresult is a new dependency for arti.git. (It's being added as a
test-dependenchy here.) It is has a very useful Result type for use
in test cases.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This is a fine API. The representation may change, but that wouldn't
be breaking.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We won't want them ever to be anything other than a wrapper around
`RsaIdentity`, so we can make them transparent.
Derive various useful traits, including Deref.
Expose them publicly, since there's no reason not to do so. (The new
parser will want to reuse them. It's in-crate, but out-of-crate users
may want to use these too for other netdoc types.)
|
| | | | |
| | | |
| | | |
| | | | |
The new parser is going to reuse this.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / /
| | |
| | |
| | | |
Plan to gradually move over to this semiautomatically-maintained data.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This replaces a `send_unbounded()` call with `send_msg()`. Now
`send_msg()` is the only place where we call `send_unbounded()` in the
tunnel reactor, which makes it a bit easier to see which callsites have
the potential to cause buffering in the channel sink.
Prompted by #2112
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-rtmock: Slightly clean up CrateGetters macro
See merge request tpo/core/arti!3150
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I want to use this as an example in a talk.
Add a blank line that makes it more readable, and generate only one
impl block with many methods.
|
| | |_|/
|/| |
| | |
| | |
| | |
| | | |
This comment isn't correct if the encode() was given a non-empty buffer
(for example if two cells were written to the same buffer, the second
encode() would be given a non-empty buffer, so `pos != 5`).
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
arti: keys: Fix `display_keystore_entries` output
See merge request tpo/core/arti!3143
|
| | | | | |
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
arti-crate-readme-typos: Typos
See merge request tpo/core/arti!3115
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- "command-line" should be written with hyphen when adjective.
- Rephrased some sentences.
- OS X is now called MacOS.
|
| |\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | | |
circmgr: Don't count channel negotiation towards circuit built time.
See merge request tpo/core/arti!3141
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is important, since some circuits require us to negotiate a new
channel, and some don't: by adding this variability, we can easily
learn a timeout based on pre-existing channels to our guards, but
then later time out if it takes a while to open a TLS connection.
This is a possible solution to part of #2079, a bug where we "learn"
a circuit timeout that is too low for us to satisfy.
|
| | | |/
| |/| |
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes this warning. Not sure why it's not showing up in CI.
--> crates/arti-client/examples/one_hop_circuit.rs:16:35
|
16 | fn find_one_hop_dir_cache(netdir: &NetDir) -> Option<Relay> {
| ^^^^^^^ ----- the same lifetime is hidden here
| |
| the lifetime is elided here
|
= help: the same lifetime is referred to in inconsistent ways, making the signature confusing
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
|
16 | fn find_one_hop_dir_cache(netdir: &NetDir) -> Option<Relay<'_>> {
| ++++
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-proto: Fix failing cargo fmt
See merge request tpo/core/arti!3140
|