The official NGINX Open Source repository.
Go to file
Vladimir Homutov 081682cd3c Crypto buffer frames reordering.
If offset in CRYPTO frame doesn't match expected, following actions are taken:
    a) Duplicate frames or frames within [0...current offset] are ignored
    b) New data from intersecting ranges (starts before current_offset, ends
       after) is consumed
    c) "Future" frames are stored in a sorted queue (min offset .. max offset)

Once a frame is consumed, current offset is updated and the queue is inspected:
    we iterate the queue until the gap is found and act as described
    above for each frame.

The amount of data in buffered frames is limited by corresponding macro.

The CRYPTO and STREAM frame structures are now compatible: they share
the same set of initial fields.  This allows to have code that deals with
both of this frames.

The ordering layer now processes the frame with offset and invokes the
handler when it can organise an ordered stream of data.
2020-04-14 12:16:25 +03:00
auto Refactored HTTP/3 parser. 2020-03-18 13:46:35 +03:00
conf MIME: added font/woff2 type (ticket #1243). 2018-06-15 17:29:55 +03:00
contrib Contrib: vim syntax, update core and 3rd party module directives. 2019-06-30 10:39:01 +03:00
docs nginx-1.17.10-RELEASE 2020-04-14 17:19:26 +03:00
misc Updated OpenSSL used for win32 builds. 2020-04-14 15:15:16 +03:00
src Crypto buffer frames reordering. 2020-04-14 12:16:25 +03:00
.hgtags release-1.17.10 tag 2020-04-14 17:19:26 +03:00