| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ / /
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
|
| |
|
|
| |
Closes #2197.
|
| |\
| |
| |
| |
| | |
opentelemetry: Upgrade crates.
See merge request tpo/core/arti!3330
|
| | | |
|
| |/
|
|
|
|
|
| |
From upstream changelog:
* ergonomics improvements to dynamic registers
* updated dependencies
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because we've updated our MSRV, we must bump the minor version for every
package.
This was done as follows:
cargo set-version -p arti 1.6.0
cargo set-version -p oneshot-fused-workaround 0.4.0
cargo set-version -p slotmap-careful 0.4.0
cargo set-version -p test-temp-dir 0.5.0
cargo set-version -p fslock-guard 0.4.0
cargo set-version -p hashx 0.5.0
cargo set-version -p equix 0.4.0
cargo set-version -p caret 0.7.0
cargo set-version -p fs-mistrust 0.12.0
cargo set-version -p safelog 0.6.0
cargo set-version -p retry-error 0.8.0
xargs -I P <<END cargo set-version -p P 0.35.0
tor-basic-utils
tor-error
tor-general-addr
tor-geoip
tor-rtcompat
tor-rtmock
tor-async-utils
tor-config
tor-config-path
tor-rpc-connect
tor-log-ratelim
tor-rpcbase
tor-memquota
tor-units
tor-llcrypto
tor-bytes
tor-protover
tor-checkable
tor-cert
tor-key-forge
tor-hscrypto
tor-socksproto
tor-linkspec
tor-cell
tor-proto
tor-netdoc
tor-consdiff
tor-netdir
tor-relay-selection
tor-persist
tor-keymgr
tor-chanmgr
tor-ptmgr
tor-dircommon
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-dirserver
tor-hsclient
tor-hsservice
tor-hsrproxy
tor-relay-crypto
arti-client
arti-relay
arti-rpcserver
arti-ureq
arti-rpc-client-core
END
|
| | |
|
| |\
| |
| |
| |
| | |
tor-key-forge: Add RSA key types.
See merge request tpo/core/arti!3236
|
| | |
| |
| |
| |
| |
| |
| | |
Some things I'm still considering here:
* We may want to define a tor_llcrypto::pk::rsa::Signature newtype.
* We likely want to rename tor_llcrypto::pk::rsa::PrivateKey to RsaKeypair.
|
| | | |
|
| | |
| |
| |
| | |
Closes #2174. See that ticket for rationale.
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
tor-dircommon: Replace amplify via getset
See merge request tpo/core/arti!3251
|
| | | |
| | |
| | |
| | | |
See !3200
|