summaryrefslogtreecommitdiff
path: root/tor-netdoc/src/parse
Commit message (Collapse)AuthorAgeFilesLines
* Fix some warnings about needless & from nightly clippyNick Mathewson2021-06-181-1/+1
|
* Use the "typos" tool to fix some spellingNick Mathewson2021-05-261-1/+1
|
* Add the "unreachable_pub" lint.Nick Mathewson2021-05-184-58/+73
| | | | | | This is a somewhat obnoxious change in its scope and requirements, but it makes it easier to understand what the real public and private parts of our APIs are.
* Fix a bunch more new clippy lints in Rust 1.51Nick Mathewson2021-03-291-0/+1
| | | | | | | | The major types are: * You implemented Into when you should have implemented From. * You sliced a slice when you didn't have to. * You said Ok(x?) when you could have said x. * You said Vec::new(); push(); push(); when you could have said vec![].
* Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-291-0/+2
| | | | This is painful, but we shouldn't have to do it again.
* Migrate from lazy_static to once_cell.Nick Mathewson2020-12-222-20/+17
|
* Resolve a few nightly-only clippy issuesNick Mathewson2020-12-071-7/+1
|
* Run cargo fix --edition-idiomsNick Mathewson2020-12-022-4/+4
|
* netdoc: split off string utilsNick Mathewson2020-11-141-1/+1
|
* Calculate digest correctly when microdesc ends with base64 object.Nick Mathewson2020-10-191-3/+10
|
* Netdoc: validate objects even on unrecognized items.Nick Mathewson2020-10-194-10/+38
|
* Mark must-resolve XXXX issues with "XXXXM3".Nick Mathewson2020-10-182-2/+2
| | | | | | | | | | "M3" is for "milestone 3" -- my target to fix the technical debt that I think will be bad if we ship even a pre-alpha with it. These aren't necessarily _all_ must-resolve, but they're all must-look-at. Closes #15
* Document most private items in tor-netdoc.Nick Mathewson2020-10-094-4/+52
|
* Tokenize: report accurate positions for more parsing errorsNick Mathewson2020-10-021-2/+18
|
* Netdoc: use a more bulletproof pattern to prevent infinite loopsNick Mathewson2020-10-021-0/+10
| | | | | | | | | | | | | | | | Previously our "read a bunch of this kind of document" functions had a common problem, where they could get into an infinite loop if the underlying "read this kind of document" function failed without consuming any tokens. I _think_ that this error case was unreachable (or else fuzzing would have found it, right?), but proving that it was unreachable was a bit fiddly, and I couldn't follow my own arguments about it. Instead, we just store the position of the reader before we start reading, and make sure that it has consumed at least some data. If it hasn't, then we consume and drop a token before advancing to the next document.
* More tests on parsing, plus remove dead code.Nick Mathewson2020-09-302-20/+56
|
* Start on some parser backend testsNick Mathewson2020-09-301-0/+77
|
* tokenize: accept base64 with funny linewraps.Nick Mathewson2020-09-301-3/+3
|
* More tests for tokenize.rs, with some bugfixesNick Mathewson2020-09-301-46/+184
|
* Start on some tests for parse::tokenize.rsNick Mathewson2020-09-292-2/+58
|
* Add tests for macros module in tor-netdoc.Nick Mathewson2020-09-291-4/+57
| | | | Also improve output for multi-keyword tokens.
* Move around the modules inside tor-netdoc.Nick Mathewson2020-09-295-0/+1215
This change just gives them a more logical breakdown into parsing, documents, and misc other types.