| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Also fix some commonwealth spellings that had slipped in.
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
| |
Rust nightly claims that Vec might get its own retain_mut method,
which would potentially conflict with the extension method we've
grabbed from the retain_mut crate. To solve this, we're calling the
method explicitly.
|
| | |
|
| |\ |
|
| | | |
|
| | |
| |
| |
| | |
params
|
| |\ \
| | |
| | |
| | |
| | | |
Try to make the tor_proto::circuit::begindir test more reliable.
See merge request tpo/core/arti!142
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I traced the problem here to the fact that sometimes "rx" in this
test would be dropped before the test was done. When "rx" is
dropped, the channel reactor shuts down, which in turn kills off the
circuit reactor.
This bug may exist in other cases in these tests. This patch may
fix one case of #238.
|
| | | |
|
| | |
| |
| |
| |
| | |
usage: with_coverage <command> [args...]: run <command> with [args...]
with_coverage : run bash
|
| |\ \
| | |
| | |
| | |
| | | |
Add and resolve clippy warnings in tor-events.
See merge request tpo/core/arti!138
|
| | |/
| |
| |
| |
| | |
Here we add the same array of clippy warnings as usual to the new
tor-event crate, and resolve the issues that triggered any of them.
|
| |/ |
|
| |\
| |
| |
| |
| | |
Further configuration refactoring
See merge request tpo/core/arti!137
|
| | |
| |
| |
| |
| | |
This should be ergonomic than having to construct every section of the
configuration separately.
|
| | |
| |
| |
| |
| | |
Doing this is necessary for reconfiguration support, and will help a lot
with testing, too.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch makes sure that for every* config type we have, the defaults
you get from a Builder match those you get from Serde, and that both
match the value that you get from arti_defaults.toml. Later down the
line I'll be adding some tests to keep these in sync.
* StorageConfig still has no defaults of its own, since we aren't so
sure we want other applications to use Arti's directories by default.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Since these shell-variables are hardwired to use org.torproject.Arti as
the program name, it isn't appropriate to call them "app-specific".
If we someday reinstate APP_FOO, it should be based on a user-provided
application name.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
In order to handle explicitly specified path buffers directly, we now
let CfgPath be either a string (that gets expanded) or a PathBuf
(that doesn't).
This simplifies TorClientConfig::with_directories()
|
| | |
| |
| |
| | |
This will make it more convenient to reconfigure things.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Now every section that the two configuration objects share has the
same type and name. This should help us in documenting our configuration
in a way that doesn't confuse people.
There is still lots of API work to go.
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
This commit message totally gives away the cursed way in which I use
git. branches? what are those?
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This implements a basic typed event broadcast mechanism, as described in
arti#230: consumers of the new `tor-events` crate can emit `TorEvent`
events, which others can consume via the `TorEventReceiver`.
Under the hood, the crate uses the `async-broadcast`
(https://github.com/smol-rs/async-broadcast) crate, and a
`futures::mpsc::UnboundedSender` for the event emitters; these are glued
together in the `EventReactor`, which must be run in a background thread
for things to work. (This is done so event sending is always cheap and
non-blocking, since `async-broadcast` senders don't have this
functionality.)
Additionally, the `TorEventKind` type is used to implement selective
event reception / emission: receivers can subscribe to certain event
types (and in fact start out receiving nothing), which filters the set
of events they receive. Having no subscribers for a given event type
means it won't even be emitted in the first place, making things more
efficient.
|
| | | | |
|
| | |/
|/| |
|
| | |
| |
| |
| |
| | |
This isn't the prettiest, but suppressing the warning does make
the example warning free.
|
| | |
| |
| |
| | |
Chutney needs this, to avoid putting every relay in the same family.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Now there are no options that aren't in a toml section.
|
| | |
| |
| |
| |
| | |
This is more accurate, since it describes the details of the tor
network that we're connecting to.
|
| | | |
|
| | |
| |
| |
| | |
Also use the path_rules name consistently throughout the code.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
To do this at all neatly, I had to split out `tor-config` from
`arti-config` again, and putting the lower level stuff (paths,
builder errors) into tor-config. I also changed our use of
derive_builder to always use a common error type, to avoid
error type proliferation.
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `bad_extend_*` failures were caused by bad test code in
`bad_extend_test_impl` that used `futures::join!`; this meant that the
reactor could receive the `Extended2` cell before it actually got the
`ExtendNtor` request, which caused it to get (quite rightly) confused
and close the circuit. Spawning a background thread which has a short
delay before sending the `Extended2` cell seems to have alleviated this
problem.
`new_circ_create_failure` is similar; I think the reactor was getting
dropped before it had a chance to flush out its `CreateFast` cell
properly, because it had already gotten the result back (since the test
code sends it indiscriminately). This was "fixed" in much the same
manner as the other test: making it wait a bit before sending the result
cell back.
There seem to be other tests that use `futures::join!` (like
`begindir`?), and use similarly erroneous patterns; I haven't gotten any
to fail reliably enough to be able to debug them, though.
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
use 3des instead of rc2 in .pfx test fixture
Closes #239
See merge request tpo/core/arti!133
|
| |/ / |
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
I'm about to make tor-config a higher-level module, so it can't be a
dependency for tor-config.
|
| | | | |
|