| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Improve documentation and lightly refactor SENDME code | Nick Mathewson | 2020-09-25 | 5 | -49/+119 | |
| | | ||||||
| * | Add new (disabled) demo pieces to client-demo | Nick Mathewson | 2020-09-25 | 1 | -15/+53 | |
| | | ||||||
| * | Implement authenticated sendme output for circuit-level sendmes. | Nick Mathewson | 2020-09-25 | 3 | -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 Mathewson | 2020-09-25 | 2 | -4/+14 | |
| | | ||||||
| * | Fix encoding/decoding of authenticated sendme. | Nick Mathewson | 2020-09-25 | 1 | -4/+22 | |
| | | ||||||
| * | Try to get sendme crypto working | Nick Mathewson | 2020-09-25 | 3 | -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 Mathewson | 2020-09-25 | 5 | -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 cells | Nick Mathewson | 2020-09-25 | 6 | -26/+100 | |
| | | ||||||
| * | Initial work on a sendme backend. | Nick Mathewson | 2020-09-25 | 2 | -0/+152 | |
| | | | | | | Parameterized for authenticated/unauthenticated operation, and operation on circuits and streams. | |||||
| * | Initial error cleanup on streams/circuits | Nick Mathewson | 2020-09-25 | 4 | -20/+36 | |
| | | ||||||
| * | Document private members in most crates | Nick Mathewson | 2020-09-24 | 21 | -11/+121 | |
| | | ||||||
| * | Migrate ClientMain to byte-oriented API. | Nick Mathewson | 2020-09-24 | 3 | -32/+36 | |
| | | ||||||
| * | Try to make a send/receive style API for streams. | Nick Mathewson | 2020-09-24 | 4 | -5/+136 | |
| | | ||||||
| * | Add support for RELAY_END cells. | Nick Mathewson | 2020-09-24 | 6 | -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 Mathewson | 2020-09-23 | 1 | -1/+6 | |
| | | ||||||
| * | Fuse input streams on creation. | Nick Mathewson | 2020-09-23 | 2 | -10/+8 | |
| | | ||||||
| * | Turn IdMap into an extension trait. | Nick Mathewson | 2020-09-23 | 4 | -97/+38 | |
| | | | | | | Also, use the "right" (cyclic, potentially expensive) algorithm for stream IDs. | |||||
| * | A few tests for tor-linkspec | Nick Mathewson | 2020-09-23 | 2 | -0/+68 | |
| | | ||||||
| * | Tests (and correctness fixes) for protover. | Nick Mathewson | 2020-09-22 | 1 | -2/+95 | |
| | | ||||||
| * | Add tests for SignatureGated | Nick Mathewson | 2020-09-22 | 1 | -0/+45 | |
| | | ||||||
| * | Tests for Timerangebound. | Nick Mathewson | 2020-09-22 | 1 | -0/+76 | |
| | | ||||||
| * | Run cargo fix --edition-idioms | Nick Mathewson | 2020-09-21 | 1 | -1/+1 | |
| | | ||||||
| * | Run cargo upgrade | Nick Mathewson | 2020-09-21 | 3 | -8/+6 | |
| | | ||||||
| * | Update documentation | Nick Mathewson | 2020-09-21 | 3 | -6/+12 | |
| | | ||||||
| * | Update TODO file | Nick Mathewson | 2020-09-21 | 1 | -4/+8 | |
| | | ||||||
| * | turn hopnum into a first-class type | Nick Mathewson | 2020-09-21 | 3 | -14/+41 | |
| | | ||||||
| * | Add is_zero for ID types. | Nick Mathewson | 2020-09-21 | 3 | -5/+22 | |
| | | ||||||
| * | Fix some errors; document some places where error handling is bogus | Nick Mathewson | 2020-09-21 | 5 | -8/+37 | |
| | | ||||||
| * | More documentation for channel, circuit, stream. | Nick Mathewson | 2020-09-21 | 8 | -92/+372 | |
| | | ||||||
| * | Start implementing streams and circuit-level reactors. | Nick Mathewson | 2020-09-21 | 14 | -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_val | Nick Mathewson | 2020-09-20 | 1 | -0/+49 | |
| | | ||||||
| * | Refactor accetps_circid_val to be less wonky. | Nick Mathewson | 2020-09-20 | 1 | -9/+17 | |
| | | ||||||
| * | Move is_recognized function into caret. | Nick Mathewson | 2020-09-20 | 3 | -23/+7 | |
| | | ||||||
| * | Rename StreamCmd to RelayCmd | Nick Mathewson | 2020-09-20 | 3 | -41/+40 | |
| | | ||||||
| * | Improve shutdown support for channel. No idea if it works. | Nick Mathewson | 2020-09-20 | 1 | -14/+7 | |
| | | ||||||
| * | rename a field in RelayCell | Nick Mathewson | 2020-09-20 | 1 | -12/+9 | |
| | | ||||||
| * | Create a StreamID->Stream map type. | Nick Mathewson | 2020-09-20 | 7 | -42/+139 | |
| | | | | | | Also extract the shared part of CircMap and StreamMap into a new IdMap type. | |||||
| * | De-parameterize channel and circuit | Nick Mathewson | 2020-09-19 | 5 | -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 handshake | Nick Mathewson | 2020-09-19 | 4 | -26/+100 | |
| | | ||||||
| * | Add tests for failing ntor handshakes. | Nick Mathewson | 2020-09-19 | 1 | -1/+51 | |
| | | ||||||
| * | ntor: test the ClientHandshake/ServerHandshake impl | Nick Mathewson | 2020-09-18 | 1 | -3/+4 | |
| | | ||||||
| * | tests for kdf functions in tor_proto | Nick Mathewson | 2020-09-18 | 1 | -0/+127 | |
| | | ||||||
| * | Add tests for tor_proto::util::ct | Nick Mathewson | 2020-09-18 | 1 | -0/+31 | |
| | | ||||||
| * | Give up on suppressing that nightly-only clippy warning | Nick Mathewson | 2020-09-18 | 2 | -27/+21 | |
| | | ||||||
| * | Make consensus documents valid DistDelay seconds earlier. | Nick Mathewson | 2020-09-18 | 1 | -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 warnings | Nick Mathewson | 2020-09-17 | 3 | -1/+5 | |
| | | ||||||
| * | Fix a panic bug in microdesc parsing. | Nick Mathewson | 2020-09-17 | 2 | -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 Mathewson | 2020-09-17 | 16 | -1/+216 | |
| | | | | | This was remarkably simple. | |||||
| * | Sort linkspecs in the same order as tor does | Nick Mathewson | 2020-09-17 | 4 | -4/+27 | |
| | | ||||||
| * | use more correct expiration times | Nick Mathewson | 2020-09-17 | 1 | -3/+2 | |
| | | ||||||
