summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc/src
Commit message (Collapse)AuthorAgeFilesLines
* Work around a new nightly clippy warningNick Mathewson2022-09-303-17/+22
| | | | | | | | | | | | | | The warning `clippy::bool_to_int_with_if` is meant to shout at you when you say `if x { 1 } else { 0 }` and instead suggest that you say `inttype::from(x)`. I agreed with this for the case in tor-cert, where we are literally converting a boolean into a flag. I don't agree with this in tor-netdoc, where we are using a boolean to decide how many fields to skip in a given document format. So for this case, I decided to clean up the code a little by renaming "skip" to "n_skip", and changing the boolean to use an enum instead.
* Make RouterDesc implement Clone and Debug.Nick Mathewson2022-09-261-0/+1
| | | | Their omission was an oversight.
* add feature annotation to fields made visible through visible::StructFieldstrinity-1686a2022-08-245-0/+69
|
* add feature annotation not added by doc_auto_cfgtrinity-1686a2022-08-246-1/+7
|
* enable doc_auto_cfg feature on every crate when documenting for docs.rstrinity-1686a2022-08-241-0/+1
|
* tor-netdoc: NetParams: impl FromIteratorIan Jackson2022-08-161-0/+8
| | | | | Otherwise a caller who has a set of parameters must open-code the loop.
* fix nighly clippytrinity-1686a2022-07-232-6/+2
|
* change usage of PublicKey to Ed25519 in tor-certtrinity-1686a2022-07-232-9/+11
| | | | and propagate to other affected crates
* change check_key to take a Option<&_> instead of &Option<_>trinity-1686a2022-07-231-2/+2
|
* Fix clippy needless derefIan Jackson2022-07-061-3/+3
|
* tor-netdoc: b64 tests: add exhaustive roundtrip testIan Jackson2022-07-061-0/+42
|
* Bump `base64ct` crate `1.5.0` -> `1.5.1`Arturo Marquez2022-06-271-18/+6
| | | | | | This new release checks for invalid symbols in non-padded inputs for decoding. Therefore, we can get rid of the logic implemented in `https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/600`
* Merge branch 'clippy' into 'main'Ian Jackson2022-06-241-0/+3
|\ | | | | | | | | Fix clippy nightly again See merge request tpo/core/arti!603
| * Run maint/add_warning crates/*/src/{lib,main}.rsIan Jackson2022-06-231-0/+3
| | | | | | | | Update all lint blocks
* | Merge branch 'error_cleanup_2' into 'main'eta2022-06-242-5/+18
|\ \ | | | | | | | | | | | | Error refactoring: bytes, cert, proto. See merge request tpo/core/arti!604
| * | tor-proto: split and elaborate tor_bytes::Error instancesNick Mathewson2022-06-232-5/+18
| |/ | | | | | | | | | | | | | | | | Some of these were for decoding particular objects (we now say what kind of objects), and some were unrelated tor_cert errors that for some reason we had shoved into a tor_bytes::Error. There is now a separate tor_cert::CertError type, independent from tor_cert's use of `tor_bytes::Error` for parsing errors.
* | base64: Move some tests into a separate function, placating clippyIan Jackson2022-06-231-11/+15
| |
* | base64: Add yet more test casesIan Jackson2022-06-231-0/+17
| |
* | Add some more test cases for base64Arturo Marquez2022-06-221-0/+17
| | | | | | | | | | These tests are borrowed from other parts of the `tor-netdoc` crate.
* | Improve base64 testsArturo Marquez2022-06-221-1/+13
| | | | | | | | Request for changes: `https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/600#note_2816252`
* | Add link to upstream issueArturo Marquez2022-06-221-1/+3
| | | | | | | | As per request, here: `https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/600#note_2816252`
* | Replace `base64` crate with `base64ct` crateArturo Marquez2022-06-212-7/+24
|/ | | | | | | Note: the `base64ct` crate rejects invalid characters when the decoding is done on padded strings. However, the `FromStr` impl for `B64` can have both padded **and** unpadded inputs, so all inputs are now padded first, before decoding.
* Add a configuration option for reachable_addrsNick Mathewson2022-06-171-0/+8
| | | | (This doesn't do anything yet.)
* NetDoc: Make AddrPortPattern implement serde traitsNick Mathewson2022-06-171-1/+29
| | | | | | I'm using serde_with here to just re-use the Display and FromStr implementations, since those are what has proven easier to type in the past.
* Make AddrPortPattern and friends implement Eq and PartialEqNick Mathewson2022-06-171-2/+2
|
* Add one more "allow" to tor_netdoc::parse::macros.Nick Mathewson2022-06-151-0/+1
| | | | | Without this, clippy is error-free, but `cargo test` somehow gives a warning.
* Netdoc tests: extract decode-base64-ignore-ws code.Nick Mathewson2022-06-071-10/+13
|
* microdesc: make sure we recover from an error in the final md.Nick Mathewson2022-06-071-1/+7
| | | | | | | | (This is slightly different from recovering from errors in the middle of a list of mds, since in this case we _can't_ advance to the next md.) Also, note that a given branch is probably not reachable.
* netdoc: test case for microdesc with no ed25519 id.Nick Mathewson2022-06-071-0/+1
| | | | | The "bad-id" microdescriptor is hand-edited based on one from a Chutney network.
* netdoc: test a couple of accessors for AuthCert.Nick Mathewson2022-06-071-1/+11
|
* Netdoc: test enforcement for items that mustn't take objects.Nick Mathewson2022-06-071-0/+6
| | | | Found via coverage.
* netdoc: remove an unused method.Nick Mathewson2022-06-071-12/+0
|
* netdoc: Test more accessors for tokenized documents.Nick Mathewson2022-06-072-4/+20
|
* Netdoc: add accessor to error for ParseErrorKindNick Mathewson2022-06-071-0/+5
| | | | | The kind type was already public, but we didn't give the user any way to get it.
* netdoc: tests for parsing UnvalidatedEdCert.Nick Mathewson2022-06-071-1/+47
|
* Tests for netdoc RsaPublic type.Nick Mathewson2022-06-071-2/+37
|
* Fix a copy-paste error in Ed25519 parsing tests.Nick Mathewson2022-06-011-3/+3
| | | | | We accidentally tried to validate (invalid) ed25519 keys as curve25519 keys.
* Add test for parsing bad tor version with too many elements.Nick Mathewson2022-06-011-0/+1
| | | | This is a coverage-driven test.
* Add test for mutability of RelayFamily.Nick Mathewson2022-06-011-0/+9
|
* Tests for tor_netdoc::util::internNick Mathewson2022-06-011-0/+33
|
* lints: Add let_unit_value allow to all cratesIan Jackson2022-05-311-0/+1
| | | | | From running add_warning, with manual picking of the right hunks/lines.
* lints: Add lint block delimiters to every crateIan Jackson2022-05-311-0/+2
| | | | | | This was the result of: maint/add_warning crates/*/src/{lib,main}.rs and then manually curating the results.
* lints: Suppress unknown lints in a way that works on nightly tooIan Jackson2022-05-311-2/+4
| | | | This is ridiculous.
* tor-netdoc: Allow suppressing unknown lintsIan Jackson2022-05-271-0/+2
| | | | | We want to supress the unused_macro_rules lint in one place but it's new in Nightly and this triggers yet another lint.
* tor-netdoc: Suppress new "unused_macro_rules" lint in one placeIan Jackson2022-05-271-0/+1
| | | | | | | The compiler can apparently tell that we aren't generating compile errors! Also that we're not yet using a feature provided here. (New lint in currently Nightly.)
* Resolve the new `derive_partial_eq_without_eq` lint.Nick Mathewson2022-05-234-4/+4
| | | | It's a little overzealous sometimes, but it's mostly to the good.
* Fix typoDimitris Apostolou2022-05-141-1/+1
|
* tor-netdoc: Add a Lifetime::valid_at method.Nick Mathewson2022-05-111-0/+4
|
* netdoc: add a new type for NicknamesNick Mathewson2022-05-095-11/+95
| | | | | | | | | | Relay nicknames are always between 1 and 19 characters long, and they're always ASCII: That means that storing them in a [u8;19] will always be possible, and always use less resources than storing them in a String. Fortunately, the tinystr crate already helps us with this kind of thing.
* NetParams: Document its role as a validated config parameterIan Jackson2022-05-091-0/+3
|