Commit Graph

147 Commits

Author SHA1 Message Date
Dirkjan Ochtman 28b2eaae7c Rename QuicStream to Client 2018-05-05 13:19:57 +02:00
Dirkjan Ochtman 949f491bdc Directly use QuicClientTls/QuicServerTls from rustls 2018-05-03 16:21:00 +02:00
Dirkjan Ochtman 010800dda6 Capture transport parameters as a struct, encode in this crate 2018-05-03 14:32:13 +02:00
Dirkjan Ochtman 18c8bbda24 Extend test to cover complete handshake 2018-05-02 16:39:53 +02:00
Dirkjan Ochtman 60361f4d8b Send short packet header when handshake is complete 2018-05-02 16:39:37 +02:00
Dirkjan Ochtman 88dec0811d Add back support for short packet headers 2018-05-02 16:36:45 +02:00
Dirkjan Ochtman a28e9fe8f7 Force generated CIDs to have a fixed length 2018-05-02 16:34:07 +02:00
Dirkjan Ochtman 434fa3bed8 Simplify implementation of ConnectFuture 2018-05-02 15:05:53 +02:00
Dirkjan Ochtman 1d39c24c47 Derive Debug for Side 2018-05-02 14:40:07 +02:00
Dirkjan Ochtman 0d18f1836c Correctly match connection IDs in server 2018-05-02 14:09:02 +02:00
Dirkjan Ochtman e64baddaa8 Add custom Debug impl for ConnectionId 2018-05-02 12:21:40 +02:00
Dirkjan Ochtman 5eb3237463 Fix tests 2018-05-02 12:21:30 +02:00
Dirkjan Ochtman 9be1ef7f07 Set sender's src_cid as local dst_cid 2018-05-02 12:12:10 +02:00
Dirkjan Ochtman 6a7c3a032f Rename variable to be more generic 2018-05-02 12:09:59 +02:00
Dirkjan Ochtman e2bebbc108 Remove stray use statement 2018-05-02 12:04:26 +02:00
Dirkjan Ochtman 232b62728b Move Endpoint into new endpoint module 2018-05-02 12:01:17 +02:00
Dirkjan Ochtman ee9048ab0b Fix formatting with cargo fmt 2018-05-02 11:56:41 +02:00
Dirkjan Ochtman 205466a549 Clean up warnings in tests module 2018-05-02 11:56:26 +02:00
Dirkjan Ochtman d77188cd0e Add test for handshake encoding 2018-05-02 11:43:25 +02:00
Dirkjan Ochtman ca48982315 Let the Endpoint handle padding 2018-05-02 11:43:00 +02:00
Dirkjan Ochtman 51e1758890 Use correct side for decoding keys 2018-05-02 11:40:11 +02:00
Dirkjan Ochtman 05fb377b1b Assert on invalid ConnectionId lengths 2018-05-02 10:47:57 +02:00
Dirkjan Ochtman e254676d22 Fix encoding and decoding of CID lengths 2018-05-02 10:47:41 +02:00
Dirkjan Ochtman 9188fc010d Remove roundtrip test, doesn't work correctly 2018-05-02 10:28:44 +02:00
Dirkjan Ochtman ce112581a9 Implement draft 11 packet header 2018-05-01 16:45:57 +02:00
Dirkjan Ochtman a1cc695ac2 Implement new ConnectionId type for draft 11 2018-05-01 16:43:26 +02:00
Dirkjan Ochtman c293e273cc Implement BufLen for Vec<T: BufLen> 2018-05-01 16:42:06 +02:00
Dirkjan Ochtman 8353bdf05d Remove short headers while not needed 2018-05-01 15:48:54 +02:00
Dirkjan Ochtman af0c5963d5 Fix tests to construct endpoints directly 2018-05-01 15:09:01 +02:00
Dirkjan Ochtman 0b969f8742 Replace ServerStreamState with parametrized Endpoint 2018-05-01 11:58:05 +02:00
Dirkjan Ochtman d8909f2dd0 Use parametrized Endpoint instead of ClientStateStream type 2018-05-01 11:53:00 +02:00
Dirkjan Ochtman 7710e1af8b Store TLS implementation in Endpoint 2018-05-01 11:51:11 +02:00
Dirkjan Ochtman 341d8bfb42 Centralize handling of TLSResult values in a single place 2018-05-01 11:44:08 +02:00
Dirkjan Ochtman 6aedbe3867 Let Endpoint manage secrets 2018-05-01 11:07:41 +02:00
Dirkjan Ochtman 632a082781 Move Secret enum into crypto module 2018-05-01 10:33:08 +02:00
Dirkjan Ochtman 1466f9851d Move Side enum into types 2018-05-01 10:19:38 +02:00
Dirkjan Ochtman 9f4de23e7a Remove hs_cid from Endpoint (now tracked in tls) 2018-05-01 09:39:07 +02:00
Dirkjan Ochtman 6813e349c8 Let Endpoint construct Packets from payload 2018-05-01 09:28:37 +02:00
Dirkjan Ochtman 5da1e615dd Encrypt all handshake packets with handshake secrets 2018-04-30 16:58:02 +02:00
Dirkjan Ochtman c3acc20fd9 Make ptype() method available on Header 2018-04-30 16:57:24 +02:00
Dirkjan Ochtman b75a3f211e Pass packet header to all key provisioning methods 2018-04-30 16:50:12 +02:00
Dirkjan Ochtman 62d6b78086 Adapt to changed rustls APIs 2018-04-30 16:18:56 +02:00
Dirkjan Ochtman 8c8fc98380 Implement encryption with 1-RTT keys 2018-04-30 16:15:30 +02:00
Dirkjan Ochtman 846957c3f6 Generalize creation of packet keys 2018-04-30 15:49:08 +02:00
Dirkjan Ochtman 6078e40e27 Fix formatting with cargo fmt 2018-04-30 15:45:43 +02:00
Dirkjan Ochtman 76382888eb Let TLS types store connection secrets 2018-04-30 15:45:43 +02:00
Dirkjan Ochtman 6eff7b845e Use ServerTls struct to wrap TLS ServerSession 2018-04-30 13:23:08 +02:00
Dirkjan Ochtman 14d75a0fa9 Move tls::build_server_config() to tls::ServerTls::build_config() 2018-04-30 13:10:46 +02:00
Dirkjan Ochtman 0d671d6ff0 Move tls::build_client_config() into tls::ClientTls 2018-04-30 13:07:35 +02:00
Dirkjan Ochtman 19eb91c72b Rename tls::Client to ClientTls 2018-04-30 13:05:28 +02:00