summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Merge branch 'send' into 'main'Alexander Færøy2023-03-301-2/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | tor-circmgr: Make take_or_launch_stub_circuit future Send See merge request tpo/core/arti!1096
| * | | | | | tor-circmgr: Make take_or_launch_stub_circuit future SendIan Jackson2023-03-301-2/+1
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | thread_rng() isn't Send. We can fix this by not holding it over an await point.
* | | | | | Merge branch 'ring' into 'main'gabi-2502023-03-301-7/+17
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | tor-netdir: Implement `HsDirRing::find_pos` See merge request tpo/core/arti!1095
| * | | | | tor-netdir: Implmeent HsDirRing::find_posIan Jackson2023-03-301-2/+3
| | | | | |
| * | | | | tor-netdir: Make the hsdir ring be a TiVecIan Jackson2023-03-301-5/+14
| |/ / / / | | | | | | | | | | | | | | | This eliminates an untyped `usize` index.
* | | | | Merge branch 'upgrades-20220330' into 'main'gabi-2502023-03-303-89/+116
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Upgrade some dependencies in preparation for tomorrow's release See merge request tpo/core/arti!1093
| * | | | | Upgrade dependency to latest rusqlite.Nick Mathewson2023-03-302-13/+13
| | | | | |
| * | | | | Upgrade dependency to latest async-native-tls.Nick Mathewson2023-03-302-77/+104
|/ / / / /
* | | | | Initial changelog draft for 1.1.3Nick Mathewson2023-03-301-0/+99
| | | | |
* | | | | Merge branch 'async-utils' into 'main'Nick Mathewson2023-03-2914-211/+318
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | Move functionality from tor_basic_utils to tor_async_utils See merge request tpo/core/arti!1091
| * | | | Move functionality from tor_basic_utils to tor_async_utilsNick Mathewson2023-03-2912-211/+237
| | | | | | | | | | | | | | | | | | | | | | | | | This commit is mostly code movement; I'd recommend reviewing it with git's `--color-moved` option.
| * | | | Make a new empty tor-async-utils crate.Nick Mathewson2023-03-295-0/+81
|/ / / /
* | | | Merge branch 'blind' into 'main'Ian Jackson2023-03-292-29/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | key blinding: Use consistent terminology See merge request tpo/core/arti!1085
| * | | | tor-hscrypto: key blinding: Use consistent terminologyIan Jackson2023-03-281-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | | tor-llcrypto: key blinding: Use consistent terminologyIan Jackson2023-03-281-19/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge branch 'hspre' into 'main'Ian Jackson2023-03-298-14/+34
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Miscellanious tidying up (pursuant to HS client work) See merge request tpo/core/arti!1086
| * | | | | Tidy up an unused import warningIan Jackson2023-03-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now cargo +stable clippy --locked --offline --workspace --all-targets is clean.
| * | | | | Pass HS identity to hsclient connection functionIan Jackson2023-03-282-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | Obviously it will need this!
| * | | | | Pass HsCircPool to hsclient connect function, not CircMgr (fmt)Ian Jackson2023-03-281-5/+5
| | | | | |
| * | | | | Pass HsCircPool to hsclient connect function, not CircMgrIan Jackson2023-03-283-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Add some missing importsIan Jackson2023-03-283-3/+9
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now nailing-cargo +stable clippy -p tor-hsclient --all-features --all-targets actually works. squash! Add some missing imports
* | | | | Merge branch 'fix-blockage-accessors' into 'main'Ian Jackson2023-03-291-1/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arti-client: add accessors for `Blockage` Closes #800 See merge request tpo/core/arti!1088
| * | | | | arti-client: add accessors for `Blockage`eta2023-03-281-1/+13
|/ / / / / | | | | | | | | | | | | | | | Fixes #800.
* | | | | Merge branch 'hsdesc-encoder-generic-rng' into 'main'Nick Mathewson2023-03-275-147/+131
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make the HS encoder randomness source injectable. See merge request tpo/core/arti!1084
| * | | | | Remove hard-coded test certs.Gabriela Moldovan2023-03-274-98/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can use a deterministic rng to generate predictable keypairs instead. Signed-off-by: Gabriela Moldovan <[email protected]>
| * | | | | Make the HS encoder randomness source injectable.Gabriela Moldovan2023-03-275-50/+46
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to plug in a deterministic randomness source for testing. Signed-off-by: Gabriela Moldovan <[email protected]>
* | | | | Merge branch 'idx' into 'main'gabi-2502023-03-272-68/+71
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | tor-netdir: Try to abolish unqualified uses of idx See merge request tpo/core/arti!1083
| * | | | tor-netdir: Use `pos` not `idx` in test network constructorsIan Jackson2023-03-271-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.)
| * | | | tor-netdir: Use `hsdir_index` for hidden service directory hashval (fmt)Ian Jackson2023-03-271-1/+4
| | | | |
| * | | | tor-netdir: Use `hsdir_index` for hidden service directory hashvalIan Jackson2023-03-271-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | tor-netdir: eliminate ref to abolished MdEntryIan Jackson2023-03-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This was removed in c3e74973b4201f71275d8cf4c0c954cfb8d0eba5 netdir: Use an even smaller rep for list of microdescs
| * | | | tor-netdir: Use `rsidx` consistent for `RouterStatusIdx`Ian Jackson2023-03-272-42/+42
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'encode-hsdesc-blinded-keys' into 'main'Nick Mathewson2023-03-275-29/+79
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Use the type system to enforce use of blinded keys. See merge request tpo/core/arti!1081
| * | | Use the type system to enforce use of blinded keys.Gabriela Moldovan2023-03-275-29/+79
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* | | Merge branch 'typos' into 'main'Ian Jackson2023-03-271-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Fix typo See merge request tpo/core/arti!1080
| * | | Fix typoDimitris Apostolou2023-03-241-1/+1
| | | |
* | | | Merge branch 'pt_config_build' into 'main'Nick Mathewson2023-03-251-1/+57
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Example code for BridgeConfigBuilder Closes #791 See merge request tpo/core/arti!1074
| * | | tor_client: Add some example code for BridgeConfig.Nick Mathewson2023-03-241-0/+49
| | | | | | | | | | | | | | | | Closes #791
| * | | arti-client: Make TransportConfigListBuilder public.Nick Mathewson2023-03-241-1/+8
|/ / / | | | | | | | | | | | | | | | | | | Without this there's no convenient way to add a transport without messing with serde/toml. Found while working on #791
* | | Merge branch 'encode_hsdesc' into 'main'Ian Jackson2023-03-2416-71/+1257
|\ \ \ | |/ / |/| | | | | | | | Add builder for encoding hidden service descriptors. See merge request tpo/core/arti!1070
| * | Use transparent structs instead of builders.Gabriela Moldovan2023-03-244-100/+95
| | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | Refactor the inner doc tests to be more DRY.Gabriela Moldovan2023-03-241-53/+55
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | Remove `NetdocText` and replace its uses with `String`.Gabriela Moldovan2023-03-246-66/+21
| | | | | | | | | | | | | | | | | | | | | | | | `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]>
| * | Remove some unnecessary visibility restrictions.Gabriela Moldovan2023-03-243-130/+74
| | | | | | | | | | | | Signed-off-by: Gabriela Moldovan <[email protected]>
| * | Create a new `IntroPointDesc` type.Gabriela Moldovan2023-03-242-21/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | Use the less ambiguous inner/middle/outer terminology.Gabriela Moldovan2023-03-243-17/+19
| | |
| * | Add builder for encoding hidden service descriptors.Gabi Moldovan2023-03-2416-44/+1280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | Define constants for `AuthClient` field lengths.Gabriela Moldovan2023-03-242-7/+19
| | | | | | | | | | | | | | | | | | | | | 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]>
| * | Implement `ItemArgument` for `String`.Gabriela Moldovan2023-03-241-0/+6
|/ / | | | | | | | | | | | | 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]>
* | Merge branch 'rpc-meta-draft' into 'main'Ian Jackson2023-03-241-0/+568
|\ \ | | | | | | | | | | | | Start drafting a dev note about a JSON-based OO RPC design. See merge request tpo/core/arti!1061