Commit Graph

7761 Commits

Author SHA1 Message Date
Nick Mathewson 17273d38d9 Make rsa::PublicKey derive Debug. 2020-10-02 14:03:15 -04:00
Nick Mathewson 98b4e004a7 Remove an unwrap() from tor-cert. 2020-10-02 12:05:16 -04:00
Nick Mathewson e0941523eb Use batch verification in client<->relay handshake. 2020-10-02 12:01:46 -04:00
Nick Mathewson 610739c139 Enable batch ed25519 verification. 2020-10-02 11:53:50 -04:00
Nick Mathewson 8c2aae10f7 netdoc: remove some outdated/unused stuff. 2020-10-02 11:21:59 -04:00
Nick Mathewson 1adc6c40fb authcert: test error recovery. 2020-10-02 10:59:55 -04:00
Nick Mathewson 38685d3cc1 Netdoc: use a more bulletproof pattern to prevent infinite loops
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.
2020-10-02 10:15:14 -04:00
Nick Mathewson 4a1f319ffe authcert: add tests for several ways certs can fail. 2020-10-02 09:50:47 -04:00
Nick Mathewson 17e82a50c2 authcert: fix an error, and detect mismatched fingerprints 2020-10-02 09:49:27 -04:00
Nick Mathewson e6ba2ac8ed netdoc: rename BadVersion to BadTorVersion for clarity 2020-10-01 10:23:22 -04:00
Nick Mathewson 5ff859b89d improve errors in authcert.rs 2020-10-01 10:21:25 -04:00
Nick Mathewson a5f382aa61 Remove redundant signature check in authcert parsing. 2020-09-30 18:50:31 -04:00
Nick Mathewson d4d3e1c3db More tests on parsing, plus remove dead code. 2020-09-30 18:46:27 -04:00
Nick Mathewson c4d0ffa859 Start on some parser backend tests 2020-09-30 14:20:01 -04:00
Nick Mathewson 035e0422d9 tokenize: accept base64 with funny linewraps. 2020-09-30 14:19:07 -04:00
Nick Mathewson b57692aacd README edits 2020-09-30 10:51:31 -04:00
Nick Mathewson 9cab4e0f14 More tests for tokenize.rs, with some bugfixes 2020-09-30 09:39:52 -04:00
Nick Mathewson 59c46ec27b Start on some tests for parse::tokenize.rs 2020-09-29 17:30:48 -04:00
Nick Mathewson aafef113b3 Add tests for macros module in tor-netdoc.
Also improve output for multi-keyword tokens.
2020-09-29 17:02:56 -04:00
Nick Mathewson beee7a7f2a cargo upgrade 2020-09-29 16:43:16 -04:00
Nick Mathewson d0bed5e647 Throw a rudimentary CLI onto client-demo. 2020-09-29 16:42:27 -04:00
Nick Mathewson 91b7c7b874 Tests and minor debugging in tor_netdoc::types::policy 2020-09-29 11:34:07 -04:00
Nick Mathewson e02cccdf00 More tests for tor_netdoc::types 2020-09-29 10:15:08 -04:00
Nick Mathewson 788e0347cb Move around the modules inside tor-netdoc.
This change just gives them a more logical breakdown into parsing,
documents, and misc other types.
2020-09-29 09:05:17 -04:00
Nick Mathewson b0a53d4d40 Move RelayCell into a more reasonable place. 2020-09-29 08:43:13 -04:00
Nick Mathewson 5844037f89 Remove idmap as needlessly complex. 2020-09-29 08:24:51 -04:00
Nick Mathewson 5bb01ba305 make it work on rust 1.45 2020-09-28 21:57:29 -04:00
Nick Mathewson 8d5957ca4b test vectors for cell crypto. 2020-09-28 21:36:10 -04:00
Nick Mathewson f43db0d048 Mark most of the cell crypto code as crate-local. 2020-09-28 18:20:16 -04:00
Nick Mathewson 56101a0673 Add a round-trip test for cell encryption. 2020-09-28 18:16:30 -04:00
Nick Mathewson 3bcd647263 tor-cert: comment out cert-generation code
This won't be used until we have onion service or relay support.
2020-09-28 16:19:23 -04:00
Nick Mathewson 98ab84e774 Rename remaining get_ accessors 2020-09-28 16:13:14 -04:00
Nick Mathewson 9b276e6a5a tor_cert: rename accessors 2020-09-28 16:01:33 -04:00
Nick Mathewson 22c84aeaf6 Tests for CircTarget::linkspecs() 2020-09-28 15:53:23 -04:00
Nick Mathewson 05da5a7f73 Rename some identifiers in tor-linkspec.
By convention, rust accessor functions don't start with 'get'.
2020-09-28 15:29:39 -04:00
Nick Mathewson 3b3a6736f6 Rename ExtendTarget to CircTarget. 2020-09-28 15:22:24 -04:00
Nick Mathewson 079b38a609 Rewrite the TODO file. 2020-09-28 15:04:25 -04:00
Nick Mathewson 190d9e38f2 Tests for tor-cert 2020-09-28 12:02:32 -04:00
Nick Mathewson 52016aa35b A few more unit tests for tor-cell 2020-09-28 11:01:59 -04:00
Nick Mathewson 397d753e4e Fix a few clippy issues 2020-09-27 03:30:09 -04:00
Nick Mathewson 2feb750ba1 fix fuzzing targets that broke from recent refactoring 2020-09-27 03:16:53 -04:00
Nick Mathewson 34fb048e25 Tests for relay cell encoding/decoding. 2020-09-27 02:17:37 -04:00
Nick Mathewson 4ea9bb6153 Tests for channel-cell codec 2020-09-27 01:37:28 -04:00
Nick Mathewson eba1d796fb Add tests for certs cell accessors 2020-09-27 00:46:52 -04:00
Nick Mathewson 13edb7b10e Test a few more channel cell types. 2020-09-27 00:35:26 -04:00
Nick Mathewson 096f0d499f test ipv6 connected cell 2020-09-27 00:09:42 -04:00
Nick Mathewson 31b8d95c2f Tests for Unrecognized and Data relay messages 2020-09-27 00:01:55 -04:00
Nick Mathewson 7096a6b774 Add tests for END_REASON_EXITPOLICY messages. 2020-09-26 23:44:57 -04:00
Nick Mathewson a0a3004a82 More tests for begin cells, plus fixes 2020-09-26 23:38:22 -04:00
Nick Mathewson 207a971cd2 add a spec conformance comment 2020-09-26 19:27:15 -04:00