summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* rename relaycell stuff to its own module; rename a bitNick Mathewson2020-09-066-61/+61
|
* proto: Finish documenting chancellNick Mathewson2020-09-063-21/+196
|
* proto: small err cleanupsNick Mathewson2020-09-065-49/+35
|
* proto: make write_body_onto destructive. That might help down the roadNick Mathewson2020-09-062-19/+18
|
* Reinstate ChanCell as a meaningful type.Nick Mathewson2020-09-062-24/+24
|
* proto: major refactor to channel cellsNick Mathewson2020-09-068-758/+832
| | | | | | | The protocol is now based around a message-oriented scheme intended to use futures_codec, which in turn uses BytesMut. The transition to BytesMut is incomplete, and we're not nearly so zero-copy as intended. We should think about that.
* tor-bytes: Add initial support for the bytes crateNick Mathewson2020-09-053-0/+17
|
* 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-039-131/+255
| | | | | Now these types are parsed and returned wrapped inside a checkable object.
* checkable: Add a simple type for self-signed objects.Nick Mathewson2020-09-033-0/+36
|
* llcrypto: Define a "ValidatableSignature" typeNick Mathewson2020-09-033-1/+68
| | | | | This type wraps a signature, a public key, and the signed object. It's meant to be useful for implementing SelfSigned objects.
* New module with traits for time-bound and signed objectsNick Mathewson2020-09-014-0/+218
| | | | | | | | | | | Too often I've been writing code that defers timeliness checking to an is_valid_at() method [which you'd better call or else whoops] and which does signature checking while parsing [not great for performance]. Instead, let's make return types where you can't get at the interior object without first either checking the signatures/timeliness, or declaring that (dangerously) you don't care.
* WANT_FROM_OTHER_CRATES: observations on tlsNick Mathewson2020-09-011-2/+13
|
* Implement an ersatz hash() for RSAIdentityNick Mathewson2020-08-281-1/+7
| | | | | For whatever reason, something I had didn't like me implementing a custom PartialEq but deriving Hash
* Run cargo-upgrade.Nick Mathewson2020-08-285-21/+20
|
* llcrypto: add test vectors for sha3 and shakeNick Mathewson2020-08-281-1/+147
|
* Small readme editNick Mathewson2020-08-281-2/+3
|
* netdoc: Parser for microdesc consensus documentsNick Mathewson2020-08-277-0/+1375
| | | | | There's more to do here, and things to refactor, but this ought to be enough to get a rudimentary client working.
* llcrypto: make RSAIdentity implement the Hash trait.Nick Mathewson2020-08-271-1/+1
|
* 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
|
* Expose Protocols::new() as public.Nick Mathewson2020-07-201-1/+1
|
* 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-209-25/+33
|
* Run cargo fix --edition-idiomsNick Mathewson2020-06-263-3/+3
|
* Run "cargo update".Nick Mathewson2020-06-214-5/+5
|
* Use "cargo upgrade" from cargo-edit to list current versionsNick Mathewson2020-06-126-59/+48
|
* Upgrade to latest version of rsa crateNick Mathewson2020-06-121-13/+13
|
* Merge remote-tracking branch 'official/main' into mainNick Mathewson2020-06-121-14/+14
|\
| * curate WANT_FROM_OTHER_CRATESNick Mathewson2020-06-121-14/+14
| |
* | Mark a variable unusedNick Mathewson2020-06-121-1/+1
| |
* | Add documentation for authcert parsing.Nick Mathewson2020-06-112-2/+22
|/
* update to use latest rust-crypto traits and modulesNick Mathewson2020-06-1011-42/+45
|
* Add a couple of commits missing from previous.Nick Mathewson2020-06-092-0/+6
|
* netdoc: initial implementation of authority certs.Nick Mathewson2020-06-092-0/+242
|
* netdoc: note a forward-compatibility issue with RSA signatures.Nick Mathewson2020-06-092-0/+2
|
* netdoc: when parsing from a string, detect extra tokensNick Mathewson2020-06-093-4/+15
|
* Netdoc: allow parsing multiple routerdescs from a string.Nick Mathewson2020-06-095-30/+182
|
* netdoc: report microdesc errors at correct offsets.Nick Mathewson2020-06-091-2/+5
|
* netdoc: fix microdesc digest calculation at last.Nick Mathewson2020-06-092-13/+21
|
* Add a "first_item" entry for Section.Nick Mathewson2020-06-091-2/+19
| | | | This will make it simpler to implement digests for sections.
* Add a "last_item" entry for Section.Nick Mathewson2020-06-091-1/+20
| | | | This will make it simpler to implement digests for sections.
* netdoc: recover from microdesc parsing errorsNick Mathewson2020-06-082-3/+56
| | | | | | | | | On an error, advance to the start of the next microdesc. There's a possible issue with this approach where if we aren't careful, we might wind up in an infinite loop. I've made a comment about the fragility here, but it would probably be good to revisit this design.
* netdoc: add an iterator that can parse annotated microdescsNick Mathewson2020-06-072-1/+127
|
* Implement parsing for microdescriptor annotationsNick Mathewson2020-06-062-4/+53
| | | | | This patch also updates the microdescriptor parsing so we can handle a whole bunch of them in a row.
* netdoc: fix behavior when using a fancy closure with PauseAt.Nick Mathewson2020-06-061-14/+54
| | | | | | | | | Previously, every call to peek() or next() would call self.pred(). But this would run us into trouble if we were using a closure that had mutable state, since it would stop us from checking for things like "the third occurrence of the foo token". Now we store the value of self.pred(self.peek()).
* netdoc: add annotation fields for microdescriptorsNick Mathewson2020-06-061-1/+8
|