Nick Mathewson
93cdb0a2c3
Add a note about why we use ExpandedSecretKey for OnionIdSecretKey
2023-01-24 13:40:59 -05:00
Nick Mathewson
00aaf79620
hscrypto: Add our standard clippy warnings
...
(I have squashed the fixes for these warnings into the earlier
commits in this branch, so it will look like I did everything right
the first time.)
2023-01-24 13:40:59 -05:00
Nick Mathewson
f192429442
hscrypto: Implement key blinding.
...
This implementation was made based on the specification, and then
validated against itself, and against C Tor.
2023-01-24 13:40:59 -05:00
Nick Mathewson
3dfeb5b144
hscrypto: Add an implementation for TimePeriod
...
This required some API tweaks, which is probably to be expected;
these time periods are a wonky kind of thing.
2023-01-24 13:33:48 -05:00
Nick Mathewson
0a52d90af3
hscrypto: Implement hs_mac.
2023-01-24 13:33:48 -05:00
Nick Mathewson
44e9d31af9
hscrypto: Improve documentation for RendCookie
2023-01-24 13:33:48 -05:00
Nick Mathewson
49afcafadd
hscrypto: use a macro to define our byte wrappers too.
2023-01-24 13:33:48 -05:00
Nick Mathewson
7e4ad381a8
hscrypto: Add and use a macro to define all PK types.
2023-01-24 13:33:46 -05:00
Nick Mathewson
36485218c3
hscrypto: A couple of spelling fixes.
2023-01-24 13:32:18 -05:00
Nick Mathewson
23bbf17d38
hscrypto: Associate each type with new name from rend-spec-v3.txt
2023-01-24 13:32:18 -05:00
Nick Mathewson
3b2848f904
Merge branch 'onion-api-highlevel' into 'main'
...
Onion-service APIs: circmgr, hsclient, hsservice
See merge request tpo/core/arti!972
2023-01-24 18:19:42 +00:00
Ian Jackson
590c139af9
tor-proto: Mark stream ids in errors as sensitive
...
Pursuant to #556
2023-01-24 18:08:40 +00:00
Nick Mathewson
5b4ffc5e48
Note a needed isolation API.
2023-01-24 12:32:21 -05:00
Nick Mathewson
606426bfc7
hsservice: Add a note about the contents of circ_info.
...
In order to store per-circuit information, it's a good idea if we
provide something that can be the key of a `PtrWeakKeyHashMap`.
2023-01-24 12:32:21 -05:00
Nick Mathewson
a210686c80
Sketch an API for onion services.
2023-01-24 12:32:21 -05:00
Nick Mathewson
32ae6dfa09
Add a new stub hsclient module to connect to onion services.
2023-01-24 12:32:21 -05:00
Nick Mathewson
8ce05dc725
CircMgr: Draft API to construct targeted multihop circuits.
...
Onion services and onion clients need these to make connections to
HsDirs, Introduction points, and Rendezvous points.
2023-01-24 12:32:21 -05:00
Nick Mathewson
190f24e66d
CircMgr: Draft APIs used to implement onion service clients.
2023-01-24 12:32:21 -05:00
Nick Mathewson
1834579460
Merge branch 'onion-proto-apis' into 'main'
...
Draft APIs for onion services in tor-proto
See merge request tpo/core/arti!970
2023-01-24 17:28:16 +00:00
Nick Mathewson
41fee18362
Merge branch 'onion-service-key-note' into 'main'
...
Add a note about key storage in onion services and clients
See merge request tpo/core/arti!974
2023-01-24 17:15:45 +00:00
Nick Mathewson
ce293e4ce4
tor-proto: comment fixes and more TODO hs
2023-01-24 11:50:10 -05:00
Nick Mathewson
410d05697f
Try to be less ambigous about "maybe offline"...
...
...by defining "offline" as "maybe online".
@diziet is this what you had in mind?
2023-01-24 11:39:10 -05:00
Nick Mathewson
b667faf5c5
Try to specify which keys are which
...
Use the terminology in the current draft torspec!105 MR.
2023-01-24 11:39:10 -05:00
Nick Mathewson
8764c64564
Add a note about key storage in onion services and clients
2023-01-24 11:39:10 -05:00
Ian Jackson
92ba020534
Add missing docsrs attribute
2023-01-24 16:19:05 +00:00
Ian Jackson
15a543d738
netdoc builder: Add two TODOs, prompted by testing experience
2023-01-24 16:15:17 +00:00
Ian Jackson
be1cd7789d
netdoc builder test: Make a bigger dummy document and test reparsing
2023-01-24 16:15:17 +00:00
Ian Jackson
eb3b261595
netdoc builder: Implement object() and add one test case
2023-01-24 16:15:17 +00:00
Ian Jackson
4f0d17d96d
netdoc-builder: Initial test case (no object yet)
2023-01-24 16:15:17 +00:00
Ian Jackson
066eb12f50
netdoc-builder: Provide new() method
2023-01-24 16:15:17 +00:00
Ian Jackson
e989871a7b
netdoc-builder: Implement ItemArgument for more needed types
2023-01-24 16:15:17 +00:00
Ian Jackson
94fec1e12c
netdoc-builder: Remove some obsolete comments
2023-01-24 16:15:17 +00:00
Ian Jackson
16c4fee4b8
netdoc-builder: Move example into implementation doc comment
...
Not actually tested yet
2023-01-24 16:15:17 +00:00
Ian Jackson
8f725a19f8
netdoc-builder: Implement most of the internal general doc builder
2023-01-24 16:15:17 +00:00
Ian Jackson
22cf060426
netdoc-builder api: Clarify docs for object()
2023-01-24 16:15:17 +00:00
Ian Jackson
c7e816d263
netdoc-builder api: Introduce ItemArgument trait
2023-01-24 16:15:17 +00:00
Ian Jackson
eac7befc87
netdoc-builder api: Have .item() return ItemBuilder
...
This was a slip in the design doc.
2023-01-24 16:15:17 +00:00
Ian Jackson
8c8ff4948f
netdoc-builder api: Abolish `K` generic on ItemEncoder
...
We're going to eagerly encode the keyword, so this will be easy.
Removing the generic simplifies the API.
2023-01-24 16:15:17 +00:00
Ian Jackson
669a399c46
netdoc-builder api: Don't promise to check args_raw_string value
2023-01-24 16:15:17 +00:00
Ian Jackson
2bc7a371b4
netdoc-builder api: Make ItemEncoder methods consume and return self
...
This will actually make the pattern in the example work.
The mentioned `ItemArgument` trait will arrive soon.
2023-01-24 16:15:17 +00:00
Ian Jackson
5fccbce160
netdoc-builder api: Move internal API into actual code file (fmt)
2023-01-24 16:15:17 +00:00
Ian Jackson
e971d1ad59
netdoc-builder api: Move internal API into actual code file
...
Motion, plus the bare minimum needed to make it compile.
2023-01-24 16:15:17 +00:00
Ian Jackson
bb5565b800
netdoc-builder api: Remove obsolete proposed `Item` changes
...
We decided against these in !969
2023-01-24 16:15:17 +00:00
Ian Jackson
f735a128bb
tor-netdoc: tokenize: Provide BASE64_PEM_MAX_LINE
...
We'll use this in the netdoc builder, but it naturally lives here.
2023-01-24 16:15:17 +00:00
Ian Jackson
c8ac951cf5
tor-netdoc: tokenize: Rename to tag_keywords_ok, document, expose
...
Rename from _keyword_, since this actually checks the *multiple*
keywords that can appear in an object's BEGIN line.
Make this clear in the doc comment.
Expose it for use by the netdoc builder.
2023-01-24 16:15:17 +00:00
Ian Jackson
a8ab0a5f46
tor-netdoc: tokenize: crate-Expose object::BEGIN_STR etc.
...
The document builder wants these too.
2023-01-24 16:15:17 +00:00
Ian Jackson
5bd54f3701
tor-netdoc: Make AuthCertKwd pub(crate)
...
For now, this will be useful in a test.
2023-01-24 16:15:17 +00:00
Ian Jackson
043581fe0e
tor-bytes: impl Writeable for &impl Writeable
2023-01-24 16:15:17 +00:00
Ian Jackson
a4a4b19f21
tor-bytes: Implement conversion from EncodeError to Bug
2023-01-24 16:15:17 +00:00
eta
c31f451e0b
Merge branch 'bug736' into 'main'
...
Prop304: Add extended SOCKS result codes for onion services
See merge request tpo/core/arti!978
2023-01-24 15:05:19 +00:00