| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, run
```
git grep -l "^edition =" |
xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```
Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.
Third, run cargo fmt again.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Run cargo fix --edition
2. Selectively revert the "if let"->"match" changes.
These changes are meant to protect us from the lifetime changes
for "if let" bindings in Rust 2024.
But we're not actually relying on the old lifetime rules
anywhere, and the match syntax here is quite ugly.
3. Automatically revert `$pat:expr_2021` to `$pat:expr`.
(We don't actually want to restrict the expression syntax
that our macros accept).
Done with
`git grep -l expr_2021 | xargs perl -i -pe 's/expr_2021/expr/g;'`
4. Run cargo fmt.
|
| |\
| |
| |
| |
| | |
Resolve a few issues that had been waiting for an MSRV update.
See merge request tpo/core/arti!3129
|
| | | |
|
| |\ \
| |/
|/|
| |
| | |
Fix a few TODOs for PoW
See merge request tpo/core/arti!3106
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
These now `warn!` and cleanly exit their respective threads on error,
instead of panicking.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This just pushes around where the panic is for now, but enables better
handling of this error, and it makes it clearer that this panic will
only stop this thread.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The "a few KB" measurement was done by using the get_size crate to
measure the size of the RendRequest object, but due to limitations in
that crate (and in my willingness to go implement ways of checking the
size of external types), it might be somewhat off. The ~32MB value is
based on the idea that each RendRequest is 4KB.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the three new parameters specified in Prop 362 [0].
Two of these replace hardcoded defaults in the code.
The third, HiddenServiceProofOfWorkV1ServiceIntroTimeoutSeconds, is not
implemented yet, but will be in a future commit.
[0]: https://spec.torproject.org/proposals/362-update-pow-control-loop.html
|
| |/ |
|
| |
|
|
|
| |
The service is supposed to send the RENDEZVOUS1 to the rendezvous point
itself, not the virtual hop.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The BaseTunnel now has a start_conversation() which takes a TargetHop
meaning it can be used with a multi path tunnel.
The Conversation object has been moved into the tunnel namespace out of
the circuit one.
Signed-off-by: David Goulet <[email protected]>
|
| | |
|
| |
|
|
| |
This was accidentally omitted from my version bump script.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Made with the following shell script:
export CARGO='nailing-cargo -Eu'
# Non-functional changes only
maint/bump_nodep hashx
# Special
$CARGO set-version -p arti 1.4.6
# Additional features, no breaking changes, depended on in tree
$CARGO set-version -p safelog 0.4.8
# Unconditional bump to 0.33.0
xargs -I P <<END $CARGO set-version -p P 0.33.0
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-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
tor-keymgr
tor-hsclient
tor-hsservice
tor-hsrproxy
tor-relay-crypto
arti-client
arti-relay
arti-rpcserver
arti-ureq
arti-rpc-client-core
END
|
| |
|
|
| |
No upstream changes that break our code.
|
| |
|
|
| |
Closes #2012.
|
| | |
|
| |
|
|
|
| |
This ensures that even in situations where multiple requests are
received at the exact same time, we will not drop any requests.
|
| | |
|
| | |
|
| |
|
|
|
| |
This basically converts everything to use the num_traits conversion
function, and explicitly panics on errors.
|
| |
|
|
|
|
| |
This pulls in num_traits (which is already a dependency for PoW) to
allow f64 casts that for reasons I do not understand are not implemented
via TryFrom in the standard library.
|
| |
|
|
|
| |
This should never happen, as the queue size is limited to well below
u32. However, it's still nicer not to use `as`.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We need to divide a Duration by this, and Duration only supports
division by u32.
This is, in a sense, just pushing around where the overflow would
happen, (from the conversion in the suggested update to the increment
when a item is dequeued). However, this overflow is so unlikely to
happen (it would require more that 14 million requests per second) that
it does not seem worth slowing down the increment operation to try to
handle it.
|
| | |
|
| |
|
|
|
|
|
|
| |
This has fewer weird edge cases than RwLock does.
It might also be reasonable to make this a AtomicU32 (or AtomicEffort
which wraps AtomicU32), but that's slightly more complex, so I've opted
for a mutex for now.
|
| |
|
|
|
|
| |
This modifies the code to be more testable (making it generic over
RendRequest, getting the time from the runtime rather than
Instant::now(), etc) and adds some tests for the PoW control loop.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|