Commit Graph

6199 Commits

Author SHA1 Message Date
Ian Jackson be98cb890d hs connect: Do circuitry etc. via mocks trait
This doesn't change the text of the functional code, but now the
methods are indirected via the Mock* traits.
2023-04-11 19:14:01 +01:00
Ian Jackson e6b8752d98 hs dirs: Initial cut at descriptor downloading
There are many TODOs here.  Some are questions; some are
straightforward and can be done in followups.

With this code, I am able to reach the eprintln! and todo! with
  curl --socks5-hostname localhost:9150 https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/
2023-04-11 19:14:01 +01:00
Ian Jackson 99bc97118f hs desc: Record a Timebound<HsDesc> (but not really for now)
We have a local alias of `HsDesc = String` which needs to be got rid
of.

But, right now the alternative would be to implement all the code for
signature checking and decryption of an `HsDesc`, before we can make a
test case for the downloader part.
2023-04-11 19:14:01 +01:00
Ian Jackson bb5b2be5f1 hs connect: Introduce Context
This will be convenient as the common context for the descriptor
download work, and also for testing.
2023-04-11 19:14:01 +01:00
Ian Jackson 565b063a52 hs dirs: Note a thing we don't implement yet
We'll add this later, about here.
2023-04-11 19:14:01 +01:00
Ian Jackson d8ed32b321 hs dirs: Implement spread_fetch (fmt) 2023-04-11 19:14:01 +01:00
Ian Jackson 95125d9e72 hs dirs: Implement spread_fetch 2023-04-11 19:14:01 +01:00
Ian Jackson 3ea8f3b7e0 hs dirs: Fix wrong ignored variable name
This is the HsDirIndex, not the Hs[Blind]Id.
2023-04-11 19:14:01 +01:00
Ian Jackson a3945ad3c6 hs dirs: Replicas are 1-indexed 2023-04-11 19:14:01 +01:00
Ian Jackson a1241bca43 tor-netdir: Make an import more precise
With this
  cargo +stable clippy --locked --offline -p tor-netdir --features=hs-client --all-targets

I got this:

64 | use {hsdir_params::HsDirParams, hsdir_ring::HsDirRing, itertools::chain, std::iter};
   |                                                        ^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default
2023-04-11 19:14:01 +01:00
Ian Jackson 9c3ccaefb2 Merge branch 'correct_osx_config' into 'main'
arti: Explain correct location of OSX config.

See merge request tpo/core/arti!1125
2023-04-11 15:35:53 +00:00
Nick Mathewson ba4b43aa8c Add a semver entry for !1112. 2023-04-10 14:38:51 -04:00
Nick Mathewson 2bcd896155 Merge branch 'refactor' into 'main'
Use an Enum for the description request

Closes #807

See merge request tpo/core/arti!1112
2023-04-10 18:37:45 +00:00
tranna 51b5ba6681 Use an Enum for the description request 2023-04-10 18:37:45 +00:00
Nick Mathewson 6e05eb36a2 arti: Explain correct location of OSX config. 2023-04-10 11:25:26 -04:00
Nick Mathewson 1af2296cc2 Merge branch 'new_crossbeam_channel' into 'main'
Update to new version of crossbeam-channel.

See merge request tpo/core/arti!1124
2023-04-10 11:56:26 +00:00
Nick Mathewson 6f6145c32d Update to new version of crossbeam-channel.
The previous one is yanked, which is making our cargo-audit
script fail.
2023-04-10 07:35:17 -04:00
gabi-250 2577a02191 Merge branch 'matrix_warnings' into 'main'
Fix various warnings/errors when building with different features.

Closes #801

See merge request tpo/core/arti!1120
2023-04-06 18:51:13 +00:00
Nick Mathewson d12e2422b3 linkspec: Add a missing ; in tests. 2023-04-06 10:27:35 -04:00
Nick Mathewson fdd28d9319 dirclient: fix an "unused import" warning. 2023-04-06 10:26:58 -04:00
Nick Mathewson 9dbfaf5f9b guardmgr: update feature behavior wrt testing and pts. 2023-04-06 10:26:20 -04:00
Nick Mathewson 2f231b2ea0 circmgr: make "testing" depend on guardmgr/testing 2023-04-06 10:24:32 -04:00
Nick Mathewson 43e1128cdf circmgr: Mark a number of internal APIs as hs-only.
This resolves a few dead-code warnings.

Closes #801.
2023-04-06 09:05:12 -04:00
Nick Mathewson c22cf483ff circmgr: Expand an incomplete comment in exitpath.rs 2023-04-06 08:59:41 -04:00
Nick Mathewson 465ad963c4 Merge branch 'rw' into 'main'
tor-async-utils: Introduce JoinReadWrite

See merge request tpo/core/arti!1115
2023-04-06 12:28:54 +00:00
Ian Jackson 11d0c4c6fb Merge branch 'error' into 'main'
tor-error: Introduce ErrorKind::TorDirectoryBroken

See merge request tpo/core/arti!1117
2023-04-06 10:43:52 +00:00
Ian Jackson bf9a7826de tor-error: Rename ErrorKind::TorDirectoryUsable (from ...Broken)
As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1117#note_2893986

(Not going to squash this as it has a semantic conflict with !1118, so
needs a little special handling there.)
2023-04-06 11:06:18 +01:00
Ian Jackson 4bf42c951c JoinReadWrite: Minor docs improvements. 2023-04-06 11:02:27 +01:00
Ian Jackson fbf1a6d8d4 JoinReadWrite: Move the example to the struct
This makes it more prominent on the rustdoc page.
2023-04-06 11:02:03 +01:00
Ian Jackson 2c87219a01 JoinReadWrite: Discuss using .reunite() or .unsplit()
As per
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1115#note_2894238

And move the "This is the converse" comment to somewhere it actually
appears in public docs.  The module-level docs only appear with
--document-private-items because the modules themselves are private.
2023-04-06 10:58:39 +01:00
gabi-250 698ea803bb Merge branch 'pre' into 'main'
Two small additions to support hs desc download testing

See merge request tpo/core/arti!1116
2023-04-05 16:25:45 +00:00
Nick Mathewson df0d5054a2 Merge branch 'release' into 'main'
doc/dev/Release.md: patch release workflow

See merge request tpo/core/arti!1111
2023-04-05 14:42:03 +00:00
Ian Jackson 0e8384bcb4 tor-error: Introduce ErrorKind::TorDirectoryBroken
We will use this for a lack of HS directories.  (These aren't chosen
according to any local restrictions, so the problems with EK::NoPath
and EK::NoExit don't arise.)
2023-04-05 15:11:17 +01:00
Ian Jackson dfceb50f69 tor-netdir: testnet: Make all non-guard non-exits be hsdirs 2023-04-05 15:10:07 +01:00
Ian Jackson c29cb6ac2b tor-circmgr: HsCircKind: derive Eq 2023-04-05 15:10:07 +01:00
Ian Jackson 10f19eaf56 tor-async-utils: Introduce JoinReadWrite
I wanted one of these for a test stream.  Unaccountably neither
the futures crate, nor tokio, seem to have one!
2023-04-05 13:34:25 +01:00
Ian Jackson 11dc265325 Merge branch 'netdoc' into 'main'
tor-netdoc: Expose some test data (and fix feature builds)

See merge request tpo/core/arti!1106
2023-04-05 10:36:08 +00:00
Ian Jackson 38805f53b2 tor-netdoc: Expose test data under new "testing" feature flag 2023-04-05 11:02:36 +01:00
Ian Jackson 646e291f96 tor-netdoc: Fix feature builds
Fixes
  cargo +stable test --locked --offline F -p tor-netdoc
  cargo +stable clippy -p tor-netdoc F --all-targets
for values of F including
  --all-features
  --features=hs-client
  --features=hs-common
  --features=hs-service
  (nothing)
2023-04-05 11:02:33 +01:00
Nick Mathewson 094c9ee085 Merge branch 'changelog_update_tor_llcrypto_044' into 'main'
CHANGELOG for tor-llcrypto-0.4.4 patch release.

See merge request tpo/core/arti!1110
2023-04-04 19:54:56 +00:00
Ian Jackson 173b577069 Merge branch 'req' into 'main'
tor-dirclient: Provide HsDescDownloadRequest

See merge request tpo/core/arti!1097
2023-04-04 16:15:37 +00:00
Ian Jackson dfee096bdd CHANGELOG.md: Reformat paragraph 2023-04-04 16:30:38 +01:00
Ian Jackson 61d4fd881e CHANGELOG.md: Merely "hope" that we'll update x25519-dalek
Sadly this is not quite so easy, see #808
2023-04-04 16:28:37 +01:00
Ian Jackson b0f261ab9f CHANGELOG.md: Make the compatibility problem a bit more mea culpa 2023-04-04 16:28:12 +01:00
Ian Jackson d4760f6d50 Merge branch 'rpc' into 'main'
Proposed rpc protocol edits and tightenings-up

See merge request tpo/core/arti!1078
2023-04-04 15:15:40 +00:00
Nick Mathewson 371da67641 rpc: Fix typos 2023-04-04 14:43:37 +00:00
Ian Jackson 599e2ffb7d doc/dev/Release.md: patch release workflow
We did roughly this today.  We put the CHANGELOG.md change in its own
MR, so it didn't end up in the tor-llcrypto-v0.4.4 tag.  It would have
been better to do it the other way so that's what I've documented.

I couldn't test-format this with pandoc because it got tricked by some
of the `$` into trying to run TeX.
2023-04-04 15:41:00 +01:00
Nick Mathewson 14c2e346d4 CHANGELOG for tor-llcrypto-0.4.4 patch release. 2023-04-04 09:38:27 -04:00
Nick Mathewson 559aed002f Merge branch 'x25519' into 'main'
tor-llcrypto: Pin x25519-dalek version, bump our crate version

Closes #807

See merge request tpo/core/arti!1108
2023-04-04 12:51:39 +00:00
Ian Jackson ed594b5a6f tor-llcrypto: Pin x25519-dalek version, bump our crate version
Fixes #807
2023-04-04 11:59:54 +01:00