Commit Graph

  • ed244e95a6 use the new AckHandlers in the Session Marten Seemann 2016-04-22 19:05:45 +07:00
  • 063cd4a7bd calculate entropy when there are NACK ranges Marten Seemann 2016-04-22 18:35:19 +07:00
  • 3e5f43f45a calculate the Entropy byte for the highest in order received packet Marten Seemann 2016-04-22 17:50:04 +07:00
  • aad1fd2ee7 keep track of highest in order received packet number Marten Seemann 2016-04-22 17:32:45 +07:00
  • 62a844d326 store NackRanges instead of pointers to NackRanges Marten Seemann 2016-04-22 17:27:53 +07:00
  • 6caf1f74e3 reject duplicate packets and packets with packet number 0 Marten Seemann 2016-04-22 16:25:59 +07:00
  • 07419c25c5 use old AckHandler to fulfil IncomingPacketAckHandler interface Marten Seemann 2016-04-22 15:05:55 +07:00
  • 9cc161e2f4 validate NACK ranges when receiving an AckFrame Marten Seemann 2016-04-22 14:10:22 +07:00
  • df0f4913c8 minor improvement of AckFrame tests Marten Seemann 2016-04-22 13:54:03 +07:00
  • 4eb088caa6 increase missingReports counter for NACKed packets Marten Seemann 2016-04-22 13:15:55 +07:00
  • 0fb7038747 calculate expected entropy in seperate function for ReceivedAck Marten Seemann 2016-04-22 11:28:29 +07:00
  • e4bcf6f933 log stream closes Lucas Clemente 2016-04-21 21:38:21 +02:00
  • bda03de882 ack NACK handling Marten Seemann 2016-04-21 23:01:39 +07:00
  • 5cdcaad226 enable server test Lucas Clemente 2016-04-21 17:03:29 +02:00
  • 1e83ef967e re-add trivial ack handling to session, will be removed later Lucas Clemente 2016-04-21 17:02:45 +02:00
  • 49701139cc fix a packet packer race Lucas Clemente 2016-04-21 17:02:26 +02:00
  • b17d9a7e55 change public header to correctly state 48bit packet numbers Lucas Clemente 2016-04-21 17:02:15 +02:00
  • f513a702fa add more (pending) server tests Lucas Clemente 2016-04-21 09:58:59 +02:00
  • 71580780d6 add some server tests Lucas Clemente 2016-04-21 09:55:13 +02:00
  • fd28921bdd test version negotiation packet Lucas Clemente 2016-04-21 09:21:21 +02:00
  • bb3c8b707b fix randomness Lucas Clemente 2016-04-20 22:23:00 +02:00
  • b3e88f8019 add tests for packet unpacker and fix a couple of bugs :) Lucas Clemente 2016-04-20 22:13:56 +02:00
  • 7efc7f79d2 validate that CryptoSetup is an AEAD Lucas Clemente 2016-04-20 18:30:49 +02:00
  • eb7d812004 extract packet unpacking from session into packet_unpacker Lucas Clemente 2016-04-20 18:30:38 +02:00
  • 7a5f5f2306 mock MaxLength for RST_STREAM and STOP_WAITING Lucas Clemente 2016-04-20 18:30:14 +02:00
  • 3b2d0efea5 simplify session by moving packet packing to separate class Lucas Clemente 2016-04-20 17:18:36 +02:00
  • e5559d37d3 store the end of the NACK range instead of its length Marten Seemann 2016-04-21 18:28:50 +07:00
  • 88cd62e7fe add missing test for Entropy calculation Marten Seemann 2016-04-21 16:51:07 +07:00
  • 9385aac35c ack ACK handling for ACKs without NACKs Marten Seemann 2016-04-21 16:36:47 +07:00
  • e18697a5bc calculate the EntropyByte of every sent packet Marten Seemann 2016-04-21 16:32:41 +07:00
  • 011932f357 better tests for outgoingAckHandler.SendPacket() Marten Seemann 2016-04-21 13:06:46 +07:00
  • 4b0b8def8d move EntropyAccumulator to AckHandler package Marten Seemann 2016-04-21 08:41:54 +07:00
  • 6d9d9a1c29 send packet numbers with 6byte for simpler session tests Lucas Clemente 2016-04-20 17:13:06 +02:00
  • 2e87459677 implement stream frame splitting in StreamFrame Lucas Clemente 2016-04-20 16:16:01 +02:00
  • 6be70bc29c add Frame.MaxLength and implement it for currently needed frames Lucas Clemente 2016-04-20 15:06:10 +02:00
  • 93cea4f5de improve close frame parsing Lucas Clemente 2016-04-20 14:52:23 +02:00
  • cfb74dbf06 calculate highest in-order ACKed packet from an ACK frame Marten Seemann 2016-04-20 19:37:20 +07:00
  • 184890cb4a add implementation for SentPacket in OutgoingPacketAckHandler Marten Seemann 2016-04-20 18:46:39 +07:00
  • 0164feff8f add Packet class Marten Seemann 2016-04-20 18:37:55 +07:00
  • 99ae512c51 add more stream tests Lucas Clemente 2016-04-20 12:20:30 +02:00
  • 650e9d38d3 move nackrange to frames Lucas Clemente 2016-04-20 12:15:03 +02:00
  • 80e6569d5d add ack handler interfaces Lucas Clemente 2016-04-20 12:06:52 +02:00
  • c5d66fe5ff check ACK entropy before further handling of the ACK frame Marten Seemann 2016-04-20 16:46:44 +07:00
  • c455ae0a05 add support for NACK ranges when writing ACK frames Marten Seemann 2016-04-20 11:57:09 +07:00
  • b084faff88 fix reading of multiple-byte missingPacketSequenceNumberDeltas in AckFrame parsing Marten Seemann 2016-04-20 11:48:50 +07:00
  • daa0fe86bd replace AckFrame.HasNack by method Marten Seemann 2016-04-20 11:45:00 +07:00
  • 1260faba4a handle stream offset properly when receiving data Lucas Clemente 2016-04-19 23:15:49 +02:00
  • 2ca580e73f add basic AckHandler Marten Seemann 2016-04-19 20:47:12 +07:00
  • 5381bfe220 implement NACK range parsing in ACK frames Marten Seemann 2016-04-19 20:39:40 +07:00
  • 83416ab861 remove ack lock message Lucas Clemente 2016-04-19 15:23:42 +02:00
  • fbb89f5467 fix content-length handling and multiple writes in http2 responsewriter Lucas Clemente 2016-04-19 14:35:02 +02:00
  • f2db542b3f copy data in Stream.Write Lucas Clemente 2016-04-19 14:34:11 +02:00
  • 7ac043dab7 increase hpack window size to chrome default value Lucas Clemente 2016-04-19 13:55:49 +02:00
  • 999b4e7b0a only write response header once Lucas Clemente 2016-04-19 13:55:31 +02:00
  • 4e1942a76e improve inchoate CHLO recognition Lucas Clemente 2016-04-19 13:37:59 +02:00
  • 9076990cd7 don't use the h2framer's built-in header decoding, it errors with chrome Lucas Clemente 2016-04-19 12:09:31 +02:00
  • d6501dc34c only open streams if we have a response body, fixes problems with 404s Lucas Clemente 2016-04-19 12:02:31 +02:00
  • 90cb792477 create a QuicError type Marten Seemann 2016-04-19 15:54:18 +07:00
  • 600d3805a2 send ConnectionCloseFrame as a response to unhandled frames Marten Seemann 2016-04-19 13:03:51 +07:00
  • ec64be840e introduce an ErrorCode Marten Seemann 2016-04-19 12:43:04 +07:00
  • 30998cef1f always send ACK frames together with Stream frames Marten Seemann 2016-04-19 12:18:13 +07:00
  • b52455c3f7 add method to Write ConnectionClose frames Marten Seemann 2016-04-19 10:20:48 +07:00
  • e0f5deedd5 add very basic http handling using the stlib to example server Lucas Clemente 2016-04-18 21:08:47 +02:00
  • ec718ffe99 log new connections Lucas Clemente 2016-04-18 21:07:22 +02:00
  • 673f91ee63 accept NACKs, WINDOW_UPDATEs and BLOCKEDs, but don't handle them yet Lucas Clemente 2016-04-18 21:07:00 +02:00
  • 1fb937e7ef protect maps in Stream with mutexes Lucas Clemente 2016-04-18 17:00:18 +02:00
  • 5b59c2c2b0 serve multiple http requests per connection Lucas Clemente 2016-04-18 14:54:02 +02:00
  • 9cbeb49d49 change AEAD interface to use byte slices, simplifying its usage Lucas Clemente 2016-04-18 14:37:34 +02:00
  • dc4e3c73e4 remove Session.SendFrames Lucas Clemente 2016-04-18 14:10:22 +02:00
  • e9967e990a use streams in example server Lucas Clemente 2016-04-18 14:09:29 +02:00
  • 9757ad62f2 add stream.Close Lucas Clemente 2016-04-18 14:08:56 +02:00
  • c7bb7acaf8 add Session.NewStream Lucas Clemente 2016-04-18 14:01:52 +02:00
  • 07e7708506 change StreamCallback to include the session Lucas Clemente 2016-04-18 14:01:35 +02:00
  • 57b144bdef fix pending cryptosetup tests Lucas Clemente 2016-04-18 12:38:41 +02:00
  • f5ec5262d1 stop crypto thread after handshake is complete or errors Lucas Clemente 2016-04-18 11:10:00 +02:00
  • 758fdeb3d3 change CryptoSetup to use streams Lucas Clemente 2016-04-18 11:03:49 +02:00
  • 52268753e9 implement Stream.ReadByte Lucas Clemente 2016-04-18 11:00:26 +02:00
  • c430fbd5d4 implement a caching reader needed for crypto streams Lucas Clemente 2016-04-18 10:59:10 +02:00
  • bc736feada add an rw mutex to crypto setup in preparation for using the new streams Lucas Clemente 2016-04-17 19:14:47 +02:00
  • d32a1b8a2b add tests for crypto escalation Lucas Clemente 2016-04-17 17:11:54 +02:00
  • 5c6e72303e add more crypto setup tests Lucas Clemente 2016-04-17 16:46:44 +02:00
  • 4b71b14bd8 fix stream tests Lucas Clemente 2016-04-17 15:02:12 +02:00
  • a0eac5f160 split large StreamFrames into multiple smaller ones before sending Marten Seemann 2016-04-17 17:38:21 +07:00
  • a90c9ba173 add a Write method for Streams Marten Seemann 2016-04-17 16:53:04 +07:00
  • 1097698c4b send entropy in packets, validate entropy in received ACKs Marten Seemann 2016-04-17 14:21:36 +07:00
  • 922a2975e8 use PacketNumber type in ACK frame parsing, fix linter warnings Marten Seemann 2016-04-17 13:54:26 +07:00
  • c69992cae4 parse RST_STREAM frames Marten Seemann 2016-04-17 10:46:31 +07:00
  • 7e65940188 add more cryptosetup tests Lucas Clemente 2016-04-17 00:37:07 +02:00
  • b5c7bcda18 extract SHLO into separate method and test it Lucas Clemente 2016-04-17 00:31:30 +02:00
  • cbbf29e3d5 add some cryptosetup tests Lucas Clemente 2016-04-17 00:22:41 +02:00
  • ac0eed61f2 introduce crypto.Signer interface and hide RSA implementation Lucas Clemente 2016-04-17 00:21:54 +02:00
  • aa894a6df7 add some simple tests Lucas Clemente 2016-04-16 23:50:06 +02:00
  • fd485dc50a add test commands to readme Lucas Clemente 2016-04-16 22:37:34 +02:00
  • 717e4e0ecd fix key derivation test Lucas Clemente 2016-04-16 22:22:33 +02:00
  • 7480822230 reduce debug messages Lucas Clemente 2016-04-16 22:17:36 +02:00
  • 92c48d0976 simplify frame type switch, introduce temporary stream 1 offset variable Lucas Clemente 2016-04-16 22:10:57 +02:00
  • aa5d2be491 implement forward secure encryption Lucas Clemente 2016-04-16 22:08:57 +02:00
  • 7aec145d52 adopt chacha20 implementation to upstream changes Lucas Clemente 2016-04-16 20:46:33 +02:00
  • 3eabb4a46c use Stream object in the Session Marten Seemann 2016-04-17 00:19:23 +07:00
  • 66b52e915d introduce StreamID type Marten Seemann 2016-04-16 23:51:01 +07:00