| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\
| |
| |
| |
| | |
Start implementing more data structures to hold Bridge descriptors.
See merge request tpo/core/arti!755
|
| | |
| |
| |
| |
| |
| | |
Also add a BridgeRelayWithDesc type (name tbd) to guarantee that
a bridge relay really does have a known descriptor before you
try to build a circuit with it.
|
| |/
|
|
| |
it's already disabled by secmem_proc
|
| |
|
|
|
| |
This is based on the type generated with n_key_set, with a
couple of extra methods to take advantage of RelayId and RelayIdRef.
|
| |\
| |
| |
| |
| | |
Use hostname-validator crate for hostname validation
See merge request tpo/core/arti!739
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Include a HashSet variant that can be keyed on multiple keys.
See merge request tpo/core/arti!747
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Every element in the set has up to N keys, each of which may have differnt
types. No value for any key may correspond to more than one element in
the set.
These properties can be provided, via a macro, for values of N between 1
and $BIG_ENOUGH.
We'll use this to implement a type that holds HasRelayIds.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Implement a SOCKS client handshake
See merge request tpo/core/arti!746
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Try to do it in constant time, to avoid even the smell of
side-channel attacks.
|
| | |/ / |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Since these don't expose any Runtime-based APIs, they don't have
a breaking change.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
(Since the APIs for the `Schedule::sleep*` functions changed, this
is a breaking change in tor-rtcompat. Therefore, the Runtime trait
in tor-rtcompat is now a different trait. Therefore, anything that
uses the Runtime trait in its APIs has also broken.)
|
| | | | |
|
| | | | |
|
| |/ / |
|
| | |
| |
| |
| |
| | |
When complete, this crate will handle launching and using pluggable
transports on demand.
|
| |/ |
|
| | |
|
| |\
| |
| |
| |
| | |
fix compilation error with async-std
See merge request tpo/core/arti!723
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes an busy-loop.
When the last `TaskHandle` on a `TaskSchedule` is dropped, the
schedule is permanently canceled: whatever operation it was
scheduling should no longer be performed. But our code was broken:
the `sleep()` and `sleep_until_wallclock()` functions don't verify
whether the handles are dropped or not.
This breakage caused an CPU-eating busy-loop in
`sleep_until_wallclock`.
With this patch, we now return a `Result<(), SleepError>` from these
functions.
Fixes #572.
|
| |\
| |
| |
| |
| |
| |
| | |
update to notify v5.0.0
Closes #454
See merge request tpo/core/arti!679
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Because we want to work more on ensuring that our semver stability
story is solid, we are _not_ bumping arti-client to 1.0.0 right now.
Here are the bumps we _are_ doing. Crates with "minor" bumps have
had API breaks; crates with "patch" bumps have had new APIs added.
Note that `tor-congestion` is not bumped here: it's a new crate, and
hasn't been published before.
```
tor-basic-utils minor
fs-mistrust minor
tor-config minor
tor-rtcompat minor
tor-rtmock minor
tor-llcrypto patch
tor-bytes patch
tor-linkspec minor
tor-cell minor
tor-proto minor
tor-netdoc patch
tor-netdir minor
tor-persist patch
tor-chanmgr minor
tor-guardmgr minor
tor-circmgr minor
tor-dirmgr minor
arti-client minor
arti-hyper minor
arti major
arti-bench minor
arti-testing minor
```
|
| |/
|
|
|
|
|
| |
Since our last round of releases, these crates have had either
trivial changes, or changes that did not affect their APIs.
Therefore we are bumping their versions, but not changing which
versions of them other crates depend on.
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Represent the home directory as ${HOME} or %UserProfile%
Closes #555
See merge request tpo/core/arti!700
|
| | |
| |
| |
| |
| |
| | |
This function transforms `/home/nickm/.config` to
`${HOME}/.config/`, so that we can expose the username less in our
logs.
|
| |\ \
| | |
| | |
| | |
| | | |
Remove `anyhow` from `tor-config` crate
See merge request tpo/core/arti!707
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| |\ \
| |/
|/|
| |
| | |
Apply safelog to more of the things that we log
See merge request tpo/core/arti!693
|
| | |
| |
| |
| |
| | |
We now log connection attempts at debug!, and mark relay target
addresses as sensitive.
|
| | |
| |
| |
| |
| |
| |
| | |
This commit largely follows the example for resolve_alternative_specs.
The difference is that there are two fields, so we use a macro to
avoid recapitulating the field names.
|
| | | |
|
| |/
|
|
|
| |
We're going to want this functionality, which isn't in the stable
stdlib.
|
| |
|
|
|
|
| |
Arti is not designed to be a setuid-safe program.
Part of #523.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
This commit is just the necessary plumbing. The config is currently
empty. We'll add something to it, for padding control, later.
|
| |
|
|
| |
This will be used for controlling channel padding, for now.
|
| |
|
|
|
|
|
| |
This is more standard. It also provides the ::build() method.
This isn't a config type, and build failures ought not to happen,
so we use Bug for the error.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a compile-time feature with an associated configuration
flag, both enabled by default.
When it's turned on, hardening prevents the arti process from
dumping core or being attached to by low-privileged processes.
(This is a defense-in-depth measure, not an absolute way to prevent
attacks. For more information, see
[`secmem_proc`](https://docs.rs/secmem-proc/0.1.1/secmem_proc/).)
Closes #364.
|
| |\
| |
| |
| |
| |
| |
| | |
Reduce the arti crate's API surface; improve semver documentation.
Closes #522, #530, and #532
See merge request tpo/core/arti!664
|