| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
Done using:
```
cargo set-version --bump minor -p arti
```
|
| |
|
|
|
|
|
|
|
| |
Done using:
```
for crate in $(./maint/list_crates | rg '^(tor|arti-)'); do
cargo set-version -p $crate 0.37.0
done
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The non-{arti-,tor-} crates are:
```
./maint/list_crates | rg -v '^(tor|arti)'
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
hashx
equix
caret
fs-mistrust
safelog
retry-error
futures-copy
```
We split them in the following categories:
* crates with no changes (no version bumps): None
```
maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-'
```
* crates that only have non-functional changes (bump the patch version,
but not the dependend-on version):
- oneshot-fused-workaround
- slotmap-careful
- test-temp-dir
- fslock-guard
- equix
- caret
- safelog
- retry-error
* crates where functional changes were made, but no APIs were added or broken:
- hashx
- fs-mistrust
- futures-copy
* crates where APIs were broken (bump minor): None
The bumps from this commit were created using this script:
```
PATCH_NF=(
oneshot-fused-workaround
slotmap-careful
test-temp-dir
fslock-guard
equix
caret
safelog
retry-error
)
PATCH="
hashx
fs-mistrust
futures-copy
"
./maint/bump_nodep "${PATCH_NF[@]}"
for crate in $PATCH; do
cargo set-version --bump patch -p $crate;
done
```
|
| |\
| |
| |
| |
| | |
tor-dirserver: Use `saturating-time`
See merge request tpo/core/arti!3460
|
| | |
| |
| |
| |
| |
| |
| | |
This commit replaces the custom implementation of `SaturatingSystemTime`
with the `saturating-time` crate, additionally adding a new type to the
`database` module called `Timestamp`, in order to have a convenient
wrapper around `ToSql` and `FromSql`.
|
| |\ \
| | |
| | |
| | |
| | | |
Update to derive-deftly 1.5.1
See merge request tpo/core/arti!3494
|
| | | |
| | |
| | |
| | | |
To pick up the expect failure error message improvement.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This makes fs-mistrust consistent with stat() and mkdir() and
friends, which consider "" to be an invalid path. Previously, ""
was accepted whenever mistrust was enabled, but rejected
whenever mistrust was disabled.
Closes #2265.
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
arti-relay: Add config options for OR port
See merge request tpo/core/arti!3466
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
http-connect: Improve error reporting.
See merge request tpo/core/arti!3476
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It makes more sense to have the conversion here, so it can use an
exhaustive match over ErrorKind.
This isn't the final API; I'm just moving the code from `arti`.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Replace RelayFlags, using enumset
See merge request tpo/core/arti!3477
|
| | | | | | |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now:
`RelayFlag` is a single flag, which is a different type to
`RelayFlags`.
`FromStr` and `Display` are now implemented in a normal way for a
single flag.
We don't use bitflags, with its funky input syntax, any more.
Instead, we have a normal enum.
No longer is it possible to have a `RelayFlags` with "unknown bits"
set (whatever that means). (Therefore, an associated test case for
this is now gone.)
The names are principally specified just as enum variant names. The
enum variant names can be identical to the network document keywords.
Briefly, we provide constants in capitals, for the benefit of all the
call sites. That means that *this* commit can contain only the
primary changes.
A few macro-generated things have been adjusted in this commit, but
they are actually going to go away.
Indentation is now wrong. We'll fix that at the end.
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
This appears to resolve the warning:
> warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4
|
| |\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
x509: Support generating the keys and certs that relays need for TLS
Closes #2205
See merge request tpo/core/arti!3349
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Although we never need to actually check the signature on the other
party's x509 certificate, A relay does need a certificate and a
private key in order to be a proper TLS server.
In this function, I've added support for making an ersatz P-256
certificate certifying a P-256 key. See the code for info about the
rationale here. (Tor supports this, since it doesn't look at the
key at all: only the TLS layer cares about that.)
native_tls and rustls expect to get their keys and certs in
different forms, so this code provides them.
(Note that we don't expect to use native_tls with relays in the
first place, but it might be useful for lower-level interop
testing.)
Closes #2205.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
tor-rtcompat: Use a consistent listen implementation, and set `IPV6_V6ONLY` for listening sockets on `cfg(unix)`
Closes #2246
See merge request tpo/core/arti!3457
|
| | |/
| |
| |
| |
| |
| | |
This gives us a consistent `listen()` implementation across runtimes,
and gives us flexibility to customize the bind/listen process for TCP
sockets.
|
| |\ \
| |/
|/|
| |
| | |
arti-relay: Add OR port listener task
See merge request tpo/core/arti!3396
|
| | |
| |
| |
| |
| | |
This does not yet get the OR port from the config, and the channel
manager doesn't yet do anything with the incoming connection.
|
| | |
| |
| |
| |
| |
| |
| | |
This has the meta attributes with optional values feature and also
hygiene rework for modules.
The breaking changes don't break arti.
|
| | |
| |
| |
| |
| |
| | |
This is controlled by a new option, `logging.tokio_console.enabled`.
It requires building with `--cfg tokio_unstable`. See documentation
and comments for more information.
|
| |/
|
|
|
|
| |
This will let us use the new modules feature.
There are no breaking changes to beta features in 1.4.0.
|
| |
|
|
| |
Fixes #2136
|
| |
|
|
|
|
|
|
|
| |
Unlike assert!(matches!(..)), assert_matches prints the value of the
expression on a failure.
Probably we should use this macro more widely in the future.
This might help diagnose recurrences of #2232
|
| |\
| |
| |
| |
| | |
Replace copy_interactive with futures-copy.
See merge request tpo/core/arti!3416
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This change lets us avoid spawning extra tasks (due to one-direction
nature of copy_interactive), and avoid some lock contention (due to
use of AsyncReadExt::split).
Addresses part of #786.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
```bash
cargo update generic-array --precise 0.14.7
```
See https://gitlab.torproject.org/tpo/core/arti/-/issues/2234
and https://github.com/RustCrypto/traits/issues/2036.
|
| |/ |
|
| |
|
|
|
|
| |
This commit changes various things in the dirmirror operation, namely
the use of a SystemTime wrapper type that provides saturation on both
ends.
|
| |
|
|
|
|
|
|
|
|
| |
This commit makes the entire database operations synchronous, thereby
replacing deadpool with r2d2.
The full motivation is outlined in a rustdoc comment at the top of the
`database` module, but it can be summarized to the fact that SQLite is
by design inherently synchronous due to directly interfacing with the
file system.
|
| |
|
|
|
|
|
|
|
|
| |
This commit starts work in the `mirror::operation` module by
implementing the functions for calculating the `Duration` to wait from a
given `SystemTime` until the point in time when the dirmirror should
download new documents from the authorities again.
Also, this commit introduces new error types and internal helper
functions in order to fulfill this purpose better.
|
| |
|
|
|
|
| |
This commit introduces the `mirror` module which is fairly boilerplate
at the moment. However, everything of it is very well documented using
rustdoc, thereby more or less creating a design document.
|
| |
|
|
|
|
|
| |
```bash
readarray -t publish < <(cargo metadata --format-version 1 | jq -r '.packages[] | select((.id | startswith("path+file:///")) and (.rust_version != null) and (.publish == null or .publish == true or .publish != [])) | .name')
for package in "${publish[@]}"; do echo "$package:"; cargo set-version --bump minor -p "$package"; done
```
|
| |
|
|
|
|
|
|
|
|
| |
This crate's API is loosely based on some of tokio's functions,
and its implementation strategy is loosely based on
futures::io::copy.
It's designed to be generally useful outside of the arti ecosystem.
Should help with the original challenge of #786.
|
| |\
| |
| |
| |
| |
| |
| | |
Implement HTTP CONNECT proxy support in Arti.
Closes #2221
See merge request tpo/core/arti!3391
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With his commit, our SOCKS ports now accept both SOCKS
and HTTP CONNECT requests, per proposal 365.
There are still some infelicities, marked with
"XXXX" or "TODO".
I've tested this with curl, though, and it works. :)
Typo-fixes-by: Gabriela Moldovan <[email protected]>
|
| | |
| |
| |
| |
| | |
This will let us speak HTTP CONNECT as well; there is a stub
for initiating an http proxy.
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit only adds a struct holding all the authentication data that
needs to be built during the verification process after all handshake
cells needed for authentication have been sent.
It lives in the VerifiedChannel struct so it can be used to build the
AUTHENTICATE cell and be sent before the NETINFO.
Signed-off-by: David Goulet <[email protected]>
|
| | |
|
| | |
|
| |
|
|
|
| |
This commit renames the schema module to the database module in order
to perform better error handling while redesigning the API.
|
| | |
|