summaryrefslogtreecommitdiff
path: root/tor-netdoc/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Tokenize: report accurate positions for more parsing errorsNick Mathewson2020-10-021-2/+18
|
* microdesc parsing: tests for bad microdescsNick Mathewson2020-10-021-0/+45
|
* tests and fixes for md content parsingNick Mathewson2020-10-021-11/+43
|
* netdoc: remove some outdated/unused stuff.Nick Mathewson2020-10-022-12/+6
|
* authcert: test error recovery.Nick Mathewson2020-10-021-10/+36
|
* Netdoc: use a more bulletproof pattern to prevent infinite loopsNick Mathewson2020-10-025-15/+84
| | | | | | | | | | | | | | | | 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.
* authcert: add tests for several ways certs can fail.Nick Mathewson2020-10-021-1/+38
|
* authcert: fix an error, and detect mismatched fingerprintsNick Mathewson2020-10-021-4/+14
|
* netdoc: rename BadVersion to BadTorVersion for clarityNick Mathewson2020-10-012-7/+7
|
* improve errors in authcert.rsNick Mathewson2020-10-012-12/+30
|
* Remove redundant signature check in authcert parsing.Nick Mathewson2020-09-301-4/+0
|
* 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-302-47/+192
|
* Start on some tests for parse::tokenize.rsNick Mathewson2020-09-294-4/+60
|
* Add tests for macros module in tor-netdoc.Nick Mathewson2020-09-291-4/+57
| | | | Also improve output for multi-keyword tokens.
* Tests and minor debugging in tor_netdoc::types::policyNick Mathewson2020-09-294-23/+250
|
* More tests for tor_netdoc::typesNick Mathewson2020-09-294-4/+264
|
* Move around the modules inside tor-netdoc.Nick Mathewson2020-09-2920-337/+346
| | | | | This change just gives them a more logical breakdown into parsing, documents, and misc other types.
* Rename remaining get_ accessorsNick Mathewson2020-09-287-130/+124
|
* tor_cert: rename accessorsNick Mathewson2020-09-283-4/+4
|
* Rename some identifiers in tor-linkspec.Nick Mathewson2020-09-281-3/+3
| | | | By convention, rust accessor functions don't start with 'get'.
* Fix a few clippy issuesNick Mathewson2020-09-271-2/+2
|
* Give up on suppressing that nightly-only clippy warningNick Mathewson2020-09-181-6/+2
|
* Make consensus documents valid DistDelay seconds earlier.Nick Mathewson2020-09-181-1/+4
| | | | | This will prevent arti from hitting the same issue as https://gitlab.torproject.org/tpo/core/tor/-/issues/25756
* Resolve some nightly-only clippy warningsNick Mathewson2020-09-172-1/+3
|
* Fix a panic bug in microdesc parsing.Nick Mathewson2020-09-172-1/+4
| | | | | | | | Found by fuzzing! The issue was that we were relying on the arguments slice being within the input string, but we were sometimes using a different _empty_ slice when there were no arguments. I've noted a better solution in a comment.
* use more correct expiration timesNick Mathewson2020-09-171-3/+2
|
* New "linkspec" module to encapsulate info needed to connect/extend.Nick Mathewson2020-09-081-0/+8
|
* Start on accessors for relay weight.Nick Mathewson2020-09-081-1/+25
|
* Refactor timerangebound to unwrap bounds earlier.Nick Mathewson2020-09-083-6/+3
| | | | This will make them easier to adjust
* Bugfix: parse ed25519 ids right in mdsNick Mathewson2020-09-081-2/+2
|
* Netdir: a few more accessorsNick Mathewson2020-09-081-1/+1
|
* netdoc: add a few accessorsNick Mathewson2020-09-072-2/+42
|
* Fix clippy warnings; improve key type for consensus.Nick Mathewson2020-09-072-2/+2
|
* netdoc: ignore bad entries in families.Nick Mathewson2020-09-071-0/+4
| | | | Some of these are nicknames, which we can safely ignore.
* Start on a 'netdir' crate to wrap netdoc.Nick Mathewson2020-09-072-2/+19
| | | | For now, this assumes an existing Tor cache directory.
* Make MDConsensus also follow the checkable pattern.Nick Mathewson2020-09-031-14/+92
|
* Port authcert to use tor_checkable.Nick Mathewson2020-09-034-28/+55
|
* Migrate certificate and routerdesc checking to tor-checkableNick Mathewson2020-09-033-80/+104
| | | | | Now these types are parsed and returned wrapped inside a checkable object.
* netdoc: Parser for microdesc consensus documentsNick Mathewson2020-08-275-0/+1143
| | | | | There's more to do here, and things to refactor, but this ought to be enough to get a rudimentary client working.
* netdoc: parse multiple authcerts from a string.Nick Mathewson2020-08-272-0/+42
|
* netdoc: add a check_len method for B64Nick Mathewson2020-08-261-0/+11
|
* Add a B16 argument type, to mirror B64.Nick Mathewson2020-07-201-0/+29
|
* More parsing for fingerprints, including non-spaced fingerprints.Nick Mathewson2020-07-201-4/+22
|
* tor-netdoc: Make SectionRules derive Clone.Nick Mathewson2020-07-201-0/+1
| | | | | | This is going to come in handy for the networkstatus stuff, where I need to define different variants of SectionRules for votes and consensuses.
* Update to latest packages; ed25519 now needs signature crate traits.Nick Mathewson2020-07-201-0/+1
|
* Run cargo fix --edition-idiomsNick Mathewson2020-06-261-1/+1
|
* Mark a variable unusedNick Mathewson2020-06-121-1/+1
|