| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
As per #1479
|
| | | | |
| | | |
| | | |
| | | | |
As per #1479
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the first step towards clarifying the questions from !2230.
Corresponding torspec changes: https://gitlab.torproject.org/tpo/core/torspec/-/merge_requests/282
Part of #1479
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
"Black" is an "opinionated" python formatter, whose opinionatedness
is somewhat in the spirit of rustfmt.
This MR runs black with default settings on all of our python code
in Arti. It was produced by the following commands
```
# Everything in python/
black python/
# Everything with a .py extension
fd '.py$' -X black
# Everything with a python shebang.
git grep -l '#! */usr/bin/env *python' | xargs black
```
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit removes the separate function for asking whether to
bypass the dispatch code. Instead, it gives the "invoke with
bypass" function an error to return when no dispatch is warranted,
and moves the whole responsibility for method dispatch or
non-dispatch back into tor-rpcbase.
I had to add an ObjectId argument to `invoke_rpc_method` to make
this work, but that's probably a good thing.
Additionally, this commit tweaks the derive-deftly macro to prevent
you from asking for dispatch bypass on special methods, where it
isn't implemented (and doesn't really make sense).
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Previously we implied that it was only for strings,
which isn't the case.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now, instead of telling the session or the connection to drop the
object ID, we tell the object ID to go away.
Closes #1663.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
I'm about to use this for rpc:release, which is special
because it doesn't actually look at the type of the object that it's
invoked on. Later it might be useful for manipulating weakrefs,
cloning referenes, detecting reference equality, etc.
|
| | | |
| | |
| | |
| | |
| | | |
If and when we implement this, it will likely be different;
arti#868 has some thoughts on the implications.
|
| |/ /
| |
| |
| |
| | |
These will have different implementations soon; this is a more
logical place for them.
|
| | |
| |
| |
| |
| |
| | |
This warning shows up when running `cargo +nightly doc`.
Apparently nightly doesn't like it when we have elided a lifetime
that has a perfectly good name.
|
| | |
| |
| |
| | |
Mark it no longer experimental, but part of full. And document it.
|
| | |
| |
| |
| | |
Mark it no longer experimental, but part of full. And document it.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
And document the Cargo features.
This compiles in the memquota support for people who depend directly
on tor-memquota. But all our in-tree dependencies turn off default
features, so this doesn't have any effect for in-tree crates.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Sort them alphabetically.
Use the bullet point style we see elsewhere.
Use the same headings as elsewhere.
|
| | | |
|
| | |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097443
|
| | |
| |
| |
| |
| | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2561#note_3097442
|
| | |
| |
| |
| |
| | |
Work around awkward cargo behaviour and allow us to more reliably test
disabled features, even if they're enabled by default at lower levels.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This new feature lets us provide the "enable these options which are
needed to make the tests pass" featrure, which is different for each
of the afflicted crates. Then we can test these crates
tor-hsservice
arti
arti-client
which minimal features.
This will be important in a moment, as we're going to want to be
relying on actually minimal features tests in arti cfg.rs.
|
| |\ \
| | |
| | |
| | |
| | | |
memquota: Fix account lifetime bugs, and arrange to test mq in shadow
See merge request tpo/core/arti!2560
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Promote the associated comments.
As suggested here:
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097188
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2560#note_3097189
|
| | | |
| | |
| | |
| | |
| | | |
These errors aren't necessarily memory pressure. They can occur due
to bugs, and during teardown.
|
| | | |
| | |
| | |
| | |
| | | |
This detects the bugs I have just fixed - in Shadow tests with the
feature enabled and a (large) limit set.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The DataStream is sometimes disassembled, eg by split. When that
happens, the StreamAccount would be dropped - and that was the only
strong reference.
Put a StreamAccount in each of the pieces, instead of just in the
combined DataStream struct.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We need the mq account for the stream not to collapse. The
ResolveStream object needs to contain a strong reference to it.
Have begin_stream_impl return the StreamAccount, rather than taking it
as a parameter. That makes this bug a little more obvious. It also
centralises the StreamAccount creation.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Now that it doesn't call CircuitAccount::new() it has no error paths,
and clippy demands we remove the Result, so it must once again become
infallible.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We foolishly made *two* CircuitAccounts, one of which gets immediately
dropped. But we need to hold onto the account somewhere, because an
mq_queue doesn't keep the account alive.
Otherwise everything breaks when mq tracking is enabled.
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
general::SocketAddr: Say "inet" rather than "tcp"
Closes #1701
See merge request tpo/core/arti!2554
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
"inet" makes more sense, since in principle these can also be used
for udp, etc.
Also making a corresponding change in rpc-connect-sketch.md,
which uses this format.
Closes #1701.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Remove an obsolete TODO
See merge request tpo/core/arti!2562
|