| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-circmgr: Make take_or_launch_stub_circuit future Send
See merge request tpo/core/arti!1096
|
| | |/ /
| | |
| | |
| | |
| | | |
thread_rng() isn't Send. We can fix this by not holding it over an
await point.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
tor-netdir: Implement `HsDirRing::find_pos`
See merge request tpo/core/arti!1095
|
| | | | | |
|
| | |/ /
| | |
| | |
| | | |
This eliminates an untyped `usize` index.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
This commit is mostly code movement; I'd recommend reviewing it
with git's `--color-moved` option.
|
| |/ / |
|
| |\ \
| | |
| | |
| | |
| | | |
key blinding: Use consistent terminology
See merge request tpo/core/arti!1085
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Don't ever use the words "parameter" or "param".
These doesn't appear in the spec anywhere.
* Use `h` as the variable name for the unclamped blinding factor,
and `blinding_factor` in function names.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unhelpfully, the spec uses the variable name `h` and the phrase
"blinding factor" for both the unclamped and clamped value. The
clamped value is internal to the algorithm.
In our code:
* Don't ever use the word "parameter" or variable name `param`.
This doesn't appear in the spec anywhere.
* Use `h` for the unclamped blinding factor, and `blinding_factor` for the
clamped blinding factor.
* Rename `blinding_factor` function to `clamp_blinding_factor`, since
in the spec's terminology it takes an (unclamped) "blinding factor"
and returns a (clamped) "blinding factor".
* State explicitly what thing in the spec the `h` parameters are.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Miscellanious tidying up (pursuant to HS client work)
See merge request tpo/core/arti!1086
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now
cargo +stable clippy --locked --offline --workspace --all-targets
is clean.
|
| | | | |
| | | |
| | | |
| | | | |
Obviously it will need this!
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
We separated this out in the circmgr API. This is what the HS client
needs. It doesn't want to participate in the general circuit pool.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now
nailing-cargo +stable clippy -p tor-hsclient --all-features --all-targets
actually works.
squash! Add some missing imports
|
| | | |
| | |
| | |
| | | |
Fixes #800.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
We can use a deterministic rng to generate predictable keypairs instead.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This makes it possible to plug in a deterministic randomness source for
testing.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There are too many things called "index" here. `idx` could be read to
mean the table index `RouterStatusIdx`, the hsdir hash `HsDirIndex`,
or an entry in some other one of these tables.
Here's, it's just the sequence number of the index in the test netdir.
Use `pos` for that. (`seq` would have been another possibility.)
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The hidden services directory hashring is a ring of hsdir relays,
sorted by a hash that the spec calls the "index". That's `HsDirIndex`.
This was a bad idea because the word "index" is seriously overused,
but in Arti we must use the same terminology.
At least, qualify it everywhere. Now one of these hsdir sort position
hashes is always, in our code, an `hsdir_index`.
I think this is necessary even inside modules called `hsdir_*`,
because those can deal with other kind of "index" too.
|
| | | |
| | |
| | |
| | |
| | | |
This was removed in c3e74973b4201f71275d8cf4c0c954cfb8d0eba5
netdir: Use an even smaller rep for list of microdescs
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This is an `IndexVec` key type. Some places used `idx`, some `rsi`,
some `rs_idx`.
Use `rsidx` for it everywhere, including in locals, function names,
and fields. `rsidx` is a compromise. `rsi` might be a bit opaque,
but we want a one-"word" name since it appears inside other names.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hidden services use blinded singing keys derived from the identity key
to sign descriptor signing keys.
Before this patch, the hidden descriptor builder represented its blinded
signing keys (`blinded_id`) as plain `ed25519::Keypair`s. This was not
ideal, as there was nothing preventing the caller from accidentally
initializing `blinded_id` with an unblinded keypair.
This introduces a new `HsBlindKeypair` type to represent blinded
keypairs.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
| |
Closes #791
|
| |
|
|
|
|
|
| |
Without this there's no convenient way to add a transport without
messing with serde/toml.
Found while working on #791
|
| |
|
|
|
|
|
|
| |
The consensus seems to be the builders don't add much value, see [this comment].
[this comment]: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1070#note_2889488
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
| |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
|
|
|
|
| |
`NetdocText` is a wrapper around a `String` and a type marker. The type
annotation proved of limited use, and made the netdoc builder API
somewhat awkward to use.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
| |
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Unlike `hsdesc::IntroPointDesc`, `hsdesc::build::IntroPointDesc`
represents link specifiers as `LinkSpec`s rather than
`UnparsedLinkSpec`s.
Since this is a general-purpose representation of an introduction point
and not merely an intermediate representation for decoding/encoding, it
will probably need to be factored out of `tor-netdoc` at some point.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces the `NetdocBuilder` trait described in
`netdoc-builder.md` and a new `tor-netdoc::doc::hsdesc::build` module,
which exports the `HsDescBuilder`. Hidden services will use
`HsDescBuilder` to build and encode hidden service descriptors.
There are several TODOs in the code that I'm planning to address
separately.
Partially addresses #745.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
|
|
|
| |
These are used in multiple places (and will also be used by the HS
descriptor encoder later on), so let's make them named constants.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
|
|
|
| |
This makes some code a bit more concise, as it allows us to make
`Strings` into `ItemArgument`s without calling `.as_str()`.
Signed-off-by: Gabriela Moldovan <[email protected]>
|
| |\
| |
| |
| |
| | |
Update required openssl version
See merge request tpo/core/arti!1077
|
| | |
| |
| |
| | |
cargo-audit is complaining about 0.10.45.
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
Do minimal $ and ~ handling even without expand-paths and fix build
Closes #790
See merge request tpo/core/arti!1069
|
| | | |
|
| | |
| |
| |
| | |
Fixes #790
|
| | |
| |
| |
| | |
So, this is not a semver addition.
|
| | | |
|
| | |
| |
| |
| | |
str can always be made into a PathBuf.
|
| |\ \
| | |
| | |
| | |
| | | |
Bump to the lastest versions of dirs and directories.
See merge request tpo/core/arti!1072
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Closes #784.
|