Nick Mathewson
a9181131d2
Fix a bug in encoding extend2 cells.
2020-09-12 20:44:25 -04:00
Nick Mathewson
dc287d4457
WIP: extend.
2020-09-12 17:01:15 -04:00
Nick Mathewson
d1039dda9b
Simple functions to send and receive relay cells.
2020-09-12 16:25:10 -04:00
Nick Mathewson
3e342a69ae
Add a function to pad relay cells.
2020-09-12 15:55:04 -04:00
Nick Mathewson
2fb71d2b13
Refactoring around our 509-byte array type.
2020-09-12 15:47:12 -04:00
Nick Mathewson
c978480aae
more todo edits
2020-09-12 15:46:38 -04:00
Nick Mathewson
341e557b4c
Revise TODO; add some milestones.
2020-09-12 14:26:26 -04:00
Nick Mathewson
74798337dd
Ntor handshake (first hop) is go.
2020-09-11 20:00:26 -04:00
Nick Mathewson
e10fc436a9
Wrap ntor handshake in appropriate trait.
2020-09-11 19:45:15 -04:00
Nick Mathewson
b2c2fb66c9
Parameterize the circuit create code.
2020-09-11 19:35:38 -04:00
Nick Mathewson
b29f9f0772
Make create_fast implementation a little more generic.
2020-09-11 19:15:27 -04:00
Nick Mathewson
a4697e4528
For circuits: Implement first hop create via create_fast.
2020-09-11 19:00:55 -04:00
Nick Mathewson
a62717690b
proto: add minimal (raw) circuit support.
...
This is about enough to make a circuit, send a create_fast cell, and
get a created_fast cell back.
2020-09-11 15:10:34 -04:00
Nick Mathewson
f20eb2f43f
proto::channel: add piping to move cells around.
...
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.
2020-09-11 13:58:05 -04:00
Nick Mathewson
49bbb4baa6
Turn channel into a handle-to-inner type.
...
I think I'll likely be refactoring this a _bunch_ before I actually
get to use this.
2020-09-10 13:19:39 -04:00
Nick Mathewson
812056d663
Move channel handshake into its own module.
2020-09-10 12:43:55 -04:00
Nick Mathewson
567af1a82e
update readme
2020-09-09 19:27:47 -04:00
Nick Mathewson
ee71abe560
Pare down and sort dependencies
2020-09-09 19:17:49 -04:00
Nick Mathewson
9f30b47cb7
Run cargo upgrade, except for stream-cipher.
2020-09-09 19:06:00 -04:00
Nick Mathewson
e95dec2437
cargo fix --edition-idioms
2020-09-09 18:59:04 -04:00
Nick Mathewson
34843f1fde
Add some missing documentation
2020-09-09 18:58:33 -04:00
Nick Mathewson
e02255ec00
Also RSA identities on channel handshakes
...
This took a good bit of hacking, including a kludge to extract an
RSA subject key from an x509 cert, since we didn't have a good way
to do that.
2020-09-09 18:08:33 -04:00
Nick Mathewson
9a20a6244a
checkable: documentation fix.
2020-09-09 18:06:32 -04:00
Nick Mathewson
b7b5d92847
Fix bogus docs in ll::pk::rsa
2020-09-09 16:58:35 -04:00
Nick Mathewson
8d01a0a808
Implement most of client-side channel cert validation.
2020-09-09 16:19:42 -04:00
Nick Mathewson
e395ad5801
Declare Into<ChanCell> for channel messages without circids
2020-09-09 14:38:16 -04:00
Nick Mathewson
e45e6f5954
Work on client channel handshake: mostly done, except for verification
2020-09-09 14:32:41 -04:00
Nick Mathewson
85bcf9f31b
netdir: downgrade a log
2020-09-09 11:11:29 -04:00
Nick Mathewson
fb005dc744
client-demo: do a TLS handshake.
2020-09-09 11:05:58 -04:00
Nick Mathewson
1f5d758dc3
netdir: look in right path for cached-microdescs.new
2020-09-09 10:55:34 -04:00
Nick Mathewson
875e932898
New "linkspec" module to encapsulate info needed to connect/extend.
2020-09-08 20:43:15 -04:00
Nick Mathewson
0fc85598d1
rename weightfn variants
2020-09-08 19:57:12 -04:00
Nick Mathewson
48b9510caa
Add a handy function for picking a random relay.
2020-09-08 17:50:08 -04:00
Nick Mathewson
8768222acb
Start on accessors for relay weight.
2020-09-08 17:20:46 -04:00
Nick Mathewson
fc5a1b7908
add emacs tmpfiles to gitignore
2020-09-08 16:53:20 -04:00
Nick Mathewson
60698cc6d5
Create a stub for a minimal demo client program.
...
For now, it's set up to just use a chutney network, so I don't
cause major drama with the real network.
I'll be working on this in parallel with proto and netdir
improvements, until it works.
2020-09-08 16:37:16 -04:00
Nick Mathewson
e40a63c013
netdir: add the ability to add authorities from a chutney directory.
2020-09-08 14:34:43 -04:00
Nick Mathewson
92830810d5
netdir: Add an extra day's tolerance to consensus timeouts
2020-09-08 14:05:22 -04:00
Nick Mathewson
d840bbbf64
TimerangeBound: add functions to extend the tolerances
...
(This seems much cleaner than baking extra tolerances into the
"true" validity intervals")
2020-09-08 14:01:26 -04:00
Nick Mathewson
8ef0098716
Refactor timerangebound to unwrap bounds earlier.
...
This will make them easier to adjust
2020-09-08 13:54:01 -04:00
Nick Mathewson
e31652afe1
Bugfix: parse ed25519 ids right in mds
2020-09-08 13:30:16 -04:00
Nick Mathewson
b5ad25e0d4
Netdir: a few more accessors
2020-09-08 12:56:45 -04:00
Nick Mathewson
17217a7dfa
netdoc: add a few accessors
2020-09-07 18:07:34 -04:00
Nick Mathewson
a4f1b27334
Fix clippy warnings; improve key type for consensus.
2020-09-07 17:27:29 -04:00
Nick Mathewson
3df3198363
RSAIdentity: Better Display and Debug.
2020-09-07 17:15:03 -04:00
Nick Mathewson
b6a3642903
netdoc: ignore bad entries in families.
...
Some of these are nicknames, which we can safely ignore.
2020-09-07 16:57:57 -04:00
Nick Mathewson
919a7c5970
Start on a 'netdir' crate to wrap netdoc.
...
For now, this assumes an existing Tor cache directory.
2020-09-07 16:53:06 -04:00
Nick Mathewson
541b6fa55f
relaycell: slight error cleanup
2020-09-07 12:25:41 -04:00
Nick Mathewson
6456653941
relaycell: move cmd into Unrecognized.
2020-09-07 12:19:19 -04:00
Nick Mathewson
010d93f453
proto::relaycell: documentation and light refactoring
2020-09-07 12:14:23 -04:00