summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src/doc
Commit message (Collapse)AuthorAgeFilesLines
* Apply a missing cfg_attr(docsrs...) in netdocNick Mathewson2023-02-211-0/+1
|
* Merge branch 'unparsed_linkspec' into 'main'Ian Jackson2023-02-211-9/+2
|\ | | | | | | | | HsDesc: Use a new UnparsedLinkSpecifier to avoid leaking which linkspec types we know See merge request tpo/core/arti!1029
| * tor-netdoc: Use UnparsedLinkSpec in IntroPointDesc.Nick Mathewson2023-02-171-9/+2
| |
* | netdoc: Remove a TODO hs comment.Nick Mathewson2023-02-171-1/+0
|/ | | | | | | | | | | | | | | | It said to check whether C enforces an absence of extraneous bytes at the end of the link specifiers. It does, in `hs_desc.c:decode_link_specifiers()`, where it says: ``` if (link_specifier_list_parse(&specs, decoded, (size_t) decoded_len) < decoded_len) { goto err; } ``` The comparison with "decoded_len" checks whether all the bytes were decoded.
* Merge branch 'doc-iter' into 'main'Nick Mathewson2023-02-177-35/+31
|\ | | | | | | | | | | | | tor-netdoc: Abolish PauseAt in favour of using itertools Closes #760 See merge request tpo/core/arti!1021
| * tor-netdoc: Run rustfmt (separately from the refactoring)Ian Jackson2023-02-151-2/+2
| |
| * tor-netdoc: Remove many needless calls to .iter() and .into_iter()Ian Jackson2023-02-157-24/+20
| |
| * tor-netdoc: Replace use of PauseAt::new_pred()Ian Jackson2023-02-151-9/+9
| | | | | | | | | | | | | | We can just make a new PauseAt, since it can take the inner peekable iterator by mutable reference. This seems to tidy the code up a bit too.
* | Expire routerdescs as soon as any of their expiries expireIan Jackson2023-02-151-1/+1
|/ | | | Fixes #772
* netdoc: Add a feature to expose hsdesc inner doc parsersNick Mathewson2023-02-144-0/+10
| | | | | | | We want to fuzz these parsers, but there's no currently way to get at the parsers for inner documents without going through a lot of encryption. (Coverage-guided fuzzers are powerful, but they can't find SHA3 preimages.)
* Merge branch 'doc-iter' into 'main'Nick Mathewson2023-02-132-86/+25
|\ | | | | | | | | Introduce new batching iterator and use it in two places See merge request tpo/core/arti!1016
| * batching_split_before: Rename "prefix" to "header"Ian Jackson2023-02-131-1/+1
| | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1016#note_2877759 "_prefixed" becomes "_with_header". That mirrors the returned struct which is nice.
| * tor-netdoc: Use batching iterator in authcert.rsIan Jackson2023-02-101-61/+15
| | | | | | | | | | This gets rid of a lot of manual boolean state variable iterator stuff.
| * tor-netdoc: Use batching_split_before in HsDescInnerIan Jackson2023-02-101-25/+10
| |
* | netdoc: give hsdesc test info in its original form.Nick Mathewson2023-02-131-1/+5
| |
* | netdoc: Add a test for HSDesc decryption.Nick Mathewson2023-02-101-0/+63
|/
* Merge branch 'hsdir' into 'main'Ian Jackson2023-02-092-0/+7
|\ | | | | | | | | Compute the HS directory hash ring See merge request tpo/core/arti!1012
| * hsdir: Be able to enumerate the hidden service directoriesIan Jackson2023-02-091-0/+4
| | | | | | | | | | | | * Provide an accessor for the HSDIR flag * Provide a function for testing a relay for hsdir inclusion * Provide an iterator on NetDir that returns the hsdirs
| * tor-netdoc: Discuss that relays are ordered by rsa id in ConsensusIan Jackson2023-02-091-0/+3
| |
* | Rename DescEncNonce => HsDescEncNonceNick Mathewson2023-02-092-4/+4
|/
* hsdesc: Use an IntegerMinutes<u16> to hold lifetime.Nick Mathewson2023-02-082-9/+18
|
* netdoc: Fix most "TODO HS rename" commentsNick Mathewson2023-02-084-16/+14
|
* netdoc::hsdesc: Distinguish layer from document.Nick Mathewson2023-02-085-68/+62
|
* netdoc::hsdesc: Rename "layer" modules.Nick Mathewson2023-02-084-15/+14
|
* netdoc::hsdesc: Excise reference to "password" authenticationNick Mathewson2023-02-082-3/+1
| | | | As far as we can tell, this never existed.
* hscrypto,netdoc: Add and use a type for KP_hss_desc_enc.Nick Mathewson2023-02-081-5/+5
|
* tor-hscrypto: Rename key types to correspond to new spec names.Nick Mathewson2023-02-085-18/+19
|
* Rename DescriptorCookie to DescEncNonceNick Mathewson2023-02-083-16/+15
| | | | | | (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.)
* Renaming cleanup for and around now-renamed "KP_hs_desc_ephem".Nick Mathewson2023-02-081-8/+5
|
* Rename key identifiers that have changed in the specNick Mathewson2023-02-083-12/+12
| | | | | | | | | 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;
* Fix typoDimitris Apostolou2023-02-081-1/+1
|
* Update hsdesc parser code to new sectionrules::builder code.Nick Mathewson2023-02-073-8/+8
|
* Merge branch 'authcert_bug' into 'main'eta2023-02-074-26/+37
|\ | | | | | | | | | | | | Fix AuthCert behavior on unrecognized tokens, and prevent bug from recurring elsewhere. Closes #752 See merge request tpo/core/arti!1006
| * netdoc: Require that unrecognized tokens be handled explicitly.Nick Mathewson2023-02-032-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we require that, for all `SectionRules`, either the caller say how to handle unrecognized tokens (using `.add(UNRECOGNIZED...)`), or that they explicitly reject unrecognized tokens (using `reject_unrecognized`()`.) This solution uses an assert!() rather than an Error to indicate failure. I say that's fine, since 1. This is a crate-internal API. 2. We never dynamically construct SectionRules according to different behavior: they are always prefabricated in a fixed code block. Thus, if we test a parser at all, we will make sure that its SectionRules are well-formed. I considered and explicitly rejected a solution where the builder had to be finalized with separate methods `build_strict()` or `build_tolerant()`: It's too easy IMO for the caller to forget what these call means. Prevents further recurrences of #752. Closes #752.
| * netdoc: Switch SectionRules building to use a Buidler pattern.Nick Mathewson2023-02-034-26/+26
| | | | | | | | No new behavior yet.
| * Add a rule to handle UNRECOGNIZED in AuthCert.Nick Mathewson2023-02-031-0/+1
| | | | | | | | | | | | This fixes an instance of bug#752. Previously, we would reject any AuthCert that contained an unexpected keyword. (Fortunately, this data format does not change very often.)
* | netdoc: Add a comment about renaming layer to document.Nick Mathewson2023-02-071-0/+9
| |
* | netdoc::hsdesc: rename Passwd to Password.Nick Mathewson2023-02-072-2/+2
| |
* | netdoc: Rename/comment objects from hsdesc.Nick Mathewson2023-02-071-9/+15
| |
* | netdoc: Rename/comment objects from inner_layer.Nick Mathewson2023-02-072-23/+47
| |
* | netdoc: Rename/comment objects from middle_layer.Nick Mathewson2023-02-074-19/+28
| |
* | netdoc: Rename/comment objects from desc_encNick Mathewson2023-02-073-21/+36
| |
* | netdoc: Renaming and comments in outer_layer.Nick Mathewson2023-02-071-8/+13
| |
* | netdoc: Use Itertools::exactly_once in hsdesc parsingNick Mathewson2023-02-071-4/+7
| |
* | netdoc: Remove useless should_be_exhausted calls.Nick Mathewson2023-02-073-3/+0
| |
* | Remove a needless line.Nick Mathewson2023-02-071-1/+0
| |
* | Even more clarifying comments.Nick Mathewson2023-02-073-8/+14
| |
* | netdoc: Try to add a bunch of clarifying documentation.Nick Mathewson2023-02-075-28/+87
| | | | | | | | | | In the process I found a couple of keys without identifiers in the spec.
* | netdoc: Use Signature::from to construct ed25519 sigs.Nick Mathewson2023-02-072-5/+10
| |
* | netdoc: Clear up a few typos in hsdesc comments and strings.Nick Mathewson2023-02-072-6/+6
| |