Nick Mathewson
39f5f90f3f
netdoc: Fix most "TODO HS rename" comments
2023-02-08 13:23:21 -05:00
Nick Mathewson
8c3bd3626b
netdoc::hsdesc: Distinguish layer from document.
2023-02-08 13:16:44 -05:00
Nick Mathewson
966ddeb092
netdoc::hsdesc: Rename "layer" modules.
2023-02-08 13:08:57 -05:00
Nick Mathewson
964ca511c4
netdoc::hsdesc: Excise reference to "password" authentication
...
As far as we can tell, this never existed.
2023-02-08 12:57:52 -05:00
Nick Mathewson
cce56c793b
hscrypto,netdoc: Add and use a type for KP_hss_desc_enc.
2023-02-08 12:50:34 -05:00
Nick Mathewson
99ec1c9818
tor-hscrypto: Rename key types to correspond to new spec names.
2023-02-08 12:27:36 -05:00
Nick Mathewson
d1ee5807ed
Rename DescriptorCookie to DescEncNonce
...
(I think it's okay to omit the Hs here, since this type is not
visible outside the hsdesc parsing code. I'll rename if others
disagree.)
2023-02-08 12:10:24 -05:00
Nick Mathewson
39e1116ece
Renaming cleanup for and around now-renamed "KP_hs_desc_ephem".
2023-02-08 12:06:42 -05:00
Nick Mathewson
18e8ac7cb6
Rename key identifiers that have changed in the spec
...
Generated with perl:
s/K([PS])_hs_intro_tid/K$1_hs_ipt_sid/g;
s/K([PS])_onion_ntor/K$1_ntor/g;
s/K([PS])_hs_intro_ntor/K$1_hss_ntor/g;
s/K([PS])_hs_desc_ephem/K$1_hss_desc_enc/g;
2023-02-08 11:57:51 -05:00
Nick Mathewson
9046ef90d0
Merge branch 'typos' into 'main'
...
Fix typo
See merge request tpo/core/arti!1010
2023-02-07 22:36:49 +00:00
Dimitris Apostolou
d1eeffbf42
Fix typo
2023-02-08 00:04:25 +02:00
Nick Mathewson
447312e2fe
Merge branch 'ticket_525' into 'main'
...
Create a macro to generate restricted variations on RelayMsg, ChanMsg.
Closes #525
See merge request tpo/core/arti!1008
2023-02-07 21:37:59 +00:00
Nick Mathewson
7feda22444
tor-cell: documentation cleanups related to restricted_msg
2023-02-07 16:03:14 -05:00
Nick Mathewson
77cccdfd6e
tor-cell: correct handling of optional msg types.
...
We need to make sure any `#[cfg(feature=...)]` attributes are
applied not only to our variant declarations, but also to the
branches in the match statements that deal with them.
2023-02-07 16:03:14 -05:00
Nick Mathewson
d63d7926bd
tor-cell: Rename RelayMsg and RelayCell-related types.
...
Thanks to rust-analyzer for making this simple.
2023-02-07 16:03:14 -05:00
Nick Mathewson
d99c130679
tor-cell: Rename ChanMsg and ChanCell-related types.
2023-02-07 16:03:14 -05:00
Nick Mathewson
c529bb9c30
tor-cell: Remove RelayMsg methods that are duplicated in RelayMsgClass.
2023-02-07 16:03:14 -05:00
Nick Mathewson
3c7aea723b
tor-cell: Remove ChanMsg methods that are duplicated in ChanMsgClass.
2023-02-07 16:03:14 -05:00
Nick Mathewson
71445f7ace
tor-cell: Use macro to generate ChanMsg too.
2023-02-07 16:03:14 -05:00
Nick Mathewson
706a39a870
tor-cell: Use macro to define RelayMsg type too.
2023-02-07 16:03:14 -05:00
Nick Mathewson
f5f8402d50
tor-cell: Macro to generate restricted RelayMsg and ChanMsg.
...
This is the main implementation part of #525 .
2023-02-07 16:03:14 -05:00
Nick Mathewson
ffb443709b
tor-cell: Change all variants of RelayMsg to have a body.
...
Previously, there were some unit variants, but that makes things
quite awkward for #525 .
2023-02-07 16:03:14 -05:00
Nick Mathewson
afd5232430
tor-cell: Make Body and MsgClass traits more uniform.
...
Doing this will make it much easier to implement a macro that
generates restricted instances of the Msg types (for #525 ).
The Body change is a breaking change. I don't think anybody else
implements Body, but in theory they could.
2023-02-07 16:03:14 -05:00
Nick Mathewson
e099cc7ef8
tor-cell: Generic "Restricted{Relay,Chan}Cell" types.
...
These are generalizations of RelayCell and ChanCell respectively,
that allow using an arbitrary message type in place of the fully
general RelayMsg and ChanMsg types. Doing this is a prerequisite
for usefully implementing arti#525.
2023-02-07 16:03:14 -05:00
Nick Mathewson
3cc7ac45e3
Merge branch 'update_20220207' into 'main'
...
Bump openssl-src to 1.1.1t, and make main CI pass.
See merge request tpo/core/arti!1009
2023-02-07 20:59:19 +00:00
Nick Mathewson
f537a7ad48
Update hsdesc parser code to new sectionrules::builder code.
2023-02-07 15:28:10 -05:00
Nick Mathewson
698b997228
Bump openssl-src to 1.1.1t.
2023-02-07 15:16:44 -05:00
eta
85ca3e41b9
Merge branch 'shadykaty-error-hint-v2' into 'main'
...
Create and use an ErrorHint type to report how to fix a problem.
Closes #579 and #578
See merge request tpo/core/arti!994
2023-02-07 16:32:10 +00:00
eta
87d3deb3d3
Merge branch 'env-check' into 'main'
...
maint: add shebang
See merge request tpo/core/arti!990
2023-02-07 16:19:34 +00:00
eta
c7c4fff66e
Merge branch 'authcert_bug' into 'main'
...
Fix AuthCert behavior on unrecognized tokens, and prevent bug from recurring elsewhere.
Closes #752
See merge request tpo/core/arti!1006
2023-02-07 16:06:20 +00:00
Nick Mathewson
ba85d99766
Merge branch 'parse_hsdesc' into 'main'
...
Onion service descriptor parsing and decoding, first cut.
See merge request tpo/core/arti!999
2023-02-07 14:30:50 +00:00
Nick Mathewson
a1c36b2087
netdoc: Add a comment about renaming layer to document.
2023-02-07 09:02:15 -05:00
Nick Mathewson
257aaf9e5b
netdoc::hsdesc: rename Passwd to Password.
2023-02-07 09:02:15 -05:00
Nick Mathewson
2ba28aa289
netdoc: Rename/comment objects from hsdesc.
2023-02-07 09:02:15 -05:00
Nick Mathewson
d10ccf0dc5
netdoc: Rename/comment objects from inner_layer.
2023-02-07 09:02:15 -05:00
Nick Mathewson
1cdd36f511
netdoc: Rename/comment objects from middle_layer.
2023-02-07 09:02:15 -05:00
Nick Mathewson
1a59005ae0
netdoc: Rename/comment objects from desc_enc
2023-02-07 09:02:15 -05:00
Nick Mathewson
7701e02aad
netdoc: Renaming and comments in outer_layer.
2023-02-07 09:02:15 -05:00
Nick Mathewson
68d2ccf5fe
netdoc: Use Itertools::exactly_once in hsdesc parsing
2023-02-07 09:02:15 -05:00
Nick Mathewson
3d53a30c94
netdoc: Remove useless should_be_exhausted calls.
2023-02-07 09:02:15 -05:00
Nick Mathewson
cff2326f6f
Remove a needless line.
2023-02-07 09:02:15 -05:00
Nick Mathewson
fbffd3168c
Even more clarifying comments.
2023-02-07 09:02:15 -05:00
Nick Mathewson
328535855a
netdoc: Try to add a bunch of clarifying documentation.
...
In the process I found a couple of keys without identifiers in the
spec.
2023-02-07 09:02:15 -05:00
Nick Mathewson
6954c6b488
netdoc: Use Signature::from to construct ed25519 sigs.
2023-02-07 09:02:15 -05:00
Nick Mathewson
4c24f8e8a2
netdoc: Clear up a few typos in hsdesc comments and strings.
2023-02-07 09:02:15 -05:00
Nick Mathewson
d699742400
netdoc: Implement onion service descriptor parsers.
2023-02-07 09:02:15 -05:00
Nick Mathewson
2b82011dfb
tor-checkable: Add dangerously_map() functions.
...
These functions consume a checkable wrapper, and return a new
checkable wrapper with mapped contents but the same not-yet-checked
constraints.
As documented, They are "dangerous" because the provided function
gets access to the contents before they are checked; the caller has
to make sure that the provided function doesn't expose their
contents inappropriately.
2023-02-07 09:02:15 -05:00
Nick Mathewson
23757d90c1
netdoc: Parse the inner layer of an onion service descriptor.
...
There are some places where I note certificates which are not
currently validated, because there is no cryptographic point in
doing so. We should either document that this is okay, or validate
the certificates anyway.
This code might benefit from refactoring to make it prettier.
2023-02-07 09:02:15 -05:00
Nick Mathewson
6817f61641
netdoc: Add a workaround for C Tor's lack of mid-layer NL
...
It turns out that C Tor doesn't add a newline at the end of the
middle layer of an onion service descriptor. I've made a spec MR
(torspec!109) to document this: here, it's time to work around the
issue.
2023-02-07 09:02:15 -05:00
Nick Mathewson
4be4d178fa
netdoc: Parse the middle layer of a hsdesc, and decrypt it.
2023-02-07 09:02:15 -05:00