summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* note that microdescriptor sha256 calculation is wrongNick Mathewson2020-06-031-0/+2
|
* Restore a pause_at() method, but for NetDocReader.Nick Mathewson2020-06-032-4/+24
|
* Remove the Pausable trait as busted.Nick Mathewson2020-06-032-41/+14
| | | | | | We need to have the Peekable be long-lived, so we can't consume it. We _could_ create a second Peekable, which is apparently what we have been doing, but that breaks down when we try to do it again.
* netdoc: Refactor iteration over tokens.Nick Mathewson2020-06-034-22/+52
| | | | | I want the "peekable iterator" type to be passed around a lot, and it needs to have some way to get at the string that's used with it.
* Netdoc: tweak definition for keywords to accommodate annotationsNick Mathewson2020-05-274-7/+23
| | | | | | The macro can now define annotations that don't count as regular keywords. Additionally, the Keyword trait is now tweaked to take advantage of the fact that every Keyword is Copy.
* llcrypto: test vectors for sha2Nick Mathewson2020-05-211-2/+44
|
* netdoc: exit an object if we encounter non-base64.Nick Mathewson2020-05-201-0/+24
| | | | | This way, an unterminated base64 object doesn't "eat" the whole rest of something we're trying to parse.
* netdoc: tokenizer should always consume bytes if they exist.Nick Mathewson2020-05-201-7/+14
| | | | | | | Also document that it always consumes a positive integer number of lines. This is part of an effort to improve error recovery.
* netdoc: Teach tokenizer about annotations.Nick Mathewson2020-05-192-11/+27
| | | | | | I'm not sure that annotations are a feature I want to keep long-term, but for now it would be useful if this code can also read Tor's file formats for network directories.
* netdoc: Add convenience methods for pausing iteratorsNick Mathewson2020-05-192-11/+39
|
* netdoc: move keyword into Item type.Nick Mathewson2020-05-195-51/+61
| | | | This saves us from having to check specific strings in most cases.
* netdoc: Extract keyword into its own file.Nick Mathewson2020-05-197-46/+50
|
* start a test for microdesc parsing.Nick Mathewson2020-05-182-0/+21
|
* tor-netdoc: add a peek() method to util::Pausable.Nick Mathewson2020-05-161-0/+19
|
* Implement microdescriptor parsing.Nick Mathewson2020-05-157-1/+200
| | | | | Additionally, move and refactor related types to reduce friction for microdescriptor parsing implementation.
* tor-netdoc: Move RelayFamily into its own module.Nick Mathewson2020-05-153-22/+30
|
* tor-proto: use caret_int!() for cell and relay commands.Nick Mathewson2020-05-154-175/+157
|
* tor_cert: use caret_int!() to make real types for cert elementsNick Mathewson2020-05-155-68/+75
|
* Add a new caret_int!() macro for use with integer-wrapping typesNick Mathewson2020-05-152-119/+202
| | | | | | Unlike caret_enum!, these types are for use with things like cell commands or certificate types, where the entire space of integer values is possible, and only some are recognized.
* tor-netdoc: extract fingerprint logic from routerdesc.rsNick Mathewson2020-05-152-20/+57
|
* netdoc: Improve parsing implementation for RelayFamily.Nick Mathewson2020-05-151-5/+5
|
* netdoc: Relax error types that can be used when parsing.Nick Mathewson2020-05-152-7/+34
|
* netdoc: teach MaybeItem about parse_args_as_str().Nick Mathewson2020-05-152-13/+13
| | | | This simplifies a couple of places in routerdesc parsing.
* tor-netdoc: Extract family parsing into its own function.Nick Mathewson2020-05-152-20/+25
|
* Extract RelayPlatform parsing.Nick Mathewson2020-05-151-13/+17
|
* netdoc: get positions right in version parsing.Nick Mathewson2020-05-151-6/+6
|
* netdoc: use improved API for parsing ed25519 certificates.Nick Mathewson2020-05-153-34/+80
|
* netdoc: use new router object parsing API for RSA public keys.Nick Mathewson2020-05-151-28/+12
|