Suffix ranges no longer allowed to set negative start values, to prevent
ranges with negative start from appearing even if total size protection
will be removed.
credits:
@VBart, @PiotrSikora, @mdounin, Sergey Kandaurov, Ruslan Ermilov
Origin commits and their authors:
nginx/nginx@6917d29d409b187d440d8e5012a1353398e3a365 HTTP/2: flow control debugging. by Sergey Kandaurov
nginx/nginx@5a273f2e9042b74467ba217800b9c7b2fe3b4a31 HTTP/2: slightly improved debugging. by Ruslan Ermilov
nginx/nginx@df9b2b9011b89614b143808f983ace8ced0f8873 HTTP/2: limited maximum number of requests in connection. by Valentin Bartenev
nginx/nginx@70d0530f8844205cfd78d71f4f0bf20843af778e HTTP/2: graceful shutdown of active connections (closes#1106). by Valentin Bartenev
nginx/nginx@a7f80ec354dd470a1da09585f8a74dd73d3ce883 Modules compatibility: http2. by Maxim Dounin
nginx/nginx@a85edfeef6cdf4094e6e12b663b7371271cb610f HTTP/2: flushing of the SSL buffer in transition to the idle state. by Valentin Bartenev
nginx/nginx@3c81c08ceae2c22cf5d2ba1b637d685e397a68f2 HTTP/2: refactored ngx_http_v2_send_output_queue(). by Valentin Bartenev
nginx/nginx@3b2f54bc2ea0d9d34b3e181f1221a050824e1c1a HTTP/2: fixed send timer handling. by Valentin Bartenev
nginx/nginx@ce6eb33d15f1efd3c418ce7688ed6de3af81cae9 HTTP/2: avoid sending output queue if there's nothing to send. by Valentin Bartenev
nginx/nginx@da852aa468db80f9e5138aea81a1bebb90e0be51 HTTP/2: always handle streams in error state. by Valentin Bartenev
nginx/nginx@19de85a4d75e7eada6afb8f59ce6d5de0ec10d5c HTTP/2: prevented output of the HEADERS frame for canceled streams. by Valentin Bartenev
nginx/nginx@ab5401d204f9cd638204dcabf45152e32920d021 HTTP/2: always send GOAWAY while worker is shutting down. by Valentin Bartenev
nginx/nginx@586ef968f98c379153fea0e7e80119b149380dc8 HTTP/2: avoid left-shifting signed integer into the sign bit. by Sergey Kandaurov
nginx/nginx@e0b0fa6bf55df8c9de0f89dceff0e1b32860a348 HTTP/2: style. by Piotr Sikora
nginx/nginx@6e38998bacb77b1bcaa16a999a722c0c4f961b8e HTTP/2: fixed the "http request count is zero" alert. by Valentin Bartenev
nginx/nginx@bf5f915a019018f914c3f7c59d4a8baf27b93d67 HTTP/2: avoid adding Content-Length for requests without body. by Valentin Bartenev
nginx/nginx@cd2085be0c497153f9311f0a1986c6be6a18cff4 HTTP/2: prevented double termination of a stream. by Valentin Bartenev
nginx/nginx@24d9b98900a5318778dcab3f765e85a8bed5d136 HTTP/2: fixed a segfault while processing unbuffered upload. by Valentin Bartenev
nginx/nginx@b6e423b7c0360cfd4b37431773cc8311129e1e4d HTTP/2: unbreak build on MSVC. by Valentin Bartenev
nginx/nginx@5429140c018726e8b28c724b06daaf0fe33d2205 HTTP/2: implemented preread buffer for request body (closes#959). by Valentin Bartenev
nginx/nginx@f7673bb50f758cb421ca3a5186c49292a85d08ae HTTP/2: the "421 Misdirected Request" response (closes#848). by Valentin Bartenev
nginx/nginx@22285687c9abac86b91a76b22ef03380f647b29a HTTP/2: send the output queue after emitting WINDOW_UPDATE. by Valentin Bartenev
nginx/nginx@7458f6667530aef24272e5b5dc8815c27b35b05f HTTP/2: skip data frames in case of internal errors. by Valentin Bartenev
nginx/nginx@f4df08b19d5e2e9f5454b3850a0c01bc4f356125 HTTP/2: don't send WINDOW_UPDATE for an empty request body. by Valentin Bartenev
nginx/nginx@eb38cbda2fcf318b9e1f2e463705658c286ec04e HTTP/2: write logs when refusing streams with data. by Maxim Dounin
nginx/nginx@7691b9750e0d3a2137e9d9188db65f7e39624b97 HTTP/2: send WINDOW_UPDATE instead of RST_STREAM with NO_ERROR. by Valentin Bartenev
nginx/nginx@536b5510d1051281bd9411723102333e6d1dbdf2 HTTP/2: refuse streams with data until SETTINGS is acknowledged. by Valentin Bartenev
nginx/nginx@60f0960ab6cb35a6fffc57f32c311c93c28181af HTTP/2: deduplicated some code in ngx_http_v2_state_headers(). by Valentin Bartenev
nginx/nginx@74ee55ec1b49266865646d488026f3e6802e1b85 HTTP/2: support for unbuffered upload of request body. by Valentin Bartenev
nginx/nginx@948eeca222c67dc6954ec0e68bf5c18e97e1a784 HTTP/2: rewritten handling of request body. by Valentin Bartenev
nginx/nginx@cedba685a1eb18ca960b2eab3fafdc2afdbd624a HTTP/2: sending RST_STREAM with NO_ERROR to discard request body. by Valentin Bartenev
nginx/nginx@ae5e76ea06380be3b9191a3ce11f3e86e8878019 HTTP/2: improved debugging of sending control frames. by Valentin Bartenev
nginx/nginx@f72bcf8285bceb07bdf2ce5736f10645a75619f7 HTTP/2: implemented per request timeouts (closes#626). by Valentin Bartenev
nginx/nginx@4e6a490fa7ecb227296e277e2c3b7664441e5b40 HTTP/2: always use temporary pool for processing headers. by Valentin Bartenev
nginx/nginx@8b40f1eaec90be72e791904b345db15f536dca45 HTTP/2: cleaned up state while closing stream. by Valentin Bartenev
nginx/nginx@b5d7d3f024f587682e320d891e52e693939a5f14 HTTP/2: added debug logging of response headers. by Valentin Bartenev
nginx/nginx@fcfe4832927557087365bb5d2e2a296336966317 HTTP/2: use local pointer instead of r->connection. by Valentin Bartenev
nginx/nginx@822fc91b093b85a94ca54fc8c7e2d85fc5a4daf8 HTTP/2: fixed undefined behavior in ngx_http_v2_huff_encode(). by Valentin Bartenev
nginx/nginx@531e6fbfd6c785a7b42c285c12d3f0721cc989c7 HTTP/2: implemented HPACK Huffman encoding for response headers. by Valentin Bartenev
nginx/nginx@9add42c71e71c2af8e67eceeeb773d22a9cab760 HTTP/2: fixed possible buffer overrun (ticket #893). by Valentin Bartenev
nginx/nginx@cb173ff6722635188546ce7dd8f2a737050d82d5 HTTP/2: fixed padding handling in HEADERS frame with CONTINUATION. by Valentin Bartenev
nginx/nginx@8050277acf9d87ac72fe4c5547838a7ba425999a HTTP/2: fixed request length accounting. by Valentin Bartenev
nginx/nginx@405f4f99b4471a3073304f9ce689000dcb592ee4 HTTP/2: fixed excessive memory allocation for pool cleanup. by Valentin Bartenev
nginx/nginx@3351fbe48124b0e56f1478536089073db8fd2d7d HTTP/2: removed unused field from ngx_http_v2_stream_t. by Valentin Bartenev