summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve documentation and lightly refactor SENDME codeNick Mathewson2020-09-255-49/+119
|
* Add new (disabled) demo pieces to client-demoNick Mathewson2020-09-251-15/+53
|
* Implement authenticated sendme output for circuit-level sendmes.Nick Mathewson2020-09-253-6/+44
| | | | This patch has a XXXXX kludge note in it.
* Add a bad workaround for a deadlock: we should look for a better one.Nick Mathewson2020-09-252-4/+14
|
* Fix encoding/decoding of authenticated sendme.Nick Mathewson2020-09-251-4/+22
|
* Try to get sendme crypto workingNick Mathewson2020-09-253-27/+62
| | | | | | | | There's a problem, though: this code assumes that tags are 20 bytes long whereas actually the tag type is part of the crypto layer info. So maybe in the long term we need to move the queue of tags from the send window into being part of the crypto layers.
* Incomplete implementation of circuit SENDME handling.Nick Mathewson2020-09-255-26/+86
| | | | | | This is incomplete because the cell crypto code doesn't actually expose tags yet, and because it demands tags unconditionally, without caring about the linkspec protocol version.
* Attempted implementation of stream sendme cellsNick Mathewson2020-09-256-26/+100
|
* Initial work on a sendme backend.Nick Mathewson2020-09-252-0/+152
| | | | | Parameterized for authenticated/unauthenticated operation, and operation on circuits and streams.
* Initial error cleanup on streams/circuitsNick Mathewson2020-09-254-20/+36
|
* Document private members in most cratesNick Mathewson2020-09-2421-11/+121
|
* Migrate ClientMain to byte-oriented API.Nick Mathewson2020-09-243-32/+36
|
* Try to make a send/receive style API for streams.Nick Mathewson2020-09-244-5/+136
|
* Add support for RELAY_END cells.Nick Mathewson2020-09-246-21/+171
| | | | | | | | | | | | | | | | | | | | This was a hard one. I need to make sure that we send an END cell when the stream is dropped. But we can't call an .await from inside the drop() function, since drop() isn't async, and we don't have an executor. Fortunately, you can call send() on a oneshot::Sender without having to await on it, so that's the obvious thing to put in drop(). But we need some way to make sure that the oneshot::Receiver is given to the reactor, and is .awaited. For that, we needed a control channel. And the reactor needs to treat the control channel and the close messages as equally important. So that's how I wound up with a Fuse<Select<mpsc::Receiver<Result<Foo>>, SelectAll<Once<oneshot::Receiver<Foo>>>>>. I doubt that this is actually the best way to handle any of this!
* as Tor does, skip to random initial stream member.Nick Mathewson2020-09-231-1/+6
|
* Fuse input streams on creation.Nick Mathewson2020-09-232-10/+8
|
* Turn IdMap into an extension trait.Nick Mathewson2020-09-234-97/+38
| | | | | Also, use the "right" (cyclic, potentially expensive) algorithm for stream IDs.
* A few tests for tor-linkspecNick Mathewson2020-09-232-0/+68
|
* Tests (and correctness fixes) for protover.Nick Mathewson2020-09-221-2/+95
|
* Add tests for SignatureGatedNick Mathewson2020-09-221-0/+45
|
* Tests for Timerangebound.Nick Mathewson2020-09-221-0/+76
|
* Run cargo fix --edition-idiomsNick Mathewson2020-09-211-1/+1
|
* Run cargo upgradeNick Mathewson2020-09-213-8/+6
|
* Update documentationNick Mathewson2020-09-213-6/+12
|
* Update TODO fileNick Mathewson2020-09-211-4/+8
|
* turn hopnum into a first-class typeNick Mathewson2020-09-213-14/+41
|
* Add is_zero for ID types.Nick Mathewson2020-09-213-5/+22
|
* Fix some errors; document some places where error handling is bogusNick Mathewson2020-09-215-8/+37
|
* More documentation for channel, circuit, stream.Nick Mathewson2020-09-218-92/+372
|
* Start implementing streams and circuit-level reactors.Nick Mathewson2020-09-2114-202/+601
| | | | | | Also, revise nearly all of the circuit/channel interaction to actually send relay cells to the right place and do sensible things with them.
* Add RelayCmd::accepts_streamid_valNick Mathewson2020-09-201-0/+49
|
* Refactor accetps_circid_val to be less wonky.Nick Mathewson2020-09-201-9/+17
|
* Move is_recognized function into caret.Nick Mathewson2020-09-203-23/+7
|
* Rename StreamCmd to RelayCmdNick Mathewson2020-09-203-41/+40
|
* Improve shutdown support for channel. No idea if it works.Nick Mathewson2020-09-201-14/+7
|
* rename a field in RelayCellNick Mathewson2020-09-201-12/+9
|
* Create a StreamID->Stream map type.Nick Mathewson2020-09-207-42/+139
| | | | | Also extract the shared part of CircMap and StreamMap into a new IdMap type.
* De-parameterize channel and circuitNick Mathewson2020-09-195-41/+30
| | | | | | By putting the cell-sink in a box, we can get rid of the need for having everything that uses a channel or a circuit know what kind of underlying TLS implementation it has.
* Add tests for CREATE_FAST handshakeNick Mathewson2020-09-194-26/+100
|
* Add tests for failing ntor handshakes.Nick Mathewson2020-09-191-1/+51
|
* ntor: test the ClientHandshake/ServerHandshake implNick Mathewson2020-09-181-3/+4
|
* tests for kdf functions in tor_protoNick Mathewson2020-09-181-0/+127
|
* Add tests for tor_proto::util::ctNick Mathewson2020-09-181-0/+31
|
* Give up on suppressing that nightly-only clippy warningNick Mathewson2020-09-182-27/+21
|
* 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-173-1/+5
|
* 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.
* Add fuzzers for certs, netdoc, and proto.Nick Mathewson2020-09-1716-1/+216
| | | | This was remarkably simple.
* Sort linkspecs in the same order as tor doesNick Mathewson2020-09-174-4/+27
|
* use more correct expiration timesNick Mathewson2020-09-171-3/+2
|