| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This crate is new, and gets a bump to 0.1.0.
tor-log-ratelim
This crate had a breaking change:
tor-persist
tor-llcrypto had a breaking change. These crates _are_
tor-llcrypto, or (transitively) depend on it. I am assuming that
they all re-expose something from it in a way that matters:
tor-llcrypto
tor-bytes
tor-hscrypto
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy
arti-client
arti-rpcserver
arti-hyper
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates had backward-compatible changes, and get a patchlevel
bump only:
fs-mistrust
tor-error
tor-config
tor-rtcompat
tor-rtmock
This crate exposes no non-CLI APIs, and gets a patchlevel bump only:
arti
|
| |\
| |
| |
| |
| | |
Increase our MSRV to 1.70
See merge request tpo/core/arti!1773
|
| | | |
|
| | |
| |
| |
| |
| | |
With this change, we no longer expose the ExpandedSecretKey
unescorted, which makes it harder to misuse the API.
|
| | |
| |
| |
| |
| |
| |
| | |
This type was part of `hazmat`, and was no longer necessary anywhere
in our codebase. (It had one remaining user, which was easy enough
to remove.) By removing it, we remove the opportunity for using an
unescorted ed25519 private key.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This code was needed with the old version of dalek-cryptography,
which wasn't compatible with up-to-date versions of the `rand`
crate(s). But now that we've upgraded, we can drop this.
(We could have left it around and deprecated it, but we are already
making a breaking change to tor-llcrypto by upgrading
dalek-cryptography.)
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main changes that we have to adjust for are as follows:
* In x25519-dalek:
* `StaticSecret` is now behind a feature.
* `StaticSecret::new` is deprecated in favor of
`StaticSecret::random_from_rng`.
* StaticSecret no longer does its own clamping.
* In ed25519-dalek:
* `SecretKey` has (in effect) been renamed to `SigningKey`. The name
`SecretKey` is now an alias for `[u8; 32]`.
* `SigningKey` is effectively a keypair, since it contains a
public key as well.
* `PublicKey` has been renamed to `VerifyingKey`.
* The functions to extract a signing key and verifying key have
been renamed as you might expect.
* `ExpandedSecretKey` has been moved to `hasmat` and no longer
implements `sign`.
* `ExpanededSecretKey` now has as its elements a scalar and a hash
prefix.
* Various functions that took `&[u8]` now take `&[u8; N]`.
* We no longer need a wrapper for older versions of rand.
There is a single test in tor-keymgr that does not pass. I've
marked it as ignore for now, in hopes that @gabi-250 can help me
figure it out.
This closes #808. There are several changes I want to make before
we merge, however. They are marked with TODO DALEK.
|
| |
|
|
|
|
| |
IMO it is quite undesirable to have multiple copies of "gen a secret
key and make a keypair out of it". Add a TODO HSS and and a ref to
arti#1137 which is related.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
1. Move `impl From<SpecificKeypair> for curve25519::StaticKeypair`
(which was just a bespoke impl for HsClientDescEncKeypair)
into the define_pk_keypair macro, so everything has it.
Currently the only other user of the curve25519_pair feature is HsSvcNtorKey.
2. Provide the reverse conversion too.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
We need to add a module-global `#[allow(deprecated)]` to silence the
deprecation warnings coming from the derived `derive_more` impls of the
2 newly deprecated structs. Since we don't want the `allow` to apply to
the entire `pk` module, let's put `HsClientIntroAuthKey` and
`HsClientIntroAuthKeypair` in a separate module and apply the
`#[allow(deprecated)]` there.
|
| |
|
|
| |
Part of #1037
|
| |
|
|
|
|
|
|
|
|
|
| |
periods.
Hidden services can have multiple "active" time periods for which they
generate descriptors. We need to be able to compute the offset of a
timestamp from the start of a given time period, even if that timestamp
falls within the "next" time period (for example, when publishing
descriptors for the "previous" time period, the `when` timestamp will
fall outside the `(start, end)` range of the "previous" time period).
|
| |
|
|
|
|
| |
This is the approach from appendix F.2 in rend-spec.
Part of #1053.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
These crates have new APIs:
tor-async-utils ADDED
tor-config ADDED
tor-hscrypto ADDED
tor-netdoc ADDED, plus BREAKING-experimental.
These crates have patch-level changes only:
tor-netdir (bugfix only). (re-exposes netdoc)
arti-rpcserver (tweaks only, uses nothing that broke.)
arti 1.1.10, no stable public APIs.
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
tor-basic-utils BREAKING
tor-rtmock BREAKING.
tor-cert BREAKING
tor-cell BREAKING
tor-proto BREAKING: re-exposes cell. (Also BREAKING-experimental)
tor-chanmgr BREAKING: Re-exposes proto.
tor-ptmgr BREAKING: re-exposes tor-chanmgr
tor-guardmgr BREAKING: re-exposes proto. (Only for ClockSkew I think?)
tor-circmgr BREAKING: re-exposes proto
tor-dirclient BREAKING
tor-hsclient BREAKING, re-exposes proto.
tor-hsservice BREAKING, re-exposes proto.
tor-hsrproxy BREAKING
arti-client BREAKING: re-exposes proto.
arti-hyper: BREAKING, re-exposes arti-client.
tor-dirmgr Let's assume BREAKING, very high-level.
tor-keymgr BREAKING, but experimental.
```
|
| |
|
|
|
|
|
|
| |
Sometimes it's useful to have the ability to derive the `HsIdKey` from
the keypair (for example, if we've just read the `HsIdKeypair` from the
keystore and also need the `HsIdKey`, this `From` impl enables us to
derive the public part of the key, instead of having to read it from the
keystore).
|
| | |
|
| |
|
|
|
|
| |
This renaming aims to make it clearer that this offset is _not_ the time
between start of the epoch and the start of this time period, but rather
the delta between our epoch and the Unix epoch, in seconds.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
We need it to sign descriptors.
|
| | |
|
| |
|
|
| |
Needed to implement `PartialEq` for `AuthorizedClientConfig`.
|
| |
|
|
| |
This was missing the conventional spaces. Noticed in passing.
|
| |
|
|
|
| |
(Also, extend our macro so that we can wrap other curve25519 keys in
this way, if we want.)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are:
```
hashx
equix
tor-async-utils
tor-error
tor-config
tor-rtmock
tor-llcrypto
tor-bytes
tor-hscrypto
tor-hspow
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-netdir
tor-chanmgr
tor-guardmgr
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
arti-client
arti
```
|
| |
|
|
| |
This will be used by the descriptor publisher when building descriptors.
|
| |
|
|
|
|
| |
This function will be used by the descriptor publisher (it needs to
generate descriptors, and for that it needs the subcredential, which can
be derived from the `HsBlindIdKey` and `TimePeriod`).
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates have had trivial changes only: typically,
changes to documentation or to clippy warnings. There's no
good reason to update which version of them other crates depend on,
so we only bump _their_ patchlevels.
```
tor-async-utils
caret
safelog
tor-events
tor-units
tor-rtcompat
tor-rpcbase
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-socksproto
tor-cert
tor-cell
tor-consdiff
tor-congestion
arti-rpcserver
arti-testing
arti-bench
arti-config
arti-hyper
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates are at version 0.x.y, so we don't need to distinguish
new-feature changes from other changes:
```
tor-basic-utils
fs-mistrust
tor-error
tor-geoip
tor-checkable
tor-linkspec
tor-netdoc
tor-netdir
tor-persist
tor-ptmgr
tor-hsservice
```
This crate has a breaking change, but only when the semver-breaking
feature `experimental-api` is enabled:
```
tor-config
```
This crate is at version 1.x.y, but has no new public APIs, and
therefore does not need a minor version bump:
```
arti
```
|
| | |
|
| |
|
|
| |
Closes #950.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Done with the commands below.
The following crates have had various changes, and should get a
patchlevel bump. Since they are pre-1.0, we do not need to
distinguish new APIs from other changes.
```
cargo set-version --bump patch -p arti-client
cargo set-version --bump patch -p safelog
cargo set-version --bump patch -p tor-bytes
cargo set-version --bump patch -p tor-cert
cargo set-version --bump patch -p tor-circmgr
cargo set-version --bump patch -p tor-config
cargo set-version --bump patch -p tor-consdiff
cargo set-version --bump patch -p tor-dirclient
cargo set-version --bump patch -p tor-dirmgr
cargo set-version --bump patch -p tor-error
cargo set-version --bump patch -p tor-hsservice
cargo set-version --bump patch -p tor-linkspec
cargo set-version --bump patch -p tor-llcrypto
cargo set-version --bump patch -p tor-netdir
cargo set-version --bump patch -p tor-netdoc
cargo set-version --bump patch -p tor-proto
cargo set-version --bump patch -p tor-rpcbase
cargo set-version --bump patch -p tor-socksproto
```
This crate has new features, but no new non-experimental Rust APIs.
So even though it is post-1.0, it gets a patchlevel bump.
```
cargo set-version --bump patch -p arti
```
|
| |
|
|
|
|
|
|
|
|
| |
Done with:
```
cargo set-version --bump minor -p tor-hsclient
cargo set-version --bump minor -p arti-rpcserver
cargo set-version --bump minor -p tor-hscrypto
cargo set-version --bump minor -p tor-cell
```
|
| | |
|
| |
|
|
| |
These are in the spec and tor-hsclient is about to want them.
|
| |
|
|
| |
The breaking changes here do not seem to affect us.
|
| |
|
|
| |
The ErrorKinds that we use here are now non-experimental.
|