view docs/xml/change_log_conf.xml @ 9179:ea1f29c2010c

HTTP/2: fixed buffer management with HTTP/2 auto-detection. As part of normal HTTP/2 processing, incomplete frames are saved in the control state using a fixed size memcpy of NGX_HTTP_V2_STATE_BUFFER_SIZE. For this matter, two state buffers are reserved in the HTTP/2 recv buffer. As part of HTTP/2 auto-detection on plain TCP connections, initial data is first read into a buffer specified by the client_header_buffer_size directive that doesn't have state reservation. Previously, this made it possible to over-read the buffer as part of saving the state. The fix is to read the available buffer size rather than a fixed size. Although memcpy of a fixed size can produce a better optimized code, handling of incomplete frames isn't a common execution path, so it was sacrificed for the sake of simplicity of the fix.
author Sergey Kandaurov <pluknet@nginx.com>
date Sat, 21 Oct 2023 18:48:24 +0400
parents 76bc29f06168
children
line wrap: on
line source

<?xml version="1.0" ?>
<!DOCTYPE configuration SYSTEM "../dtd/change_log_conf.dtd" >

<configuration>

<length>76</length>

<start>    *) </start>
<indent>       </indent>

<changes lang="ru">
    <title>Изменения в </title>
    <length>66</length>

    <bugfix>Исправление</bugfix>
    <feature>Добавление</feature>
    <change>Изменение</change>
    <security>Безопасность</security>
    <workaround>Изменение</workaround>
</changes>

<changes lang="en">
    <title>Changes with </title>
    <length>65</length>

    <bugfix>Bugfix</bugfix>
    <feature>Feature</feature>
    <change>Change</change>
    <security>Security</security>
    <workaround>Workaround</workaround>

    <month> Jan </month>
    <month> Feb </month>
    <month> Mar </month>
    <month> Apr </month>
    <month> May </month>
    <month> Jun </month>
    <month> Jul </month>
    <month> Aug </month>
    <month> Sep </month>
    <month> Oct </month>
    <month> Nov </month>
    <month> Dec </month>

</changes>

</configuration>