| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-proto: change bench measurement
See merge request tpo/core/arti!2998
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | |/ / / |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Update MSRV to 1.83; bump gitlab-ci recent-image to 1.86.
Closes #1869
See merge request tpo/core/arti!2999
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Now that our MSRV is 1.83, clippy is happy to make more
recommendations for us.
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
arti: test: Refactor arti integration test
See merge request tpo/core/arti!2955
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
* arti: test: Restructure tests directory
* arti: dep: Add assert_cmd dev-dependency
* arti: test: Update README
* doc: Fix hsc documentation
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-proto: extend benchmarks for CGO
See merge request tpo/core/arti!2993
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Update reproducible builds to use Rust 1.86
Closes #1335
See merge request tpo/core/arti!2992
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Since it's using 1.86 now, there's no reason to downgrade these
packages.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
After upgrading to rust:1.86.0-alpine3.21, we got a new error:
```
osxcross: error: cannot find libc++ headers
```
To fix this, we change the linker to
`x86_64-apple-darwin16-clang++-stdc++`.
This invokes some osxcross magic that tells it to find the C++
headers in the stdc++ location... and possibly more.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is sufficient to stop the osxcross errors
``` error: no member named 'lseek64' in the global namespace ```
that we encountered on our earlier attempt to increase our MSRV.
Closes #1335.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
proto: Clear low 6 bits of counter in CGO PRF.
See merge request tpo/core/arti!2988
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
These were generated with an updated version of the python reference
implementation.
|
| |/ / /
| | |
| | |
| | | |
See torspec#332.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Circuit handshake extensions: Implement proposal 358, and SubprotocolRequest from proposal 346.
Closes #1946
See merge request tpo/core/arti!2980
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We need the macro to propagate only certain #[meta] values
to all places where a case is used.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Part of #1945.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This type differs from `NamedSubver` in that the represented
subprotocol capability isn't necessarily recognized or valid.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
It is not remotely close to exhausting a u8,
and several of our protocols expect it to be expressible as one.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implements proposal 358.
Closes #1946.
|
| | | | |
| | | |
| | | |
| | | | |
Implements part of proposal 358.
|
| | | | |
| | | |
| | | |
| | | | |
This required some renaming, so that the types and their codes matched.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This type will, because of prop358, be shared by ntorv3,
hs-ntor, and probably other future handshakes.
There will also be a CircResponseExt type.
|
| | | | |
| | | |
| | | |
| | | | |
Previously it required the caller to import a whole bunch of stuff.
|
| | | | |
| | | |
| | | |
| | | | |
It is no longer hs only.
|
| |/ / /
| | |
| | |
| | | |
We're going to use it for ntorv3 extensions as well.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Refactor tor-proto and tor-cell in preparation for CGO
Closes #1975 and #1956
See merge request tpo/core/arti!2972
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now instead of using CryptState for everything, we have specific
types for each role and direction of crypto.
This turned up a harmless-so-far bug in our onion service code: as
an onion service, we were using _client_ crypto layers to respond to
a client request. That's not correct, and wouldn't have worked
with CGO. Instead, we need to use relay crypto layers, wrapped
as client layers.
Closes #1975.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The purpose of the trait was to parameterize the tor1 cell crypto
on the different possible relay cell layouts.
It made sense to have this trait when we thought we would implement
the new cell layout for prop340 (packed-and-fragmented) well before
we implemented CGO.
But it now appears all but certain that CGO will land long before
we make any more headway on prop340. Therefore,
it doesn't make sense to carry the ability to customize `tor1`
for other relay cell layouts.
Removing this trait saves a fair bit of complexity.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This changes the code to copy a SendmeTag rather than returning a
slice. This isn't actually a big change: sending a slice already
required 16 bytes (on 64-bit platforms), so sending a SendmeTag
around isn't a big deal.
We rely extensively on the compiler's ability to optimize away
all the checking in code like this:
```
let slice: &[u8];
let a: [u8;N] = slice[0..N].try_into().expect("Nope");
```
I've spot-checked it somewhat with "cargo-show-asm", but
it could use more thorough checking.
Closes #1956.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This doesn't make much change yet, but does save us an allocation
when handling SENDMEs.
|