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
Nick Mathewson
fd8915155e
Merge branch 'ignore' into 'main'
...
Do not .gitignore crates/*/fuzz/corpus
See merge request tpo/core/arti!982
2023-01-20 18:47:20 +00:00
Nick Mathewson
d489ebdc8c
Merge branch 'warnings' into 'main'
...
tor-llcrypto: Tolerate some warnings
See merge request tpo/core/arti!983
2023-01-20 18:46:47 +00:00
Ian Jackson
5c76bca692
tor-llcrypto: Tolerate some warnings (fmt)
2023-01-20 17:29:45 +00:00
Ian Jackson
4e6f5b7ff3
Do not .gitignore crates/*/fuzz/corpus
...
These are symlinks which are actually checked in. They should not be
ignored. (This caused trouble for some of my privsep tooling...)
2023-01-20 17:29:00 +00:00
Ian Jackson
bd21d23279
tor-llcrypto: Tolerate some warnings
...
Without this,
cargo +stable clippy -p tor-netdoc --all-features
produces warnings.
2023-01-20 16:37:31 +00:00
Ian Jackson
3c3b90931e
Merge branch 'netdoc-builder' into 'main'
...
RFC netdoc builder API
See merge request tpo/core/arti!969
2023-01-20 14:48:51 +00:00
Ian Jackson
99686c61de
netdoc-builder api: Write down the correctness (non)-guarantees
2023-01-20 14:21:17 +00:00
Ian Jackson
6f17a88b0b
netdoc-builder api: Make object() take self
...
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/969#note_2869594
2023-01-20 14:21:17 +00:00
Ian Jackson
694de0e163
netdoc-builder api: Change object multiplicity to 0 or 1
2023-01-20 14:21:17 +00:00
Ian Jackson
673d13a82b
netdoc-builder api: Provide raw methods
2023-01-20 14:21:17 +00:00
Ian Jackson
2fdb65287d
netdoc-builder api: Fix typo
2023-01-20 14:21:17 +00:00
Ian Jackson
3ce394f168
netdoc-builder api: Clarify ItemEncoder.objects content
2023-01-20 14:21:17 +00:00
Ian Jackson
fa96addf01
netdoc-builder api: In internal notes don't promise not to eagerly add
2023-01-20 14:21:17 +00:00
Ian Jackson
0755069e5a
netdoc-builder api: Rename internal Builder to Encoder
...
This seems clearer now and also it solves the name clash with the
`NetdocBuilder` trait.
2023-01-20 14:21:17 +00:00