Commit Graph

  • a0a2e0de1d When closing a QUIC connection, wait for all streams to finish. Roman Arutyunyan 2020-03-24 18:05:45 +0300
  • f75e4e3fef Removed ngx_quic_stream_node_t. Roman Arutyunyan 2020-03-24 16:38:03 +0300
  • 061a42d966 Implemented eof in QUIC streams. Roman Arutyunyan 2020-03-24 13:49:42 +0300
  • c5505648d7 Fixed log initialization. Vladimir Homutov 2020-03-25 19:42:00 +0300
  • 685e7d1451 Advertise our max_idle_timeout in transport parameters. Sergey Kandaurov 2020-03-24 22:12:52 +0300
  • d8d42e29e7 QUIC streams don't need filter_need_in_memory after 7f0981be07c4. Sergey Kandaurov 2020-03-24 19:17:57 +0300
  • 8c26e1d148 Logging cleanup. Vladimir Homutov 2020-03-24 17:03:39 +0300
  • 780f4f660c Added QUIC version check for sending HANDSHAKE_DONE frame. Vladimir Homutov 2020-03-24 12:15:39 +0300
  • 57544f7589 Implemented sending HANDSHAKE_DONE frame after handshake. Vladimir Homutov 2020-03-24 11:59:14 +0300
  • f20af3dabc Fixed client certificate verification. Sergey Kandaurov 2020-03-23 20:48:34 +0300
  • 5ac5e51fdf Respect QUIC max_idle_timeout. Roman Arutyunyan 2020-03-23 21:20:20 +0300
  • 9975b088bb Allow ngx_queue_frame() to insert frame in the front. Roman Arutyunyan 2020-03-23 19:42:09 +0300
  • ede2656c60 Support for HTTP/3 ALPN. Roman Arutyunyan 2020-03-23 19:26:24 +0300
  • 77a4c2d172 Put zero in 'First ACK Range' when acknowledging one packet. Roman Arutyunyan 2020-03-23 15:32:24 +0300
  • f4562d7ed9 Avoid using QUIC connection after CONNECTION_CLOSE. Roman Arutyunyan 2020-03-23 19:19:44 +0300
  • 3fa1dec9c7 Better flow control and buffering for QUIC streams. Roman Arutyunyan 2020-03-23 15:49:31 +0300
  • 72b0a1b32a Limit output QUIC packets with client max_packet_size. Roman Arutyunyan 2020-03-23 18:47:17 +0300
  • 280c18bdce Fixed received ACK fields order in debug logging. Sergey Kandaurov 2020-03-23 18:20:42 +0300
  • 5018d9eecc Connection states code cleanup. Vladimir Homutov 2020-03-23 14:53:04 +0300
  • b3129b46f6 Skip unknown transport parameters. Vladimir Homutov 2020-03-23 12:57:24 +0300
  • 6a3a0ee19f Add unsupported version into log. Vladimir Homutov 2020-03-23 10:57:28 +0300
  • 4490aefa70 Added processing of client transport parameters. Vladimir Homutov 2020-03-21 20:51:59 +0300
  • de095d5f1d Fixed CRYPTO offset generation. Sergey Kandaurov 2020-03-22 12:15:54 +0300
  • ccb0049e3f Closing connection on NGX_QUIC_FT_CONNECTION_CLOSE. Sergey Kandaurov 2020-03-22 11:35:15 +0300
  • 63e6c9349e Implemented parsing of remaining frame types. Vladimir Homutov 2020-03-21 20:49:55 +0300
  • 2af37e507d Fixed parsing NGX_QUIC_FT_CONNECTION_CLOSE. Sergey Kandaurov 2020-03-21 19:45:24 +0300
  • 79e49c2a16 Fixed buffer overrun in create_transport_params() with -24. Sergey Kandaurov 2020-03-21 19:22:39 +0300
  • 4764ef1590 Fixed build with macOS's long long abomination. Sergey Kandaurov 2020-03-21 18:44:10 +0300
  • 0f77eac8af Removed unused variable. Roman Arutyunyan 2020-03-20 23:49:42 +0300
  • b26d5deae4 Removed unused variable. Vladimir Homutov 2020-03-20 20:39:41 +0300
  • 21b6854bfe Added checks for permitted frame types. Vladimir Homutov 2020-03-20 20:03:44 +0300
  • 1d35d0f31e Fixed parsing of CONNECTION CLOSE2 frames. Vladimir Homutov 2020-03-20 15:14:00 +0300
  • 6565860bd8 Added parsing of CONNECTION_CLOSE2 frame (0x1D). Vladimir Homutov 2020-03-20 14:50:05 +0300
  • 4096676897 Adedd the http "quic" variable. Vladimir Homutov 2020-03-20 12:44:45 +0300
  • 30de0ca52d Configurable transport parameters. Vladimir Homutov 2020-03-20 13:47:44 +0300
  • 5f9b188c21 Reset QUIC timeout on every datagram. Roman Arutyunyan 2020-03-19 21:46:28 +0300
  • 3ba0d03a6e Double MAX_STREAMS on STREAMS_BLOCKED. Roman Arutyunyan 2020-03-20 10:14:58 +0300
  • ea6809ac73 Fixed ACKs to packet numbers greater than 63. Roman Arutyunyan 2020-03-20 09:23:31 +0300
  • 2710df57c7 Fixed specifiers in "quic packet length" logging. Sergey Kandaurov 2020-03-19 17:33:36 +0300
  • 06294ab67a Fixed build. Sergey Kandaurov 2020-03-19 17:22:43 +0300
  • 1b4b8af624 The ngx_quic_frame_len() function is not really needed. Vladimir Homutov 2020-03-19 14:59:55 +0300
  • 18ce6d5ebf Added boundaries checks into frame parser. Vladimir Homutov 2020-03-19 17:07:12 +0300
  • 4cbfc07394 Send a FIN frame when QUIC stream is closed. Roman Arutyunyan 2020-03-19 15:34:35 +0300
  • 8ad2707d4f Fixed header creation for header_only responses in HTTP/3. Roman Arutyunyan 2020-03-19 15:03:09 +0300
  • 31e794f0ad MAX_DATA frame parser/handler. Sergey Kandaurov 2020-03-18 23:26:26 +0300
  • 33d8317dd5 Added parsing of STREAMS BLOCKED frames. Vladimir Homutov 2020-03-19 11:15:43 +0300
  • 6aa611c314 Implemented send_alert callback, CONNECTION_CLOSE writer. Sergey Kandaurov 2020-03-18 23:07:40 +0300
  • 0561665873 Added copying addr_text to QUIC stream connections. Roman Arutyunyan 2020-03-18 20:28:28 +0300
  • e63accd7bd HTTP/3 $request_line variable. Roman Arutyunyan 2020-03-18 20:22:16 +0300
  • 5aa8e519c9 Moved setting QUIC methods to runtime. Roman Arutyunyan 2020-03-18 16:37:16 +0300
  • 50f919cec4 Added parsing of RESET_STREAM and STOP_SENDING frames Vladimir Homutov 2020-03-18 16:35:11 +0300
  • 04d037b239 Fixed pointer increment while parsing HTTP/3 header. Roman Arutyunyan 2020-03-18 15:28:20 +0300
  • 2973465556 Implemented creation of server unidirectional streams. Vladimir Homutov 2020-03-18 13:49:39 +0300
  • d36684447c Fixed HTTP/3 server stream creation. Roman Arutyunyan 2020-03-18 14:10:44 +0300
  • 85430505fe Removed comment. Roman Arutyunyan 2020-03-18 14:09:50 +0300
  • 01dc7445f0 Refactored HTTP/3 parser. Roman Arutyunyan 2020-03-18 13:46:35 +0300
  • 023dbc3cfb Style and handlers. Vladimir Homutov 2020-03-18 13:02:19 +0300
  • 23dc6a68a4 Extracted transport part of the code into separate file. Vladimir Homutov 2020-03-18 12:58:27 +0300
  • a33119694b
    Add breaks to void fall through Jobs Gate 2020-03-18 05:06:31 +0800
  • cd54c1cab7 Firefox fixes. Vladimir Homutov 2020-03-17 14:10:37 +0300
  • ca7943393e Fixed a typo with OpenSSL. Vladimir Homutov 2020-03-16 19:42:57 +0300
  • d0ebfa4cb9 Split transport and crypto parts into separate files. Vladimir Homutov 2020-03-16 19:00:47 +0300
  • 0d8984083b Added processing of CONNECTION CLOSE frames. Vladimir Homutov 2020-03-16 13:06:43 +0300
  • 5399670fcc Temporary fix for header null-termination in HTTP/3. Roman Arutyunyan 2020-03-14 13:18:55 +0300
  • 1ac31c01b4 Fixed header protection application with pn length > 1. Sergey Kandaurov 2020-03-14 03:15:09 +0300
  • 11dfc1c943 Fixed sanitizer errors. Roman Arutyunyan 2020-03-13 20:44:32 +0300
  • 8f35d300ed Added check for initialized c->ssl before calling SSL shutdown. Vladimir Homutov 2020-03-13 18:55:58 +0300
  • 7739b6073b HTTP/3. Roman Arutyunyan 2020-03-13 19:36:33 +0300
  • 365b77b587 Fixed infinite loop in ngx_quic_stream_send_chain(). Roman Arutyunyan 2020-03-13 18:30:37 +0300
  • a1ac82ca0f Implemented tracking offset in STREAM frames. Roman Arutyunyan 2020-03-13 18:29:50 +0300
  • dcb6aab460 Implemented ngx_quic_stream_send_chain() method. Roman Arutyunyan 2020-03-13 15:56:10 +0300
  • 05d1464c68 Stream "connection" read/write methods. Vladimir Homutov 2020-03-13 14:39:23 +0300
  • 5bc8cd4044 Fix build. Sergey Kandaurov 2020-03-12 18:08:26 +0300
  • 21eaac9a3e Removed hardcoded CRYPTO and ACK frame sizes. Vladimir Homutov 2020-03-12 14:23:27 +0300
  • 4f4f56f013 HTTP/QUIC interface reworked. Vladimir Homutov 2020-03-12 16:54:43 +0300
  • 6bf6635d86 Initial parsing of STREAM frames. Vladimir Homutov 2020-03-11 15:41:35 +0300
  • 0d10672137 Added support of multiple QUIC packets in single datagram. Vladimir Homutov 2020-03-12 14:43:24 +0300
  • 0d1c27b580 Added more transport parameters. Vladimir Homutov 2020-03-11 15:43:23 +0300
  • 9311e59443 Compatibility with BoringSSL revised QUIC encryption secret APIs. Sergey Kandaurov 2020-03-11 21:53:02 +0300
  • df544ee47d Chacha20 header protection support with BoringSSL. Sergey Kandaurov 2020-03-10 19:15:12 +0300
  • 7e417544bb ChaCha20 / Poly1305 initial support. Sergey Kandaurov 2020-03-10 19:13:09 +0300
  • 4b59999afe Using SSL cipher suite id to obtain cipher/digest, part 2. Sergey Kandaurov 2020-03-10 19:12:22 +0300
  • 385408732e Fixed nonce in short packet protection. Sergey Kandaurov 2020-03-10 18:40:18 +0300
  • c2afb5ec8a Generic payload handler for quic packets. Vladimir Homutov 2020-03-10 18:24:39 +0300
  • 547a1a0159 Fixed header protection with negotiated cipher suite. Sergey Kandaurov 2020-03-05 20:05:40 +0300
  • ed0533c2c2 Initial packets are protected with AEAD_AES_128_GCM. Sergey Kandaurov 2020-03-05 19:49:49 +0300
  • b0f1302e7d Fixed write secret logging in set_encryption_secrets callback. Sergey Kandaurov 2020-03-05 18:01:18 +0300
  • 08691ef3d4 Fixed format specifiers. Vladimir Homutov 2020-03-05 17:51:22 +0300
  • fe30a167d2 Style. Vladimir Homutov 2020-03-05 17:24:04 +0300
  • 32b2728ebb Added functions to decrypt long packets. Vladimir Homutov 2020-03-05 17:18:33 +0300
  • 12fc8a8bac Fixed ngx_quic_varint_len misuse in the previous change. Sergey Kandaurov 2020-03-05 15:26:15 +0300
  • e3e5e21ed5 Macro for calculating size of varint. Vladimir Homutov 2020-03-04 23:24:51 +0300
  • 941d4f1c2e Fixed packet "input" debug log message. Sergey Kandaurov 2020-03-05 13:10:01 +0300
  • 0bc9857b47 Using SSL cipher suite id to obtain cipher/digest, part 1. Sergey Kandaurov 2020-03-05 13:00:59 +0300
  • 46bd853801 Using cached ssl_conn in ngx_quic_handshake_input(), NFC. Sergey Kandaurov 2020-03-05 12:51:49 +0300
  • 9fa29e4043 Adjusted transport parameters stub for active_connection_id_limit. Sergey Kandaurov 2020-03-04 16:05:39 +0300
  • 309cdf496d Implemented improved version of quic_output(). Vladimir Homutov 2020-03-04 15:52:12 +0300
  • 3c17072122 QUIC handshake final bits. Sergey Kandaurov 2020-03-03 17:25:02 +0300
  • d2deb6d6b4 Split frame and packet generation into separate steps. Vladimir Homutov 2020-03-03 13:30:30 +0300
  • 820be1b846 Aded the "ngx_quic_hexdump" macro. Vladimir Homutov 2020-03-02 21:38:03 +0300