| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.25.0
done
```
|
| |
|
|
|
| |
According to the changelog, moving from 0.7.6 to 0.8.0 we get some new
constructors and breaking changes to various "general" APIs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the hs-pow, hs-pow-full, hs-pow-v1, pow-v1, and pow-full
features with a single hs-pow-full feature.
It's possible that in the future we will want to split different schemes
into different features, but we can do that when it comes up.
For now, having this as a single flag makes it clearer what's going on,
since the previous thing was not actually expressive enough to capture
some things we care about (like "at least one pow scheme is enabled"
that works in a future-compatible way).
This change is not semver breaking since it's a experimental feature.
Related: #1751
|
| | |
|
| |\
| |
| |
| |
| | |
Version bumps for release of 1.3.0
See merge request tpo/core/arti!2599
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cargo set-version -p tor-async-utils 0.24.0
cargo set-version -p tor-basic-utils 0.24.0
cargo set-version -p tor-bytes 0.24.0
cargo set-version -p tor-cell 0.24.0
cargo set-version -p tor-cert 0.24.0
cargo set-version -p tor-chanmgr 0.24.0
cargo set-version -p tor-checkable 0.24.0
cargo set-version -p tor-circmgr 0.24.0
cargo set-version -p tor-config 0.24.0
cargo set-version -p tor-config-path 0.24.0
cargo set-version -p tor-consdiff 0.24.0
cargo set-version -p tor-dirclient 0.24.0
cargo set-version -p tor-dirmgr 0.24.0
cargo set-version -p tor-error 0.24.0
cargo set-version -p tor-general-addr 0.24.0
cargo set-version -p tor-geoip 0.24.0
cargo set-version -p tor-guardmgr 0.24.0
cargo set-version -p tor-hsclient 0.24.0
cargo set-version -p tor-hscrypto 0.24.0
cargo set-version -p tor-hsrproxy 0.24.0
cargo set-version -p tor-hsservice 0.24.0
cargo set-version -p tor-key-forge 0.24.0
cargo set-version -p tor-keymgr 0.24.0
cargo set-version -p tor-linkspec 0.24.0
cargo set-version -p tor-llcrypto 0.24.0
cargo set-version -p tor-log-ratelim 0.24.0
cargo set-version -p tor-memquota 0.24.0
cargo set-version -p tor-netdir 0.24.0
cargo set-version -p tor-netdoc 0.24.0
cargo set-version -p tor-persist 0.24.0
cargo set-version -p tor-proto 0.24.0
cargo set-version -p tor-protover 0.24.0
cargo set-version -p tor-ptmgr 0.24.0
cargo set-version -p tor-relay-crypto 0.24.0
cargo set-version -p tor-relay-selection 0.24.0
cargo set-version -p tor-rpcbase 0.24.0
cargo set-version -p tor-rtcompat 0.24.0
cargo set-version -p tor-rtmock 0.24.0
cargo set-version -p tor-socksproto 0.24.0
cargo set-version -p tor-units 0.24.0
cargo set-version -p arti-client 0.24.0
cargo set-version -p arti-relay 0.24.0
cargo set-version -p arti-rpc-client-core 0.24.0
cargo set-version -p arti-rpcserver 0.24.0
|
| | |
| |
| |
| |
| |
| |
| | |
This is output from
nailing-cargo -Eu run -p fixup-features Cargo.toml
There are some formatting glitches which I'll fix in a moment.
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this design, the thin multiplexing layer between PoW types is always
available when onion services are in use, but the specific pow schemes
(and their dependency libraries) are gated by crate features everywhere.
There are now no new cfg() gates.
When the pow-v1 scheme is disabled, we can parse `pow-params v1` lines
into an empty type (so clients know a PoW scheme exists that might be
supported if they were configured differently). We currently don't save
the contents of unknown hsdesc items.
On the relaycell side, the hs ext module already sets a strong precedent
for keeping unrecognized data as a byte vec, and it doesn't provide a
good way to signal soft parse errors like unrecognized optional
extensions. There, the `v1` type is completely optional, and services
lacking a pow scheme suggested by a client would see one of these
'unrecognized' blobs. This isn't necessarily helpful but it fits the
rest of the design.
Co-authored-by: Micah Elizabeth Scott <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
My previous strategy here was to try and centralize hspow in one crate,
writing it like a self-contained feature. That introduced friction in
the data types, prompting the use of simplistic types at the netdoc/cell
layers and full-featured types in the optional modules.
This changes tactics, dissolving the low-level parts of tor-hspow into
tor-hscrypto and the high-level parts into hsclient/hsservice. Full
featured types are used everywhere now, but the tradeoff is that
compile-time configurability is a lot more pervasive. Anything that
knows about PoW types at all needs to be fully configured out. I took
this opportunity to try a more complete set of crate features, allowing
users to configure individual PoW schemes.
Co-authored-by: Micah Elizabeth Scott <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per our policy, every one of these gets a minor bump.
Generated with:
```
for crate in $(./maint/list_crates | grep '^\(tor\|arti\)-' ); do
cargo set-version --bump minor -p $crate;
done
```
(Note the use of `-` at the end end of the grep pattern to prevent
matching the `arti` crate.)
|
| |\
| |
| |
| |
| | |
Upgrade MSRV to 1.77 , and rusqlite to 0.32.1
See merge request tpo/core/arti!2451
|
| | |
| |
| |
| | |
This will allow us to upgrade to the latest version of rusqlite.
|
| |/
|
|
|
|
| |
The `derive_more` crate broke backward compatibility with this version,
so this change involved quite a few manual fixups.
With luck, they'll keep compatibility for some while in the future.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.22.0
done
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nightly rust doesn't like it when you have a `match` arm that can
never be reached because of an uninhabited type. As such,
we can't say stuff like:
```
let x: Option<Void> = ...;
match x {
Some(_) => unreachable!(),
None => ...
}
```
|
| |
|
|
|
| |
It now does it automatically, see
<https://docs.rs/about/builds#detecting-docsrs>.
|
| |
|
|
|
|
|
|
|
|
| |
This is the result of:
```
for crate in $( ./maint/list_crates |grep '^\(tor\|arti-\)' ); do
cargo set-version -p $crate 0.21.0
done
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nailing-cargo -uE set-version -p arti-client 0.20.0
nailing-cargo -uE set-version -p arti-relay 0.20.0
nailing-cargo -uE set-version -p arti-rpcserver 0.20.0
nailing-cargo -uE set-version -p tor-async-utils 0.20.0
nailing-cargo -uE set-version -p tor-basic-utils 0.20.0
nailing-cargo -uE set-version -p tor-bytes 0.20.0
nailing-cargo -uE set-version -p tor-cell 0.20.0
nailing-cargo -uE set-version -p tor-cert 0.20.0
nailing-cargo -uE set-version -p tor-chanmgr 0.20.0
nailing-cargo -uE set-version -p tor-checkable 0.20.0
nailing-cargo -uE set-version -p tor-circmgr 0.20.0
nailing-cargo -uE set-version -p tor-config 0.20.0
nailing-cargo -uE set-version -p tor-consdiff 0.20.0
nailing-cargo -uE set-version -p tor-dirclient 0.20.0
nailing-cargo -uE set-version -p tor-dirmgr 0.20.0
nailing-cargo -uE set-version -p tor-error 0.20.0
nailing-cargo -uE set-version -p tor-geoip 0.20.0
nailing-cargo -uE set-version -p tor-guardmgr 0.20.0
nailing-cargo -uE set-version -p tor-hsclient 0.20.0
nailing-cargo -uE set-version -p tor-hscrypto 0.20.0
nailing-cargo -uE set-version -p tor-hsrproxy 0.20.0
nailing-cargo -uE set-version -p tor-hsservice 0.20.0
nailing-cargo -uE set-version -p tor-keymgr 0.20.0
nailing-cargo -uE set-version -p tor-linkspec 0.20.0
nailing-cargo -uE set-version -p tor-llcrypto 0.20.0
nailing-cargo -uE set-version -p tor-log-ratelim 0.20.0
nailing-cargo -uE set-version -p tor-memquota 0.20.0
nailing-cargo -uE set-version -p tor-netdir 0.20.0
nailing-cargo -uE set-version -p tor-netdoc 0.20.0
nailing-cargo -uE set-version -p tor-persist 0.20.0
nailing-cargo -uE set-version -p tor-proto 0.20.0
nailing-cargo -uE set-version -p tor-protover 0.20.0
nailing-cargo -uE set-version -p tor-ptmgr 0.20.0
nailing-cargo -uE set-version -p tor-relay-selection 0.20.0
nailing-cargo -uE set-version -p tor-rpcbase 0.20.0
nailing-cargo -uE set-version -p tor-rtcompat 0.20.0
nailing-cargo -uE set-version -p tor-rtmock 0.20.0
nailing-cargo -uE set-version -p tor-socksproto 0.20.0
nailing-cargo -uE set-version -p tor-units 0.20.0
Each of which runs a rune like
cargo set-version --offline -p tor-units 0.20.0
|
| |
|
|
|
|
|
| |
No code changes needed.
Precisely
nailing-cargo -Eu upgrade --incompatible -p itertools
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The unstable crates are:
- tor-error
- tor-config
- tor-units
- tor-geoip
- tor-rtcompat
- tor-rtmock
- tor-log-ratelim
- tor-rpcbase
- tor-memquota
- tor-llcrypto
- tor-protover
- tor-bytes
- tor-hscrypto
- tor-socksproto
- tor-checkable
- tor-cert
- tor-linkspec
- tor-cell
- tor-proto
- tor-netdoc
- tor-consdiff
- tor-netdir
- tor-relay-selection
- tor-persist
- 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
- tor-basic-utils
- tor-async-utils
Done using
```
for p in "${unstable[@]}"; do cargo set-version -p $p 0.19; done
```
where `unstable` contains the list above
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for p in `cat ../u`; do cargo set-version --locked --offline -p $p; done
where u contains
tor-basic-utils
tor-async-utils
tor-error
tor-config
tor-units
tor-geoip
tor-rtcompat
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-memquota
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-persist
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Done with:
```
CRATES="
tor-basic-utils
tor-async-utils
tor-error
tor-config
tor-events
tor-units
tor-geoip
tor-rtcompat
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-hspow
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-congestion
tor-persist
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-config
arti-hyper
arti-bench
arti-testing
"
for crate in $CRATES; do
cargo set-version -p "$crate" 0.17.0
done
```
|
| |
|
|
|
|
|
|
|
|
| |
We bumped the minor version of `tor_checkable`, which is used in the
`tor-cell` public APIs (e.g. `Ed25519Cert` implements
`tor_checkable::Timebound`, using `tor_checkable::TimeValidityError`
as its error type).
This bumps the minor version of `tor-cert` (including for its
dependents).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
APIs were broken in these pre-1.0.0 crates:
```
tor-keymgr
tor-config
tor-checkable
tor-circmgr
tor-dirmgr
tor-hsclient
tor-hsservice
tor-hsrproxy
```
Done with:
```
cargo set-version --bump minor -p tor-keymgr
cargo set-version --bump minor -p tor-config
cargo set-version --bump minor -p tor-checkable
cargo set-version --bump minor -p tor-circmgr
cargo set-version --bump minor -p tor-dirmgr
cargo set-version --bump minor -p tor-hsclient
cargo set-version --bump minor -p tor-hsservice
cargo set-version --bump minor -p tor-hsrproxy
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
APIs were added:
```
tor-units
tor-cell
tor-proto
tor-netdir
arti-client
```
Done with:
```
cargo set-version --bump patch -p tor-units
cargo set-version --bump patch -p tor-cell
cargo set-version --bump patch -p tor-proto
cargo set-version --bump patch -p tor-netdir
cargo set-version --bump patch -p arti-client
```
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Functional changes were made, but no APIs were added or broken:
```
tor-events (async_broadcast 0.6.0 -> 0.7.0)
tor-netdoc (signature 1 -> 2)
tor-guardmgr
arti-testing (config 0.13.4 -> 0.14.0)
tor-persist (breaking changes gated behind experimental feature)
fslock-guard (fix lockfile_has_path compilation on Windows)
```
Done with:
```
cargo set-version --bump patch -p tor-events
cargo set-version --bump patch -p tor-netdoc
cargo set-version --bump patch -p tor-guardmgr
cargo set-version --bump patch -p arti-testing
cargo set-version --bump patch -p tor-persist
cargo set-version --bump patch -p fslock-guard
```
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bump the minor version of these crates, and update the in-tree
dependencies.
Recently published as fresh crates, let's just assume there are
breaking changes:
fslock-guard
test-temp-dir
Breaking API change affecting many many downstream crates:
tor-rtcompat
Downstream crates which we're (conservatively) assuming have
tor-rtcompat types in their APIs:
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-llcrypto
tor-protover
tor-bytes
tor-hscrypto
tor-hspow
tor-socksproto
tor-checkable
tor-cert
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-congestion
tor-persist
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-config
arti-hyper
arti-bench
arti-testing
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
These crates had no changes previously, but they depend on crates
that had breaking changes themselves.
tor-linkspec
tor-hspow
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This crate doesn't have a meaningful public API, so it just gets a patchlevel bump:
arti
These crates had nonbreaking changes, and get a patchlevel bump:
tor-rtcompat
fs-mistrust
tor-llcrypto
tor-cert
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates have breaking changes on their own:
tor-error
tor-netdoc
tor-dirmgr
tor-keymgr
Because of the breaking change in tor-error, and the fact that
basically every crate publicly depends on tor-error (by implementing
ErrorKind), we need to call this a breaking change on all of the
following:
tor-config
tor-geoip
tor-rtmock
tor-log-ratelim
tor-rpcbase
tor-bytes
tor-hscrypto
tor-socksproto
tor-cell
tor-proto
tor-netdoc
tor-netdir
tor-persist
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-config
arti-hyper
arti-testing
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
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.
```
|
| |
|
|
|
|
|
|
|
|
|
| |
Representing the supported HTYPEs as `HandshakeType`s instead of `u32`s
makes it more difficult to pass in wrong/invalid values to
`HsDescBuilder::create2_formats`.
This also fixes a descriptor publisher bug spotted by @jnewsome, where
the advertised CREATE2 HTYPEs included HTYPE `1`, which is actually
supposed to be a reserved value. The publisher now only advertises the
`NTOR` HTYPE (just like C Tor).
|
| | |
|
| |
|
|
| |
(The only change in these crates is that their dependencies changed.)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
| | |
|