aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | netdoc: Implement onion service descriptor parsers.Nick Mathewson2023-02-072-45/+183
| |
* | netdoc: Parse the inner layer of an onion service descriptor.Nick Mathewson2023-02-072-0/+352
| | | | | | | | | | | | | | | | | | 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.
* | netdoc: Add a workaround for C Tor's lack of mid-layer NLNick Mathewson2023-02-072-2/+6
| | | | | | | | | | | | | | 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.
* | netdoc: Parse the middle layer of a hsdesc, and decrypt it.Nick Mathewson2023-02-073-0/+259
| |
* | netdoc: Use correct size for descriptor encryption cookieNick Mathewson2023-02-071-2/+2
| |
* | netdoc: move test descriptor to a higher level test moduleNick Mathewson2023-02-072-6/+12
| | | | | | | | | | We're going to make use of it in all of our tests, so we may as well expose it to them from hsdesc::test.
* | netdoc: implement onion service descryptor encryptionNick Mathewson2023-02-072-9/+221
| | | | | | | | | | This is tested via a round-trip check, and via a successful decryption of our example descriptor's outer layer.
* | netdoc: Parser for outer layer of onion service descriptors.Nick Mathewson2023-02-072-0/+255
| |
* | netdoc: Derive Debug and Clone on HsDesc and its kin.Nick Mathewson2023-02-071-0/+3
|/
* tor-netdoc: Suppress a cfg-dependent dead code warningIan Jackson2023-02-011-0/+1
| | | | | This is dead code when cargo +stable clippy -p tor-netdir --all-features --all-targets
* Use derive_more on SharedRandValNick Mathewson2023-01-281-13/+4
| | | | | This may be temporary if we wind up converting to CtByteArray, but for now it's good to be terse.
* Several suggestions on gitlab.Ian Jackson2023-01-282-3/+8
|
* netdoc: Add Eq and a note to SharedRandVal.Nick Mathewson2023-01-281-1/+3
|
* netdoc: Add SRV accessors.Nick Mathewson2023-01-281-2/+34
| | | | | | | These are deliberately unsophisticated accessors, in that they return Option<> rather than filling in missing values with the documented fallbacks. It seems better to leave a way to distinguish the absent case in the API.
* netdoc: Add a timestamp to SRVs per prop#342.Nick Mathewson2023-01-282-7/+54
| | | | | This breaks some experimental APIs, but since they are experimental no semver note is needed.
* netdoc: Add Iso8601 time _with_ a "T" as an argument type.Nick Mathewson2023-01-281-3/+30
|
* Fix typosDimitris Apostolou2023-01-281-2/+2
|
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-2718-0/+18
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Elide a bunch of lifetimes.Nick Mathewson2023-01-272-6/+6
| | | | | Clippy now warns about these; I'm not sure how these warnings snuck up on us.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* Add missing docsrs attributeIan Jackson2023-01-241-0/+1
|
* netdoc builder: Add two TODOs, prompted by testing experienceIan Jackson2023-01-241-0/+6
|
* netdoc builder test: Make a bigger dummy document and test reparsingIan Jackson2023-01-241-2/+26
|
* netdoc builder: Implement object() and add one test caseIan Jackson2023-01-242-2/+50
|
* netdoc-builder: Initial test case (no object yet)Ian Jackson2023-01-241-0/+47
|
* netdoc-builder: Provide new() methodIan Jackson2023-01-241-0/+7
|
* netdoc-builder: Implement ItemArgument for more needed typesIan Jackson2023-01-241-5/+44
|
* netdoc-builder: Remove some obsolete commentsIan Jackson2023-01-241-11/+0
|
* netdoc-builder: Move example into implementation doc commentIan Jackson2023-01-241-2/+16
| | | | Not actually tested yet
* netdoc-builder: Implement most of the internal general doc builderIan Jackson2023-01-241-23/+83
|
* netdoc-builder api: Clarify docs for object()Ian Jackson2023-01-241-3/+8
|
* netdoc-builder api: Introduce ItemArgument traitIan Jackson2023-01-241-2/+32
|
* netdoc-builder api: Have .item() return ItemBuilderIan Jackson2023-01-241-1/+1
| | | | This was a slip in the design doc.
* netdoc-builder api: Abolish `K` generic on ItemEncoderIan Jackson2023-01-241-5/+7
| | | | | We're going to eagerly encode the keyword, so this will be easy. Removing the generic simplifies the API.
* netdoc-builder api: Don't promise to check args_raw_string valueIan Jackson2023-01-241-3/+0
|
* netdoc-builder api: Make ItemEncoder methods consume and return selfIan Jackson2023-01-241-2/+13
| | | | | | This will actually make the pattern in the example work. The mentioned `ItemArgument` trait will arrive soon.
* netdoc-builder api: Move internal API into actual code file (fmt)Ian Jackson2023-01-241-6/+7
|
* netdoc-builder api: Move internal API into actual code fileIan Jackson2023-01-242-0/+179
| | | | Motion, plus the bare minimum needed to make it compile.
* tor-netdoc: tokenize: Provide BASE64_PEM_MAX_LINEIan Jackson2023-01-241-0/+3
| | | | We'll use this in the netdoc builder, but it naturally lives here.
* tor-netdoc: tokenize: Rename to tag_keywords_ok, document, exposeIan Jackson2023-01-241-3/+3
| | | | | | | | | 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.
* tor-netdoc: tokenize: crate-Expose object::BEGIN_STR etc.Ian Jackson2023-01-241-6/+11
| | | | The document builder wants these too.
* tor-netdoc: Make AuthCertKwd pub(crate)Ian Jackson2023-01-241-1/+1
| | | | For now, this will be useful in a test.
* Netdoc: Refactor SharedRandVal.Nick Mathewson2023-01-113-27/+37
| | | | | | | | SharedRandVal now holds only the 32-byte random value itself; the "number of commits" field is in SharedRandStatus. This commit also makes the SharedRandVal be exactly 32 bytes, since we've set it to that value in the spec.
* netdoc: Outline some basic types for encoding HsDescs.Nick Mathewson2023-01-063-0/+235
|
* netdoc: note some changes we will have to make to srvNick Mathewson2023-01-061-0/+6
|
* Merge branch 'test-lints' into 'main'eta2023-01-0617-0/+137
|\ | | | | | | | | Add test lint blocks to all "mod test" See merge request tpo/core/arti!937
| * test lint blocks: Add many many automaticallyIan Jackson2022-12-1216-0/+129
| | | | | | | | | | This is precisely the result of running the rune in maint/adhoc-add-lint-blocks.
| * test lint blocks: Do some semi-manuallyIan Jackson2022-12-121-0/+8
| | | | | | | | | | | | | | This is the hunks from running the rune in maint/adhoc-add-lint-blocks but which require some subsequent manual fixup: usually, deleting now-superfluous outer allows, but in some cases manually putting back lints that the adhoc script deleted.
* | Use parse_rfc3339() in the tor-netdoc crateNeel Chauhan2022-12-162-4/+5
| |
* | Tackling issue #663 (Use humantime in tests)coral2022-12-121-1/+1
|/