summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Do not .gitignore crates/*/fuzz/corpusIan Jackson2023-01-201-1/+0
| | | | | These are symlinks which are actually checked in. They should not be ignored. (This caused trouble for some of my privsep tooling...)
* 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-064-1/+245
|
* 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-122-1/+2
|/
* Remove semver.md files now that 1.1.0 is released.Nick Mathewson2022-11-301-3/+0
|
* Bump the minor version of every crate.Nick Mathewson2022-11-301-7/+7
| | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* Merge branch 'more_netdoc_tests' into 'main'Ian Jackson2022-11-296-36/+323
|\ | | | | | | | | tor-netdoc: More tests for routerdesc accessors and parsing. See merge request tpo/core/arti!870
| * netdoc: Add a test for routerdesc family parsing.Nick Mathewson2022-11-171-0/+9
| |
| * netdoc: Correct and test some tricky routerdesc errorsNick Mathewson2022-11-175-2/+247
| | | | | | | | These required hex-editing identity certificates :P
| * netdoc: Add tests for routerdesc accessors.Nick Mathewson2022-11-171-1/+31
| |
| * Netdoc: use a different desc in tests.Nick Mathewson2022-11-172-34/+37
| | | | | | | | This is from Akka, which ahf runs.
* | Fix a couple of rustdoc issues.Nick Mathewson2022-11-181-2/+2
| | | | | | | | These slipped in while nightly was broken.
* | Fix a bunch of "needless borrow" warnings on nightlyNick Mathewson2022-11-181-1/+1
|/ | | | | It looks like, despite a few false starts, they've got this warning right; there weren't any false positives.
* Merge branch 'real_netdoc_pos' into 'main'Ian Jackson2022-11-162-21/+15
|\ | | | | | | | | | | | | Replace `Option<Pos>` with `Pos` in `ParseError`. Closes #640 See merge request tpo/core/arti!859
| * Replace `Option<Pos>` with `Pos` in `ParseError`.Nick Mathewson2022-11-152-21/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have `Pos::Unknown` for an error at an unknown location and `Pos::None` for an error where no location is sensible. There's no reason to have an additional `Option` here. Additionally, the use of `Option` gave us a bug where our old `ParseError::at_pos()` method didn't actually set the position unless the position was already set. That's not what we want! Fixes #640. Finally, we have to fix a test that was a bit broken because it was working around #640.
* | Remove a `TODO pt-client` in netdoc.Nick Mathewson2022-11-151-2/+0
|/ | | | This issue is now torspec!94.
* Resolve a dead-code warning.Nick Mathewson2022-11-151-0/+1
|
* netdoc: Allow empty lines at the end of a router descriptor.Nick Mathewson2022-11-152-3/+34
|
* tor-netdoc: Add a new ErrorKind for EmptyLine.Nick Mathewson2022-11-153-2/+8
| | | | | Empty lines were previously reported as BadKeyword, which is confusing.
* Merge branch 'guardmgr-todo-misc' into 'main'Nick Mathewson2022-11-102-0/+11
|\ | | | | | | | | Resolve most "TODO pt-client" comments in GuardMgr See merge request tpo/core/arti!840
| * RouterDesc: Add an or_ports method.Nick Mathewson2022-11-102-0/+11
| |
* | Upgrade to serde_with 2, phf 0.11. Closes #526.Nick Mathewson2022-11-101-2/+2
| |
* | Upgrade to tinystr 0.7. Closes #591.Nick Mathewson2022-11-101-1/+1
| |
* | bump rust-version to 1.60 in every crate.Nick Mathewson2022-11-101-1/+1
|/
* Merge branch 'store-yak-misc' into 'main'eta2022-11-081-0/+5
|\ | | | | | | | | Small misc yaks for bridge descriptor persistence See merge request tpo/core/arti!828
| * tor-netdoc: RouterDesc: Add published accessorIan Jackson2022-11-041-0/+5
| | | | | | | | The bridge descriptor manager is going to want this.
* | Fix typosDimitris Apostolou2022-11-062-2/+2
|/
* Run add_warnings.Nick Mathewson2022-11-031-0/+1
|
* Merge branch 'edition-2021' into 'main'eta2022-11-031-1/+1
|\ | | | | | | | | set all crate edition to 2021 See merge request tpo/core/arti!822
| * set all crate edition to 2021trinity-1686a2022-11-011-1/+1
| |
* | Require derive_more 0.99.3Ian Jackson2022-11-031-1/+1
|/ | | | | | | | 0.99.[012] have a bug https://github.com/JelteF/derive_more/issues/114 which makes the Deref derive for bridgedesc::StateGuard not work and therefore breaks minimal-versions CI. It seems simpler to require the newer version everywhere.
* Fix some rustdoc errors.Nick Mathewson2022-10-131-2/+2
| | | | | | In addition to the usual "You named that method wrong!" errors, we have a new rustdoc error that complains about bogus "HTML tags" that are actually unquoted usage of types like `Result<Foo>`.
* cargo fmt to remove blank linesIan Jackson2022-10-121-1/+0
| | | | | | | Apparently cargo fmt doesn't like these, which my perl rune didn't delete. This commit is precisely the result of `cargo fmt`.
* Replace all README copies in src/lib.rs with includesIan Jackson2022-10-121-51/+1
| | | | | | | | The feature we want is `#[doc = include_str!("README.md")]`, which is stable since 1.54 and our MSRV is now 1.56. This commit is precisely the result of the following Perl rune: perl -i~ -0777 -pe 's{(^//!(?!.*\@\@).*\n)+}{#![doc = include_str!("../README.md")]\n}m' crates/*/src/lib.rs
* netdoc: Add accessors for protocols and ntor key.Nick Mathewson2022-10-041-0/+11
| | | | | These are needed to actually be able to build circuits through a bridge.