| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Apply a missing cfg_attr(docsrs...) in netdoc | Nick Mathewson | 2023-02-21 | 1 | -0/+1 |
| | | |||||
| * | Merge branch 'unparsed_linkspec' into 'main' | Ian Jackson | 2023-02-21 | 1 | -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 Mathewson | 2023-02-17 | 1 | -9/+2 |
| | | | |||||
| * | | netdoc: Remove a TODO hs comment. | Nick Mathewson | 2023-02-17 | 1 | -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 Mathewson | 2023-02-17 | 7 | -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 Jackson | 2023-02-15 | 1 | -2/+2 |
| | | | |||||
| | * | tor-netdoc: Remove many needless calls to .iter() and .into_iter() | Ian Jackson | 2023-02-15 | 7 | -24/+20 |
| | | | |||||
| | * | tor-netdoc: Replace use of PauseAt::new_pred() | Ian Jackson | 2023-02-15 | 1 | -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 expire | Ian Jackson | 2023-02-15 | 1 | -1/+1 |
| |/ | | | | Fixes #772 | ||||
| * | netdoc: Add a feature to expose hsdesc inner doc parsers | Nick Mathewson | 2023-02-14 | 4 | -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 Mathewson | 2023-02-13 | 2 | -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 Jackson | 2023-02-13 | 1 | -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.rs | Ian Jackson | 2023-02-10 | 1 | -61/+15 |
| | | | | | | | | | | | This gets rid of a lot of manual boolean state variable iterator stuff. | ||||
| | * | tor-netdoc: Use batching_split_before in HsDescInner | Ian Jackson | 2023-02-10 | 1 | -25/+10 |
| | | | |||||
| * | | netdoc: give hsdesc test info in its original form. | Nick Mathewson | 2023-02-13 | 1 | -1/+5 |
| | | | |||||
| * | | netdoc: Add a test for HSDesc decryption. | Nick Mathewson | 2023-02-10 | 1 | -0/+63 |
| |/ | |||||
| * | Merge branch 'hsdir' into 'main' | Ian Jackson | 2023-02-09 | 2 | -0/+7 |
| |\ | | | | | | | | | Compute the HS directory hash ring See merge request tpo/core/arti!1012 | ||||
| | * | hsdir: Be able to enumerate the hidden service directories | Ian Jackson | 2023-02-09 | 1 | -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 Consensus | Ian Jackson | 2023-02-09 | 1 | -0/+3 |
| | | | |||||
| * | | Rename DescEncNonce => HsDescEncNonce | Nick Mathewson | 2023-02-09 | 2 | -4/+4 |
| |/ | |||||
| * | hsdesc: Use an IntegerMinutes<u16> to hold lifetime. | Nick Mathewson | 2023-02-08 | 2 | -9/+18 |
| | | |||||
| * | netdoc: Fix most "TODO HS rename" comments | Nick Mathewson | 2023-02-08 | 4 | -16/+14 |
| | | |||||
| * | netdoc::hsdesc: Distinguish layer from document. | Nick Mathewson | 2023-02-08 | 5 | -68/+62 |
| | | |||||
| * | netdoc::hsdesc: Rename "layer" modules. | Nick Mathewson | 2023-02-08 | 4 | -15/+14 |
| | | |||||
| * | netdoc::hsdesc: Excise reference to "password" authentication | Nick Mathewson | 2023-02-08 | 2 | -3/+1 |
| | | | | | As far as we can tell, this never existed. | ||||
| * | hscrypto,netdoc: Add and use a type for KP_hss_desc_enc. | Nick Mathewson | 2023-02-08 | 1 | -5/+5 |
| | | |||||
| * | tor-hscrypto: Rename key types to correspond to new spec names. | Nick Mathewson | 2023-02-08 | 5 | -18/+19 |
| | | |||||
| * | Rename DescriptorCookie to DescEncNonce | Nick Mathewson | 2023-02-08 | 3 | -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 Mathewson | 2023-02-08 | 1 | -8/+5 |
| | | |||||
| * | Rename key identifiers that have changed in the spec | Nick Mathewson | 2023-02-08 | 3 | -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 typo | Dimitris Apostolou | 2023-02-08 | 1 | -1/+1 |
| | | |||||
| * | Update hsdesc parser code to new sectionrules::builder code. | Nick Mathewson | 2023-02-07 | 3 | -8/+8 |
| | | |||||
| * | Merge branch 'authcert_bug' into 'main' | eta | 2023-02-07 | 4 | -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 Mathewson | 2023-02-03 | 2 | -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 Mathewson | 2023-02-03 | 4 | -26/+26 |
| | | | | | | | | | No new behavior yet. | ||||
| | * | Add a rule to handle UNRECOGNIZED in AuthCert. | Nick Mathewson | 2023-02-03 | 1 | -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 Mathewson | 2023-02-07 | 1 | -0/+9 |
| | | | |||||
| * | | netdoc::hsdesc: rename Passwd to Password. | Nick Mathewson | 2023-02-07 | 2 | -2/+2 |
| | | | |||||
| * | | netdoc: Rename/comment objects from hsdesc. | Nick Mathewson | 2023-02-07 | 1 | -9/+15 |
| | | | |||||
| * | | netdoc: Rename/comment objects from inner_layer. | Nick Mathewson | 2023-02-07 | 2 | -23/+47 |
| | | | |||||
| * | | netdoc: Rename/comment objects from middle_layer. | Nick Mathewson | 2023-02-07 | 4 | -19/+28 |
| | | | |||||
| * | | netdoc: Rename/comment objects from desc_enc | Nick Mathewson | 2023-02-07 | 3 | -21/+36 |
| | | | |||||
| * | | netdoc: Renaming and comments in outer_layer. | Nick Mathewson | 2023-02-07 | 1 | -8/+13 |
| | | | |||||
| * | | netdoc: Use Itertools::exactly_once in hsdesc parsing | Nick Mathewson | 2023-02-07 | 1 | -4/+7 |
| | | | |||||
| * | | netdoc: Remove useless should_be_exhausted calls. | Nick Mathewson | 2023-02-07 | 3 | -3/+0 |
| | | | |||||
| * | | Remove a needless line. | Nick Mathewson | 2023-02-07 | 1 | -1/+0 |
| | | | |||||
| * | | Even more clarifying comments. | Nick Mathewson | 2023-02-07 | 3 | -8/+14 |
| | | | |||||
| * | | netdoc: Try to add a bunch of clarifying documentation. | Nick Mathewson | 2023-02-07 | 5 | -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 Mathewson | 2023-02-07 | 2 | -5/+10 |
| | | | |||||
| * | | netdoc: Clear up a few typos in hsdesc comments and strings. | Nick Mathewson | 2023-02-07 | 2 | -6/+6 |
| | | | |||||
