| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
This is part of #1254.
|
| |
|
|
|
|
| |
This implements Relay::is_hs_intro_point.
Close #1240.
|
| |
|
|
|
| |
As we enforce these flags in more places, it will be handy for our
default network to have them for its relays.
|
| | |
|
| | |
|
| |
|
|
| |
These are not release-blockers.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
clippy in current stable thinks
|(a, b)| (a, b)
is always the identity function, but due to match ergonomics, it might
be an implicit copy.
This is fixed in nightly by
https://github.com/rust-lang/rust-clippy/pull/11792
|
| |
|
|
|
|
|
|
|
| |
These crates both depend on tor-error. Since tor-error got a
patchlevel bump, they now depend on the new version, which means by
our rules that _they_ get a patchlevel bump themselves.
tor-geoip
tor-rpcbase
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
|
| |
It does not help that C tor has a set of parameters and a set of
configuration options with exactly the same names which configure
the same thing in two slightly different ways.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
```
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.
```
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The statement
```
if hsids.all(|(_hsid, period)| rings.any(|(_, _, tp)| tp == period)) {
```
had 2 bugs:
* the condition is reversed (it should be negated: we need to bail if
one of the specified `hsids` cannot be found on any of our rings)
* `rings.any()` mutates the `rings` iterator, causing
`hs_dirs_upload` to return fewer HSDirs than expected
|
| |
|
|
| |
(The only change in these crates is that their dependencies changed.)
|
| | |
|
| | |
|
| |
|
|
|
| |
These crates have had changes that do not require their dependents
to require a later version.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This threads the country codes work through the rest of the codebase:
- `tor-dirmgr` will now enable GeoIP with the embedded database when the
`geoip` future is enabled
- This can be extended later using the `DirMgrConfig` to allow
specifying a custom database; this is not done here, though
- `tor-circmgr`'s `SupportedCircUsage` and `TargetCircUsage` fields gain
new `country_code` members to allow filtering circuits by country
- These are `()` in builds where the `geoip` feature is not enabled --
doing it this way means we don't have to copy and paste huge swathes
of code, since we can't use `#[cfg]` in patterns
- `ExitPathBuilder` gains (hacked-in) support for choosing a relay with
the correct country code
- Due to the lack of conjuction, we just copy and paste a small bit,
pending further refactoring
- `StreamPrefs` now lets you specify a country code, letting embedders
make use of the feature
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
| | |
|
| |
|
|
| |
Apply erroneous formatting as demanded by rustfmt.
|
| | |
|
| |
|
|
|
|
|
|
| |
Call site as per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1550#note_2936401
Plus a TODO comment with an opinion from me about this API.
(Note not a TODO HSS so this is on the back burner.)
|
| |
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1550#note_2936400
|
| |
|
|
|
|
| |
I'm quite unsure about this. Hence the TODOs.
I think the API is right, though.
|
| | |
|
| |
|
|
| |
`HsBlindId` is `Copy`.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
When `hs_dirs` is removed this won't n't need to be public anymore.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The hsdir selection algorithm for uploads and downloads is different
enough to justify splitting `hs_dirs` into 2 different functions.
More specifically, when selecting the relays to upload a service's
descriptors to, the service's `hsids` need to be matched up with the
correct `ring` (using the time period) before applying `select_nodes` to
pick the replicas. This is not the case when downloading, because
for downloads select relays from the current ring.
|
| |
|
|
|
|
| |
These will become useful when we split `hs_dirs()` into 2 separate
functions (one for uploading/services, and another for
downloading/clients).
|
| | |
|
| | |
|
| |
|
|
|
| |
This just simplifies the expression a little bit. It still has the same
behaviour.
|
| | |
|
| |
|
|
| |
This will become useful later when we build a `HashSet` of `HsDirIndex`.
|