Commit Graph

5637 Commits

Author SHA1 Message Date
Ian Jackson b6f5d3da7d Apply 1 suggestion(s) to 1 file(s) 2023-01-13 16:44:03 +00:00
Ian Jackson bf970ba486 Apply 1 suggestion(s) to 1 file(s) 2023-01-13 16:43:48 +00:00
Nick Mathewson ecff8731cc Sketch for some options and design issues around FFI/RPC
This is just a beginning, but hopefully we can expand it with more
information and options, and then use it to get everybody in our
nascent FFI/RPC working group on the same page.
2023-01-13 09:47:37 -05:00
Nick Mathewson 56cb2d2a10 Make a top-level API for connecting to onion services.
Fortunately, it adds very little to the arti-client API surface.
2023-01-12 09:28:58 -05:00
Nick Mathewson 7030cbe460 Merge branch 'onion-netdir-apis' into 'main'
Add onion service APIs to tor-netdir

See merge request tpo/core/arti!966
2023-01-11 16:08:18 +00:00
Nick Mathewson a481ec334b Merge branch 'onion-service-netparams' into 'main'
netdir: add network parameters related to onion services

See merge request tpo/core/arti!968
2023-01-11 16:06:53 +00:00
Nick Mathewson de3f10f492 netdir: add network parameters related to onion services
These are available unconditionally, since they represent
comparatively little storage and processing effort.

See param-spec.txt section 8 for the original information here.
2023-01-11 09:10:08 -05:00
Nick Mathewson 136f70545d tor-units: Add an IntegerMinutes. 2023-01-11 09:10:08 -05:00
Nick Mathewson 5b74ef7af9 Adjust onion service ring APIs in light of prop#342
* It is the NetDir's responsibility to tell the caller what the time
  period is.
* There can be up to two secondary time periods.
* Each time period has a single SRV.
* Secondary time periods only apply for onion services, when they
  publish.
* When publishing, the correct input is a time period.
2023-01-11 09:04:13 -05:00
Nick Mathewson f24f8d295c Sketch APIs for the onion service directory ring.
These are a bit complex internally, but the API they present is
pretty simple.  I've left some discussion of points where the design
isn't totally fleshed out, and where we need to look harder at the
spec.

Part of #716.
2023-01-11 09:04:13 -05:00
Nick Mathewson 2c41321710 Netdoc: Refactor SharedRandVal.
SharedRandVal now holds only the 32-byte random value itself; the
"number of commits" field is in SharedRandStatus.

This commit also makes the SharedRandVal be exactly 32 bytes, since
we've set it to that value in the spec.
2023-01-11 09:04:12 -05:00
Nick Mathewson d7abced11f hscrypto: Add several derives
The important addition here is the Copy derives, which affect API
design. I'm applying them to the types that are 32 byte or smaller.
2023-01-11 09:04:12 -05:00
Ian Jackson 3baa4a9017 Merge branch 'tokio-upgrade' into 'main'
Upgrade to latest tokio, for security fix.

See merge request tpo/core/arti!967
2023-01-09 18:28:23 +00:00
Ian Jackson d6800bae0c Merge branch 'blind_privkey' into 'main'
llcrypto: Implement secret-key blinding.

Closes #719

See merge request tpo/core/arti!964
2023-01-09 18:06:00 +00:00
Nick Mathewson 78a89c0057 Upgrade to latest tokio, for security fix.
On 1.22, cargo audit is complaining about RUSTSEC-2023-0001.

We aren't affected, since we don't use windows named pipes (yet),
but let's make cargo audit happier.
2023-01-09 12:58:04 -05:00
eta cea6396513 Merge branch 'typos' into 'main'
Fix typos

See merge request tpo/core/arti!965
2023-01-09 14:44:00 +00:00
eta 371bcdc554 Merge branch 'arti-hyper-fixing-715' into 'main'
Temporary fix for #715 and #569

Closes #715

See merge request tpo/core/arti!958
2023-01-09 14:43:37 +00:00
Dimitris Apostolou 892c6eaadf
Fix typos 2023-01-07 20:35:54 +02:00
Michael van Straten 2e8c38d11d Removed unnecessary "all()" cfg constraint 2023-01-07 13:00:40 +01:00
Michael van Straten 90a25fa21a Added x86_64-apple-darwin to fallback to "tls-api-openssl" 2023-01-07 12:57:23 +01:00
Nick Mathewson c4a48f4b07 Merge branch 'build_profiles' into 'main'
Add a new "light" build profile between "dev" and "release".

Closes #639

See merge request tpo/core/arti!960
2023-01-06 19:28:40 +00:00
Nick Mathewson 2ad198784d Merge branch 'hilev_docs' into 'main'
Architecture: More high-level documentation and diagrams.

Closes #624

See merge request tpo/core/arti!963
2023-01-06 19:17:29 +00:00
Nick Mathewson 5b9be68629 Add a new "quicktest" build profile between "dev" and "release".
"quicktest" is meant to build faster than our (tuned for size above
all) release profile, while having enough optimization to perform
reasonably well when used for testing.

Closes #639.
2023-01-06 13:54:39 -05:00
Michael van Straten 0a04851636 fixed "broken_intra_doc_link" 2023-01-06 19:43:44 +01:00
Nick Mathewson a0ddf51f77 Architecture.md: Move title outside of diagram
Apparently, Mermaid 9.1 did not support this.
2023-01-06 13:37:27 -05:00
Nick Mathewson 8472acf3ac Merge branch 'onion-api-v0.2' into 'main'
Onion service APIs, part 1.

See merge request tpo/core/arti!959
2023-01-06 18:32:36 +00:00
Ian Jackson 0c2f800ab0 Merge branch 'sensitive' into 'main'
tor-proto: Remove some sensitive info from errors

See merge request tpo/core/arti!934
2023-01-06 18:07:26 +00:00
Nick Mathewson 7f6e3e19a3 Sketch a solution for arti#525 2023-01-06 13:03:50 -05:00
Nick Mathewson 91d9ffe0b6 Sketch out new required APIs in tor-cell 2023-01-06 13:03:50 -05:00
Nick Mathewson 9a54e01dd0 tor-cert: add a few hs TODOs 2023-01-06 13:03:50 -05:00
Nick Mathewson eba937e54c netdoc: Outline some basic types for encoding HsDescs. 2023-01-06 13:03:50 -05:00
Nick Mathewson fe9bf17937 Add a protocol overview for onion services. 2023-01-06 13:03:50 -05:00
Nick Mathewson 0203634ec5 Create a new tor-hscrypto crate.
This module has types and operations needed in multiple places
for an onion service implementation.  There are a bunch of
TODO hs-crypto comments that we'll need to fill in.
2023-01-06 13:03:50 -05:00
Nick Mathewson e650e07cd4 netdoc: note some changes we will have to make to srv 2023-01-06 13:03:50 -05:00
Nick Mathewson 7d38bbd829 llcrypto: fix a comment.
This described the wrong type of key.
2023-01-06 13:03:50 -05:00
Nick Mathewson e7c87372e2 llcrypto: clarify meaning of "Identity".
The `Ed25519Identity` and `RsaIdentity` types are not precisely
always used as relay identifiers: they are more generally used as
_key_ identifiers.

This will become relevant as `RsaIdentity` is used for authority
keys (as in authorities' VoterInfo blocks), and as `Ed25519Identity`
is used as the identifier behind an onion service key.
2023-01-06 13:03:47 -05:00
eta 9a5ae805ba Merge branch 'ptmgr-logs' into 'main'
More log messages in and around the ptmgr code

See merge request tpo/core/arti!923
2023-01-06 17:43:08 +00:00
Michael van Straten b3d458280d Updated Cargo.lock 2023-01-06 18:35:32 +01:00
Ian Jackson 98acafe9d1 tor-proto: rustfmt
Not sure why the tree didn't have this newline already.  "Whatever".
2023-01-06 17:26:54 +00:00
Ian Jackson 0639b105c5 tor-proto: CreateFastWrap::decode_chanmsg: Do not report handshake
The debug impl prints the handshake challenge, which we should
probably treat as sensitive.
2023-01-06 17:26:54 +00:00
Ian Jackson df2124e28f tor-proto: impl Display for CreateResponse
Don't print the handshake value, but do print the display reason.
2023-01-06 17:26:54 +00:00
Ian Jackson 8c925499f8 tor-proto: When relay IDs mismatch, the IDs are sensitive in errors 2023-01-06 17:26:54 +00:00
Nick Mathewson 1e25a962a7 chanmgr: trace-level logs when launching connections.
Based on more temporary debugging code. Yet another part of #677.
2023-01-06 17:19:00 +00:00
Nick Mathewson 71dfaa3125 ptmgr: Add more logs when looking/creating a PT.
These are also based on temporary logs that I added locally while I
was hunting bugs.

Also part of #677.
2023-01-06 17:19:00 +00:00
Nick Mathewson 3eebe33678 ptmgr: Add more logging to IPC code.
This is based on logs that I added locally while I was trying to
debug some startup issues.  Hopefully they'll make things easier the
next time there's something to debug.

Part of #677.
2023-01-06 17:19:00 +00:00
eta b525fccfb0 Merge branch 'ya-lint' into 'main'
tor-linkspec: Fix an unused lint

See merge request tpo/core/arti!935
2023-01-06 17:16:27 +00:00
eta 118050e54c Merge branch 'test-lints' into 'main'
Add test lint blocks to all "mod test"

See merge request tpo/core/arti!937
2023-01-06 17:16:09 +00:00
eta fbae20537c Merge branch 'bug589a' into 'main'
Remove allow(unreachable_pub) from tor-guardmgr/src/lib.rs

Closes #589

See merge request tpo/core/arti!944
2023-01-06 17:14:03 +00:00
eta d869676263 Merge branch 'socks-resolve-ip' into 'main'
resolve ip through socks by parsing them

Closes #714

See merge request tpo/core/arti!957
2023-01-06 17:08:25 +00:00
Nick Mathewson 306e72c566 llcrypto: Implement secret-key blinding.
Closes #719.

Due to a difference between ed25519-dalek and ed25519-donna,
converting these secret keys directly to public keys does not work.
I've documented this in a "Limitations" section.
2023-01-06 12:02:49 -05:00