Commit Graph

2620 Commits

Author SHA1 Message Date
Dirkjan Ochtman 71e5ab38d7 Don't return from poll() while making progress 2018-04-25 16:03:12 +02:00
Dirkjan Ochtman d581ea2291 Let client send follow-up Handshake package 2018-04-25 16:03:12 +02:00
Dirkjan Ochtman 3d23a3b814 Add new tls::Client::process_handshake_messages() method 2018-04-25 16:03:12 +02:00
Dirkjan Ochtman e4bacedd7a Store separate handshake CID in Endpoint 2018-04-25 16:03:12 +02:00
Dirkjan Ochtman d3de8da259 Decode server-originated handshake packets 2018-04-25 16:03:12 +02:00
Dirkjan Ochtman cb602de2a6 Pass in key type when decoding packets 2018-04-25 16:03:12 +02:00
Dirkjan Ochtman 06b5191d00 Move client code into new client module 2018-04-25 16:02:18 +02:00
Dirkjan Ochtman 8634105ac9 Rebuild client connect as a future 2018-04-25 16:02:18 +02:00
Dirkjan Ochtman 63655d1032 Add intermediate certificates to example server chain 2018-04-25 14:55:15 +02:00
Benjamin Saunders 59876386ab Fold PersistentState into ListenConfig
It's only needed for servers, so no sense cluttering the arguments on
its own.
2018-04-25 01:02:54 -07:00
Benjamin Saunders 96db2f4d20 Trivial request processing server 2018-04-24 23:27:07 -07:00
Benjamin Saunders cdacfccfb9 API tweak 2018-04-24 23:26:56 -07:00
Benjamin Saunders 14061422ec Fix spurious finishing of blocked streams 2018-04-24 23:26:33 -07:00
Benjamin Saunders bc6fc09446 Fix initial remotely initiated send stream max data 2018-04-24 23:20:08 -07:00
Benjamin Saunders c14c59dc7e Rearrange names
This should improve discoverability.
2018-04-24 23:19:49 -07:00
Benjamin Saunders 94f3c63959 examples: support fetching arbitrary URLs 2018-04-24 22:21:01 -07:00
Benjamin Saunders 3d30b104b4 tokio: separate send/recv stream types 2018-04-24 22:09:19 -07:00
Benjamin Saunders 5dd7ac1359 Factor connection out of event enum 2018-04-24 21:52:57 -07:00
Benjamin Saunders 71927fb81d Draft tokio bindings 2018-04-24 21:39:38 -07:00
Benjamin Saunders 4cf122ade6 Expose stream finish state 2018-04-24 21:06:01 -07:00
Benjamin Saunders 3d8261e1f6 Explicitly stop idle timer on close timeout 2018-04-24 21:04:59 -07:00
Benjamin Saunders 5b81b6a5de Endpoint::get_side 2018-04-24 21:04:16 -07:00
Benjamin Saunders 3b9acb937f OpenSSL draft 28 2018-04-24 18:28:55 -07:00
Benjamin Saunders f0e55aa3fe Cleanup 2018-04-24 18:28:38 -07:00
Benjamin Saunders 62a16fe62c Fix spurious loss detection timer starts 2018-04-24 18:26:59 -07:00
Benjamin Saunders f4065576d4 Fix inconsistent timer state tracking in handshake retransmit 2018-04-24 18:26:19 -07:00
Benjamin Saunders 1ee8915c0f Acknowledge Initial packet 2018-04-24 18:25:47 -07:00
Benjamin Saunders 1a7962dce7 More specific Endpoint::new error type 2018-04-24 18:25:29 -07:00
Benjamin Saunders b06e735529 Propagate address of new connections 2018-04-24 18:24:39 -07:00
Dirkjan Ochtman f32beaac69 Start to organize the client code 2018-04-24 17:37:53 +02:00
Dirkjan Ochtman 8680848708 Remove unused type NegotiationPacket 2018-04-24 17:11:29 +02:00
Dirkjan Ochtman 1cfec456f4 Add ACK frame to initial server response 2018-04-24 17:11:29 +02:00
Dirkjan Ochtman abca4337d1 Remove unused FrameType type 2018-04-24 17:11:29 +02:00
Dirkjan Ochtman ce19e15a30 Add data structure for ACK frames 2018-04-24 17:11:29 +02:00
Dirkjan Ochtman eea7191cc6 Derive PartialEq for Frame types 2018-04-24 16:32:48 +02:00
Dirkjan Ochtman 63da55fda5 Use new rustls APIs to send ServerHello 2018-04-24 16:04:55 +02:00
Dirkjan Ochtman 442987b8d5 Adapt to changes rustls API for client handshakes 2018-04-24 14:00:19 +02:00
Dirkjan Ochtman ac00a89c92 Add README 2018-04-24 13:35:27 +02:00
Benjamin Saunders 00e1e1443c Stream ID flow control, expose SNI and ALPN 2018-04-23 17:58:42 -07:00
Dirkjan Ochtman 8af45e0955 Increase buffer sizes to accomodate all non-jumbogram packets 2018-04-23 16:42:10 +02:00
Dirkjan Ochtman 79b566ed9f Move server code into a new server module 2018-04-23 16:23:49 +02:00
Dirkjan Ochtman 6d1b88d874 Resize buffer after decoding packets 2018-04-23 16:18:05 +02:00
Dirkjan Ochtman 470b27971d Rework public Packet interface 2018-04-23 16:03:43 +02:00
Dirkjan Ochtman 7c15e6a91a Rename proto module to packet 2018-04-23 15:57:58 +02:00
Dirkjan Ochtman 97348eb8d8 Improve formatting 2018-04-23 15:56:43 +02:00
Dirkjan Ochtman ad476345bc Ignore keys and certificates 2018-04-23 15:55:43 +02:00
Dirkjan Ochtman c0af9397a1 Implement server side of handshake 2018-04-23 15:55:11 +02:00
Dirkjan Ochtman 9413d265ea wip 2018-04-23 15:53:54 +02:00
Dirkjan Ochtman ffc02a142f Only add padding frames for Initial packets 2018-04-23 15:47:42 +02:00
Dirkjan Ochtman 00768125d4 Add method to create server handshake key 2018-04-23 15:45:04 +02:00