Commit Graph

5641 Commits

Author SHA1 Message Date
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
Ian Jackson 8f2263237b netdoc-builder api: Get rid of Item, and error rework 2023-01-20 14:21:17 +00:00
Ian Jackson 46ad6cba06 netdoc-builder api: Add example of use 2023-01-20 14:21:17 +00:00
Ian Jackson 28b99004d0 NetdocBuilder: Improvements apropos review 2023-01-20 14:21:17 +00:00
Nick Mathewson 760ddbbc5d Improved pseudocode commentary 2023-01-20 14:21:17 +00:00
Ian Jackson 7184777559 RFC netdoc builder API 2023-01-20 14:21:17 +00:00
Nick Mathewson 44e0d291b2 Merge branch 'updates_20210119' into 'main'
Update a few crate dependencies

See merge request tpo/core/arti!981
2023-01-20 13:35:33 +00:00
Nick Mathewson 131775bf36 Upgrade to latest rsa crate. 2023-01-20 08:06:30 -05:00
Nick Mathewson 02a1f9a3e4 Upgrade to latest async-broadcast
(We don't yet use the code that uses it, but we might as well have
our unused code be up-to-date.)
2023-01-20 08:06:30 -05:00
Nick Mathewson 707efc944d upgrade to latest serial_test 2023-01-20 08:06:30 -05:00
Nick Mathewson 889206cde4 Complete our migration to base64ct.
This is in lieu of upgrading to the latest base64 crate, which has
a different API from the old one.  Since we have to migrate either
way, we might as well use base64ct everywhere.

I don't think that most of these cases _require_ constant-time
base64, but it won't hurt.
2023-01-20 08:06:30 -05:00
Nick Mathewson 6cb0528cc1 Upgrade to latest rlimit crate. 2023-01-19 14:10:54 -05:00
Neel Chauhan 66a649f5f8 Prop304: Add extended SOCKS result codes for onion services 2023-01-18 18:39:00 -08:00
Nick Mathewson 923a7af4e7 Merge branch 'make-set-connect-prefs-public' into 'main'
made TorClient::set_stream_prefs public

See merge request tpo/core/arti!977
2023-01-18 18:07:01 +00:00
Michael van Straten fa93f6674d made TorClient::set_stream_prefs public 2023-01-18 18:20:59 +01:00
Nick Mathewson 12845d6e1e tor-proto: Draft API to handle incoming BEGIN requests.
Onion services (and later, exits and caches) will need this.
2023-01-17 15:20:03 -05:00
Nick Mathewson e8ed46006e tor-proto: Expose support for doing onion service handshakes
This is a little tricky, but I think that we're not actually
exposing too much here.  I expect we'll need to tweak this stuff
between now and our final version.
2023-01-17 15:20:03 -05:00
Nick Mathewson 99fdaa7c2e tor-proto: Draft APIs for handling control messages
We will need these for onion services, to send and receive messages
of types not handled directly by the tor-proto crate.
2023-01-17 15:20:03 -05:00
Nick Mathewson 4fedd301cf tor-proto: Rename "hs" experimental feature to "onion-common"
(For consistency with other crates)
2023-01-17 15:20:03 -05:00
Nick Mathewson 05155af0f3 Merge branch 'ffi-rpc-sketch' into 'main'
Sketch for some options and design issues around FFI/RPC

See merge request tpo/core/arti!973
2023-01-17 19:06:34 +00:00