summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
| * tor-netdoc: Remove many needless calls to .iter() and .into_iter()Ian Jackson2023-02-159-35/+32
| |
| * tor-netdoc: Use impl Iterator for NetdocReader in .pause_atIan Jackson2023-02-151-2/+2
| | | | | | | | This simplifies the return type!
| * tor-netdoc: impl Iterator etc. for NetdocReaderIan Jackson2023-02-151-0/+29
| | | | | | | | This will simplify things at many call sites.
| * tor-netdoc: move PeekableIterator to util.rsIan Jackson2023-02-152-24/+36
| | | | | | | | We're going to want this a bit more widely.
| * tor-netdoc: Delete now-unused PauseAt typeIan Jackson2023-02-151-149/+0
| |
| * tor-netdoc: Use itertools to implement NetDocReader::pause_atIan Jackson2023-02-151-7/+11
| | | | | | | | This is the last use of PauseAt.
| * tor-netdoc: Replace use of PauseAt::new_pred()Ian Jackson2023-02-152-9/+10
| | | | | | | | | | | | | | 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.
| * tor-netdoc: Have sectionrules.parse take I, not &mut IIan Jackson2023-02-151-2/+2
| | | | | | | | | | | | There's a blanket impl of Itertor for &mut impl Iterator, so this isn't necessary, and it prevents us passing iterators by value producing syntactic vinegar.
| * tor-netdoc: Import Peekable rather than referring to it by pathIan Jackson2023-02-151-3/+4
| | | | | | | | | | This makes things easier to read. We're about to add another site (albeit, temporarily).
* | Expire routerdescs as soon as any of their expiries expireIan Jackson2023-02-151-1/+1
|/ | | | Fixes #772
* netdoc: Add a basic fuzzer for the hsdesc layers.Nick Mathewson2023-02-142-1/+29
| | | | | | I've been running this for 5 minutes and haven't found any crashes. I'll run it for an hour or two, then add the results to the corpus repository.
* netdoc: Add a feature to expose hsdesc inner doc parsersNick Mathewson2023-02-145-1/+19
| | | | | | | 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-136-88/+488
|\ | | | | | | | | Introduce new batching iterator and use it in two places See merge request tpo/core/arti!1016
| * batching_split_before: Whitespace error fixIan Jackson2023-02-131-1/+1
| |
| * batching_split_before: Better xref for doc hiddenIan Jackson2023-02-131-0/+7
| | | | | | | | And another UNSTABLE warning.
| * batching_split_before: Clarify API sequential restrictionIan Jackson2023-02-131-4/+4
| |
| * batching_split_before: Fix and clarify Batches/LendingIterator docIan Jackson2023-02-131-2/+4
| |
| * batching_split_before: Introduce unit token typesIan Jackson2023-02-131-4/+18
| | | | | | | | And explain why we're not using booleans.
| * batching_split_before: Expand on the remaining use of "meta-iterator"Ian Jackson2023-02-131-1/+2
| |
| * batching_split_before: Fix link to BatchesWithHeader::subsequentIan Jackson2023-02-131-1/+1
| |
| * batching_split_before: Provide description for BatchesWithHeaderIan Jackson2023-02-131-0/+10
| |
| * batching_split_before: Document generics on our non-private typesIan Jackson2023-02-131-0/+9
| |
| * batching_split_before: Rename "prefix" to "header"Ian Jackson2023-02-132-24/+24
| | | | | | | | | | | | | | | | 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.
| * batching_split_before: Rename "start" to "batch-starting"Ian Jackson2023-02-131-27/+27
| | | | | | | | | | Roughly as per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1016#note_2877822
| * batching_split_before: Remove false assertions about batch contentsIan Jackson2023-02-131-4/+0
| |
| * batching_split_before: Clarify heading of BatchesWithPrefixIan Jackson2023-02-131-1/+1
| |
| * batching_split_before: docs improvements.Nick Mathewson2023-02-131-4/+8
| |
| * tor-netdoc: Use batching iterator in authcert.rsIan Jackson2023-02-102-62/+16
| | | | | | | | | | 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
| |
| * tor-netdoc: Provide new batching_split_beforeIan Jackson2023-02-103-0/+402
| | | | | | | | | | | | | | | | | | | | | | | | There will be two call sites to demonstrate it. Eventually maybe this will want to be in tor-basic-utils, since it doesn't depend on any of the tor-netdoc types. But it would be sensible to wait until the situation with PeekableIterator and Itertools is improved. For now we make this #[doc(hidden)] to avoid it becoming part of our stable API.
| * tor-netdoc: Provide NetDocReader::into_iterIan Jackson2023-02-101-0/+7
| | | | | | | | | | This will avoids some hairy borrowck disasters when we try to use iterator adapters.
| * tor-netdoc: util: use super::* in testsIan Jackson2023-02-101-2/+1
| | | | | | | | Not xure how my MR to try to do this everyone missed this one.
| * tor-netdoc: util: Add standard lint block to testsIan Jackson2023-02-101-0/+10
| | | | | | | | Not xure how my MR to try to do this everyone missed this one.
* | 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
| |
* | Add another test hsdesc to parse.Nick Mathewson2023-02-101-0/+223
|/ | | | | | | | | | | | | | | | | | | This one was generated (by dgoulet) using `ClientDescEncKey` encryption. Its information is: ``` Address: paozpdhgz2okvc6kgbxvh2bnfsmt4xergrtcl4obkhopyvwxkpjzvoad.onion Time period: 19397 Client: paozpdhgz2okvc6kgbxvh2bnfsmt4xergrtcl4obkhopyvwxkpjzvoad:descriptor:x25519:SDZNMD4RP4SCH4EYTTUZPFRZINNFWAOPPKZ6BINZAC7LREV24RBQ Service: descriptor:x25519:SACGOAEODFGCYY22NYZV45ZESFPFLDGLMBWFACKEO34XGHASSAMQ ```
* 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-083-10/+20
|
* 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;