Commit Graph

79 Commits

Author SHA1 Message Date
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
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
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
Dirkjan Ochtman c73b5d07b6 Store ALPN protocol string in a constant 2018-04-23 15:44:17 +02:00
Dirkjan Ochtman fbe1486e7b Refactor creation of handshake keys 2018-04-23 14:11:17 +02:00
Dirkjan Ochtman 49a51d2562 Use packet number in encryption and decryption 2018-04-19 12:50:48 +02:00
Dirkjan Ochtman df5be20eaf Add helper method Header::number() 2018-04-19 12:45:26 +02:00
Dirkjan Ochtman 3507c5bf04 Correct formatting with cargo fmt 2018-04-19 11:56:34 +02:00
Dirkjan Ochtman d30953a800 Change VarLen to be a tuple type 2018-04-19 11:55:04 +02:00
Dirkjan Ochtman 6654a2baa4 Show packet contents when sending 2018-04-19 11:54:56 +02:00
Dirkjan Ochtman ec70d59e00 Remove unused code for Tokio codec 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman ad059dc6e5 Print Packet contents on receival 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman 789d6daede Add tests for VarLen::decode() 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman a41c7b71fa Add decode() method to Codec trait 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman f2f5fc6faf Add PacketKey::decrypt() method 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman 6a1e74c063 Implement helper method Header::conn_id() 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman 93c9b00dcf Make VarLen::val field public 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman 7da45ee332 Derive Debug for Packet 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman 067f4a1f5e Change type for StreamFrame::offset 2018-04-19 11:48:16 +02:00
Dirkjan Ochtman b26ed5abec Derive Debug for Header 2018-04-19 09:31:21 +02:00
Dirkjan Ochtman 07f47a9f8d Improvements for crypto API 2018-04-18 16:47:58 +02:00
Dirkjan Ochtman 19906addb3 Rename hkdf module to crypto 2018-04-18 16:26:43 +02:00
Dirkjan Ochtman ac9b78d161 Implement packet protection for handshake packets 2018-04-18 16:25:27 +02:00
Dirkjan Ochtman 6881f19d84 Encapsulate AEAD interface and minimize allocations 2018-04-17 11:28:34 +02:00
Dirkjan Ochtman f84c5e4405 Implement support for QHKDF (for client handshake) 2018-04-17 10:59:39 +02:00