Commit Graph

2620 Commits

Author SHA1 Message Date
Dirkjan Ochtman 9188fc010d Remove roundtrip test, doesn't work correctly 2018-05-02 10:28:44 +02:00
Benjamin Saunders 6cef002e07 core: more detailed logging 2018-05-01 22:17:43 -07:00
Benjamin Saunders 82016c47a2 core: fix panic composing PNs before receiving ACKs 2018-05-01 20:44:00 -07:00
Benjamin Saunders 08a7c2b9ec api tweaks, larger default windows 2018-05-01 20:43:56 -07:00
Benjamin Saunders d0ee87feba core: test finishing streams 2018-05-01 19:37:16 -07:00
Benjamin Saunders f82774a367 core: deliver buffered data even after reset 2018-05-01 19:37:04 -07:00
Benjamin Saunders ace87bbeec core: test and debug stop_sending 2018-05-01 19:32:20 -07: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
Benjamin Saunders 3743b75934 API refactoring, test fixes 2018-04-30 23:55:11 -07:00
Benjamin Saunders 71c9c482fb core: fix panic on stateless reset for short packets 2018-04-30 18:59:46 -07:00
Benjamin Saunders 36a3ec1525 cleanup 2018-04-30 18:59:44 -07:00
Benjamin Saunders 64a8d46c40 tokio: docs link 2018-04-30 18:47:20 -07: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
Dirkjan Ochtman 8215e03b93 Move handling of keys inside state types 2018-04-30 13:02:09 +02:00
Benjamin Saunders 3e72bc9cee tokio: expose API for STOP_SENDING 2018-04-30 02:02:24 -07:00
Benjamin Saunders a90da181bf readme: API docs link 2018-04-30 00:38:36 -07:00
Benjamin Saunders 3a8359d89e bump version 2018-04-29 23:55:02 -07:00
Benjamin Saunders 36b627b8da examples: server: configurable PEM certs 2018-04-29 23:51:04 -07:00
Benjamin Saunders 40b4a59390 shell: use an OpenSSL capable of logging exporter secrets 2018-04-29 20:08:11 -07:00
Benjamin Saunders 64754817eb expose more connection info 2018-04-29 20:00:13 -07:00
Benjamin Saunders d7754bfc31 core: fix underflow on client handshake failure 2018-04-29 14:20:13 -07:00
Benjamin Saunders 2fedb8d7a2 support for logging TLS keys 2018-04-29 14:13:04 -07:00
Benjamin Saunders 68e0db51a4 tokio: graceful close 2018-04-29 12:23:24 -07:00
Benjamin Saunders 63c4371d99 core: support backpressure on incoming connections 2018-04-29 11:28:56 -07:00
Benjamin Saunders 25c48a29d3 examples: richer logging 2018-04-29 10:55:51 -07:00
Benjamin Saunders fd69d565f6 core: fix client connection loss when Initial was retransmitted
Retry packets were being deemed illegal when they couldn't be
authenticated, which occurs routinely when an unexpectedly high RTT
causes Initial to be retransmitted before the first Retry is
received. Discarding such packets allows the connection to proceed.
2018-04-29 09:49:58 -07:00