| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Everything copied in the previous commits to tor-keys is now removed and
tor-keys crate is used accross the code.
Minor changes to tor-keys to accomodate this change.
Part of #1137
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As stated in the comment added in this commit, this is temporary as we
want tor-hscrypto to start using tor-keys and define these
implementation there.
Part of #1137
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move EncodableKey, ToEncodableKey and Keygen to tor-keys crate from
tor-keymgr.
To pull this off, an err.rs was added taken from tor-keymgr but stripped
down to what was needed only. No code was changed in any of the files
copied from tor-keymgr.
Our deftly macro now auto implement these traits for the key wrapper
type created. This gives the ability of the wrapper to be used by a
tor-keymgr::Keystore.
In order to pull this off, most of the SSH code has been moved into this
crate (ssh.rs) meaning that its ABI/API now resides in the tor-keys
trait outside of tor-keymgr.
Note that Sealed was not put back because the deftly macro is designed
to be used outside of this crate and thus implementing EncodableKey. The
alternative is that we would need to force all arti keys to be declared
in this crate which is not great because it then exposes all these key
types to the world outside their subsystem.
Part of #1137
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| | |
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| | |
Some object use path where put explicitly in order to avoid the macro
user to need to import "ed25519" module.
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The derive ed25519 keypair macro now implements the keymgr trait so the
key wrapper can now be used with a keystore without needing to specify
it in the tor-keymgr crate.
For this to work, a slight change to the KeygenRng trait was needed as
in to expect the CryptoRngCore trait which is what ed25519-dalek
requires.
And also, the removal of the Sealed trait since now it is accepted to
implement these traits outside tor-keymgr.
Fixes #1137
Signed-off-by: David Goulet <[email protected]>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
At this commit, we also add a derive-deftly macro for ed25519 keypair
along a helper macro that can define a wrapper around a lower-level
ed25519::Keypair.
Part of #1137
Signed-off-by: David Goulet <[email protected]>
|
| |\ \
| | |
| | |
| | |
| | | |
Remove semver.md files.
See merge request tpo/core/arti!2385
|
| | | |
| | |
| | |
| | | |
The 1.2.7 release is out so we won't be needing these anymore.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
arti: Write the test config atomically.
Closes #1549
See merge request tpo/core/arti!2375
|
| | | |
| | |
| | |
| | | |
This reverts commit ececf6be2eaffc201666cd3413dc19c025be66de.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The flakiness from the `watch_single_file` test was caused by the race
between the config write, and the fake SIGHUP "signal" sent on
`sighup_tx`: sometimes, the sighup would get handled between creating
the config file and writing its contents. In those cases, the config
received in `TestModule::reconfigure` would be `Default::default()`,
which caused an assertion to fail (because the test is expecting to
receive the `ArtiConfig` it wrote to disk).
Closes #1549
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2374#note_3070500
|
| | | |
| | |
| | |
| | | |
Nothing uses this yet.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
I realised a way this could happen without there being a bug.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Including testing that uncommenting the example generates a config
with tracking enabled, and that the example low_water is the default
value for the example max.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Tests are not entirely trivial and will come in a moment.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
* In arti, memquota simply turns on in memquota arti-client
* In arti-client, add an (unconditional) dependency on tor-memquota,
and have the memquota feature turn on the feature in tor-memquota.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allow a `Config` to represent "this is supposed to be disabled".
This involves wrapping the actual built configuration in an IfEnabled.
We treat max = usize::MAX, or max being unspecified, as "disable".
We can now reporting an error during config building if max is set but
we're compiling the feature out. Conversely, we can now make
`MemoryQuotaTracker::new()` unconditional, since enabled
confiogurations are uninhabited when the feature is compiled out.
We change how we derive the setters, deriving them from the Builder.
I chose to abolish the use of derive_builder. See the new comment on
ConfigBuilder.
|
| | | | |
|
| | |/
|/|
| |
| |
| | |
We're about to change the config behaviour; adding these tests first
allows us to demonstrate the changes.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Done using
```
(cd crates/hashx/bench && cargo update)
(cd crates/equix/bench && cargo update)
```
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Done using:
```
cargo set-version --bump patch -p arti
```
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.22.0
done
```
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This bumps the versions of the non-{arti,tor-}
crates that have non-functional changes:
- fslock-guard (updated rustdoc-args)
- equix (comment typo fixes)
- caret (updated rustdoc-args)
- safelog (updated rustdoc-args)
- retry-error (updated rustdoc-args)
And of the pre-1.0.0 crates that have new APIs:
- fs-mistrust (new `CheckedDir::metadata` API)
Done using
```
for c in "${non_tor[@]}"; do maint/bump_nodep $c; done
```
where `non_tor` contains the list above
|
| | |
| |
| |
| | |
This is the first time we're publishing this, so let's start at 0.1.0.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
The `restricted-discovery` feature is reachable from `experimental`.
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
| |
This sets `COLUMNS` to a large value to prevent line wrapping.
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2370#note_3067346
Closes #1574
|
| | |
|
| |
|
|
| |
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2370#note_3066621
|