Commit Graph

  • f82774a367 core: deliver buffered data even after reset Benjamin Saunders 2018-05-01 19:37:04 -07:00
  • ace87bbeec core: test and debug stop_sending Benjamin Saunders 2018-05-01 19:32:20 -07:00
  • ce112581a9 Implement draft 11 packet header Dirkjan Ochtman 2018-05-01 16:45:57 +02:00
  • a1cc695ac2 Implement new ConnectionId type for draft 11 Dirkjan Ochtman 2018-05-01 16:43:26 +02:00
  • c293e273cc Implement BufLen for Vec<T: BufLen> Dirkjan Ochtman 2018-05-01 16:42:06 +02:00
  • 8353bdf05d Remove short headers while not needed Dirkjan Ochtman 2018-05-01 15:48:54 +02:00
  • af0c5963d5 Fix tests to construct endpoints directly Dirkjan Ochtman 2018-05-01 15:09:01 +02:00
  • 0b969f8742 Replace ServerStreamState with parametrized Endpoint Dirkjan Ochtman 2018-05-01 11:58:05 +02:00
  • d8909f2dd0 Use parametrized Endpoint instead of ClientStateStream type Dirkjan Ochtman 2018-05-01 11:53:00 +02:00
  • 7710e1af8b Store TLS implementation in Endpoint Dirkjan Ochtman 2018-05-01 11:51:11 +02:00
  • 341d8bfb42 Centralize handling of TLSResult values in a single place Dirkjan Ochtman 2018-05-01 11:44:08 +02:00
  • 6aedbe3867 Let Endpoint manage secrets Dirkjan Ochtman 2018-05-01 11:07:41 +02:00
  • 632a082781 Move Secret enum into crypto module Dirkjan Ochtman 2018-05-01 10:33:08 +02:00
  • 1466f9851d Move Side enum into types Dirkjan Ochtman 2018-05-01 10:19:38 +02:00
  • 9f4de23e7a Remove hs_cid from Endpoint (now tracked in tls) Dirkjan Ochtman 2018-05-01 09:39:07 +02:00
  • 6813e349c8 Let Endpoint construct Packets from payload Dirkjan Ochtman 2018-05-01 09:28:37 +02:00
  • 3743b75934 API refactoring, test fixes Benjamin Saunders 2018-04-30 23:55:11 -07:00
  • 71c9c482fb core: fix panic on stateless reset for short packets Benjamin Saunders 2018-04-30 18:49:12 -07:00
  • 36a3ec1525 cleanup Benjamin Saunders 2018-04-30 18:48:46 -07:00
  • 64a8d46c40 tokio: docs link Benjamin Saunders 2018-04-30 18:47:20 -07:00
  • 5da1e615dd Encrypt all handshake packets with handshake secrets Dirkjan Ochtman 2018-04-30 16:58:02 +02:00
  • c3acc20fd9 Make ptype() method available on Header Dirkjan Ochtman 2018-04-30 16:57:24 +02:00
  • b75a3f211e Pass packet header to all key provisioning methods Dirkjan Ochtman 2018-04-30 16:50:12 +02:00
  • 62d6b78086 Adapt to changed rustls APIs Dirkjan Ochtman 2018-04-30 16:18:56 +02:00
  • 8c8fc98380 Implement encryption with 1-RTT keys Dirkjan Ochtman 2018-04-30 16:15:30 +02:00
  • 846957c3f6 Generalize creation of packet keys Dirkjan Ochtman 2018-04-30 15:49:08 +02:00
  • 6078e40e27 Fix formatting with cargo fmt Dirkjan Ochtman 2018-04-30 14:20:51 +02:00
  • 76382888eb Let TLS types store connection secrets Dirkjan Ochtman 2018-04-30 14:02:39 +02:00
  • 6eff7b845e Use ServerTls struct to wrap TLS ServerSession Dirkjan Ochtman 2018-04-30 13:23:08 +02:00
  • 14d75a0fa9 Move tls::build_server_config() to tls::ServerTls::build_config() Dirkjan Ochtman 2018-04-30 13:10:46 +02:00
  • 0d671d6ff0 Move tls::build_client_config() into tls::ClientTls Dirkjan Ochtman 2018-04-30 13:07:35 +02:00
  • 19eb91c72b Rename tls::Client to ClientTls Dirkjan Ochtman 2018-04-30 13:05:28 +02:00
  • 8215e03b93 Move handling of keys inside state types Dirkjan Ochtman 2018-04-30 13:02:09 +02:00
  • 3e72bc9cee tokio: expose API for STOP_SENDING Benjamin Saunders 2018-04-30 02:02:05 -07:00
  • a90da181bf readme: API docs link Benjamin Saunders 2018-04-30 00:38:36 -07:00
  • 3a8359d89e bump version Benjamin Saunders 2018-04-29 23:53:34 -07:00
  • 36b627b8da examples: server: configurable PEM certs Benjamin Saunders 2018-04-29 23:51:04 -07:00
  • 40b4a59390 shell: use an OpenSSL capable of logging exporter secrets Benjamin Saunders 2018-04-29 20:08:11 -07:00
  • 64754817eb expose more connection info Benjamin Saunders 2018-04-29 20:00:13 -07:00
  • d7754bfc31 core: fix underflow on client handshake failure Benjamin Saunders 2018-04-29 14:20:13 -07:00
  • 2fedb8d7a2 support for logging TLS keys Benjamin Saunders 2018-04-29 14:01:36 -07:00
  • 68e0db51a4 tokio: graceful close Benjamin Saunders 2018-04-29 12:23:24 -07:00
  • 63c4371d99 core: support backpressure on incoming connections Benjamin Saunders 2018-04-29 11:28:56 -07:00
  • 25c48a29d3 examples: richer logging Benjamin Saunders 2018-04-29 10:27:17 -07:00
  • fd69d565f6 core: fix client connection loss when Initial was retransmitted Benjamin Saunders 2018-04-29 09:49:24 -07:00
  • b8b063447a core: convenience impl From<ConnectionError> for io::Error Benjamin Saunders 2018-04-28 23:43:40 -07:00
  • 19305344a3 examples: disable certificate verification in client Benjamin Saunders 2018-04-28 22:52:37 -07:00
  • c6dbcb4f33 simplify and debug stream freshness tracking Benjamin Saunders 2018-04-28 22:50:25 -07:00
  • 53c4156c20 readme: badge tweaks Benjamin Saunders 2018-04-28 21:59:26 -07:00
  • a25621234b tokio: specify quicr-core version Benjamin Saunders 2018-04-28 21:42:47 -07:00
  • 8476e11716 core: extensive cleanup Benjamin Saunders 2018-04-28 21:40:21 -07:00
  • daec292bf9 Add migration to readme Benjamin Saunders 2018-04-28 20:25:11 -07:00
  • 725fbd3874 core: relax slog features Benjamin Saunders 2018-04-28 20:18:22 -07:00
  • ba19a865bb tokio: doc fix Benjamin Saunders 2018-04-28 19:56:35 -07:00
  • 70bf9fa259 README, cargo metadata Benjamin Saunders 2018-04-28 19:37:03 -07:00
  • b4bd5bc551 core: TLS certificate verification Benjamin Saunders 2018-04-28 19:17:55 -07:00
  • 57ef2f68fb tokio: ergonomics and documentation Benjamin Saunders 2018-04-28 19:06:33 -07:00
  • 3fc7535064 tokio: endpoint builder Benjamin Saunders 2018-04-28 18:30:27 -07:00
  • 6d0254a0ad core: improve documentation Benjamin Saunders 2018-04-28 18:30:00 -07:00
  • 71ba828c36 core: fix panic on close Benjamin Saunders 2018-04-28 18:29:35 -07:00
  • 08756e4e6d tokio: refactor and document API Benjamin Saunders 2018-04-28 17:50:22 -07:00
  • e288af23f7 core: truncate close reasons to fit MTU Benjamin Saunders 2018-04-28 17:44:16 -07:00
  • 6f1ea7b783 core: ensure read sanity Benjamin Saunders 2018-04-28 17:43:35 -07:00
  • 73d9e3470e tokio: impl AsyncRead for RecvStream Benjamin Saunders 2018-04-28 16:02:21 -07:00
  • b6cc9c2345 core: implement ordered reads Benjamin Saunders 2018-04-28 15:46:23 -07:00
  • c0100f3c2a core: bitfield-based stream assembly Benjamin Saunders 2018-04-28 15:19:45 -07:00
  • 69cf45062a tokio: fix panic on connection loss Benjamin Saunders 2018-04-28 14:02:37 -07:00
  • 1c84faa0e5 core: clean up write Benjamin Saunders 2018-04-28 14:02:13 -07:00
  • af3d0e472a Don't copy potentially large buffers on write Benjamin Saunders 2018-04-28 12:16:48 -07:00
  • 7ea2aa231a Add test for encoding roundtrip Dirkjan Ochtman 2018-04-27 14:44:11 +02:00
  • de4f35b5e6 Derive PartialEq for more types to support testing Dirkjan Ochtman 2018-04-27 14:43:59 +02:00
  • 7e9bed3672 Store buffer in PartialDecode Dirkjan Ochtman 2018-04-27 08:22:01 +02:00
  • 46d70f0170 Use slices instead of manipulating buffer sizes Dirkjan Ochtman 2018-04-26 17:38:51 +02:00
  • df3aa5eb8c Move StreamAssembler to stream::Assembler Benjamin Saunders 2018-04-26 21:11:43 -07:00
  • 9865c0a9bc Fix inadvertent use of default reactor Benjamin Saunders 2018-04-26 20:57:15 -07:00
  • bb193a27c3 Construct endpoint inside ServerStreamState Dirkjan Ochtman 2018-04-26 17:29:35 +02:00
  • b153eb448a Add new() method for ClientStreamState Dirkjan Ochtman 2018-04-26 17:24:51 +02:00
  • 390181a0ad Stop passing around ThreadRng explicitly Dirkjan Ochtman 2018-04-26 17:22:17 +02:00
  • 624d4d9fd1 Properly reset server input buffer after handling packet Dirkjan Ochtman 2018-04-26 17:12:09 +02:00
  • 5cd6d4efc1 Set up framework for testing protocol flow Dirkjan Ochtman 2018-04-26 15:50:08 +02:00
  • d8a68fb005 Make high-level stream state struct APIs pub(crate) Dirkjan Ochtman 2018-04-26 15:16:07 +02:00
  • 3a9192847d Allow TLS client to be parametrized with trust anchors Dirkjan Ochtman 2018-04-26 15:15:41 +02:00
  • a6b24891c4 Add TLS test certificates and CA Dirkjan Ochtman 2018-04-26 14:25:59 +02:00
  • 4787bac2c7 Rename Connection to ServerStreamState Dirkjan Ochtman 2018-04-26 13:47:34 +02:00
  • 0f65671013 Fix formatting some more Dirkjan Ochtman 2018-04-26 13:42:58 +02:00
  • 08cbec9d0f Give handle() methods the same type Dirkjan Ochtman 2018-04-26 13:41:47 +02:00
  • 69b90cf349 Move creation of Initial packet into ClientStreamState Dirkjan Ochtman 2018-04-26 13:27:34 +02:00
  • 5b08057740 Move packet handling into ClientStreamState Dirkjan Ochtman 2018-04-26 13:22:09 +02:00
  • 6884a3b91e Move client's stream state into a separate struct Dirkjan Ochtman 2018-04-26 13:16:54 +02:00
  • fa2e68009e Move Connection initialization into new() method Dirkjan Ochtman 2018-04-26 13:03:54 +02:00
  • 769eb512d3 Extensive bugfixing, HTTP/0.9 server Benjamin Saunders 2018-04-25 19:38:55 -07:00
  • 985ee13cb4 Simplify offset types in decoding Dirkjan Ochtman 2018-04-25 18:14:25 +02:00
  • 5e709018b8 Improve formatting with cargo fmt Dirkjan Ochtman 2018-04-25 18:00:36 +02:00
  • 9dde05ae8f Split decoding in order to allow header-dependent packet keys Dirkjan Ochtman 2018-04-25 17:56:55 +02:00
  • 214c9ce99d Use Endpoint in server Connection objects Dirkjan Ochtman 2018-04-25 17:18:50 +02:00
  • 71e5ab38d7 Don't return from poll() while making progress Dirkjan Ochtman 2018-04-25 15:53:53 +02:00
  • d581ea2291 Let client send follow-up Handshake package Dirkjan Ochtman 2018-04-25 15:51:03 +02:00
  • 3d23a3b814 Add new tls::Client::process_handshake_messages() method Dirkjan Ochtman 2018-04-25 15:49:46 +02:00
  • e4bacedd7a Store separate handshake CID in Endpoint Dirkjan Ochtman 2018-04-25 15:49:22 +02:00
  • d3de8da259 Decode server-originated handshake packets Dirkjan Ochtman 2018-04-25 15:00:35 +02:00