| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Initial error cleanup on streams/circuits | Nick Mathewson | 2020-09-25 | 4 | -20/+36 | |
| | | ||||||
| * | Migrate ClientMain to byte-oriented API. | Nick Mathewson | 2020-09-24 | 2 | -14/+25 | |
| | | ||||||
| * | Try to make a send/receive style API for streams. | Nick Mathewson | 2020-09-24 | 3 | -3/+132 | |
| | | ||||||
| * | Add support for RELAY_END cells. | Nick Mathewson | 2020-09-24 | 5 | -20/+170 | |
| | | | | | | | | | | | | | | | | | | | | | 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. | |||||
| * | Run cargo upgrade | Nick Mathewson | 2020-09-21 | 1 | -3/+2 | |
| | | ||||||
| * | 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 | 12 | -183/+584 | |
| | | | | | | | 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 | 1 | -23/+0 | |
| | | ||||||
| * | 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 | 3 | -38/+27 | |
| | | | | | | | 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 | 1 | -21/+19 | |
| | | ||||||
| * | Resolve some nightly-only clippy warnings | Nick Mathewson | 2020-09-17 | 1 | -0/+2 | |
| | | ||||||
| * | Add fuzzers for certs, netdoc, and proto. | Nick Mathewson | 2020-09-17 | 5 | -1/+60 | |
| | | | | | This was remarkably simple. | |||||
| * | Sort linkspecs in the same order as tor does | Nick Mathewson | 2020-09-17 | 2 | -2/+3 | |
| | | ||||||
| * | Make client-demo launch a request to www.torproject.org:80 | Nick Mathewson | 2020-09-12 | 2 | -0/+38 | |
| | | ||||||
| * | Implement extend2/extended2 handshake. | Nick Mathewson | 2020-09-12 | 1 | -0/+17 | |
| | | | | | | | | This is not a production-ready implementation: it will break if a circuit is used for anything while an extend is pending. Client-demo can now build 3-hop circuits. | |||||
| * | Make more types implement Debug. | Nick Mathewson | 2020-09-12 | 1 | -0/+17 | |
| | | ||||||
| * | Fix a bug in encoding extend2 cells. | Nick Mathewson | 2020-09-12 | 1 | -0/+2 | |
| | | ||||||
| * | WIP: extend. | Nick Mathewson | 2020-09-12 | 4 | -17/+166 | |
| | | ||||||
| * | Simple functions to send and receive relay cells. | Nick Mathewson | 2020-09-12 | 4 | -1/+74 | |
| | | ||||||
| * | Add a function to pad relay cells. | Nick Mathewson | 2020-09-12 | 1 | -0/+28 | |
| | | ||||||
| * | Refactoring around our 509-byte array type. | Nick Mathewson | 2020-09-12 | 6 | -43/+66 | |
| | | ||||||
| * | Ntor handshake (first hop) is go. | Nick Mathewson | 2020-09-11 | 3 | -2/+56 | |
| | | ||||||
| * | Wrap ntor handshake in appropriate trait. | Nick Mathewson | 2020-09-11 | 1 | -10/+39 | |
| | | ||||||
| * | Parameterize the circuit create code. | Nick Mathewson | 2020-09-11 | 1 | -20/+45 | |
| | | ||||||
| * | Make create_fast implementation a little more generic. | Nick Mathewson | 2020-09-11 | 2 | -20/+31 | |
| | | ||||||
| * | For circuits: Implement first hop create via create_fast. | Nick Mathewson | 2020-09-11 | 8 | -24/+199 | |
| | | ||||||
| * | proto: add minimal (raw) circuit support. | Nick Mathewson | 2020-09-11 | 6 | -16/+131 | |
| | | | | | | This is about enough to make a circuit, send a create_fast cell, and get a created_fast cell back. | |||||
| * | proto::channel: add piping to move cells around. | Nick Mathewson | 2020-09-11 | 6 | -18/+337 | |
| | | | | | | | | There's a "reactor" task to move cells to the appropriate circuit, and a "send_cell" to send a cell directly. This is client-only for now. | |||||
| * | Turn channel into a handle-to-inner type. | Nick Mathewson | 2020-09-10 | 2 | -4/+30 | |
| | | | | | | I think I'll likely be refactoring this a _bunch_ before I actually get to use this. | |||||
| * | Move channel handshake into its own module. | Nick Mathewson | 2020-09-10 | 2 | -254/+272 | |
| | | ||||||
| * | Pare down and sort dependencies | Nick Mathewson | 2020-09-09 | 2 | -12/+12 | |
| | | ||||||
| * | Run cargo upgrade, except for stream-cipher. | Nick Mathewson | 2020-09-09 | 1 | -7/+7 | |
| | | ||||||
| * | cargo fix --edition-idioms | Nick Mathewson | 2020-09-09 | 1 | -1/+1 | |
| | | ||||||
