Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nginx/nginx
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: release-1.26.2
Choose a base ref
...
head repository: nginx/nginx
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: release-1.26.3
Choose a head ref
  • 17 commits
  • 17 files changed
  • 4 contributors

Commits on Aug 12, 2024

  1. release-1.26.2 tag

    pluknet committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    99a5842 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2025

  1. Version bump.

    pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    11b890d View commit details
    Browse the repository at this point in the history
  2. Switched GNUmakefile from hg to git.

    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    bfe0a1f View commit details
    Browse the repository at this point in the history
  3. Moved LICENSE and README to root.

    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    35a1420 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cfd6833 View commit details
    Browse the repository at this point in the history
  5. Mp4: fixed handling an empty run of chunks in stsc atom.

    A specially crafted mp4 file with an empty run of chunks in the stsc atom
    and a large value for samples per chunk for that run, combined with a
    specially crafted request, allowed to store that large value in prev_samples
    and later in trak->end_chunk_samples while in ngx_http_mp4_crop_stsc_data().
    Later in ngx_http_mp4_update_stsz_atom() this could result in buffer
    overread while calculating trak->end_chunk_samples_size.
    
    Now the value of samples per chunk specified for an empty run is ignored.
    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    4712dee View commit details
    Browse the repository at this point in the history
  6. Mp4: unordered stsc chunks error for the final chunk.

    Currently an error is triggered if any of the chunk runs in stsc are
    unordered.  This however does not include the final chunk run, which
    ends with trak->chunks + 1.  The previous chunk index can be larger
    leading to a 32-bit overflow.  This could allow to skip the validity
    check "if (start_sample > n)".  This could later lead to a large
    trak->start_chunk/trak->end_chunk, which would be caught later in
    ngx_http_mp4_update_stco_atom() or ngx_http_mp4_update_co64_atom().
    
    While there are no implications of the validity check being avoided,
    the change still adds a check to ensure the final chunk run is ordered,
    to produce a meaningful error and avoid a potential integer overflow.
    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    1ebe58a View commit details
    Browse the repository at this point in the history
  7. Mp4: prevent chunk index underflow.

    When cropping stsc atom, it's assumed that chunk index is never 0.
    Based on this assumption, start_chunk and end_chunk are calculated
    by subtracting 1 from it.  If chunk index is zero, start_chunk or
    end_chunk may underflow, which will later trigger
    "start/end time is out mp4 stco chunks" error.  The change adds an
    explicit check for zero chunk index to avoid underflow and report
    a proper error.
    
    Zero chunk index is explicitly banned in ISO/IEC 14496-12, 8.7.4
    Sample To Chunk Box.  It's also implicitly banned in QuickTime File
    Format specification.  Description of chunk offset table references
    "Chunk 1" as the first table element.
    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    e9e83db View commit details
    Browse the repository at this point in the history
  8. QUIC: ignore version negotiation packets.

    Previously, such packets were treated as long header packets with unknown
    version 0, and a version negotiation packet was sent in response.  This
    could be used to set up an infinite traffic reflect loop with another nginx
    instance.
    
    Now version negotiation packets are ignored.  As per RFC 9000, Section 6.1:
    
      An endpoint MUST NOT send a Version Negotiation packet in response to
      receiving a Version Negotiation packet.
    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    0d11f28 View commit details
    Browse the repository at this point in the history
  9. QUIC: fixed accessing a released stream.

    While trying to close a stream in ngx_quic_close_streams() by calling its
    read event handler, the next stream saved prior to that could be destroyed
    recursively.  This caused a segfault while trying to access the next stream.
    
    The way the next stream could be destroyed in HTTP/3 is the following.
    A request stream read event handler ngx_http_request_handler() could
    end up calling ngx_http_v3_send_cancel_stream() to report a cancelled
    request stream in the decoder stream.  If sending stream cancellation
    decoder instruction fails for any reason, and the decoder stream is the
    next in order after the request stream, the issue is triggered.
    
    The fix is to postpone calling read event handlers for all streams being
    closed to avoid closing a released stream.
    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    5c8a92f View commit details
    Browse the repository at this point in the history
  10. QUIC: prevented BIO leak in case of error.

    arut authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    9778240 View commit details
    Browse the repository at this point in the history
  11. Gzip: compatibility with recent zlib-ng 2.2.x versions.

    It now uses 5/4 times more memory for the pending buffer.
    
    Further, a single allocation is now used, which takes additional 56 bytes
    for deflate_allocs in 64-bit mode aligned to 16, to store sub-allocation
    pointers, and the total allocation size now padded up to 128 bytes, which
    takes theoretically 200 additional bytes in total.  This fits though into
    "4 * (64 + sizeof(void*))" additional space for ZALLOC used in zlib-ng
    2.1.x versions.  The comment was updated to reflect this.
    pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    9cda581 View commit details
    Browse the repository at this point in the history
  12. QUIC: added missing casts in iov_base assignments.

    This is consistent with the rest of the code and fixes build on systems
    with non-standard definition of struct iovec (Solaris, Illumos).
    bavshin-f5 authored and pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    2e42c1e View commit details
    Browse the repository at this point in the history
  13. Configure: fixed --with-libatomic=DIR with recent libatomic_ops.

    The build location of the resulting libatomic_ops.a was changed in v7.4.0
    after converting libatomic_ops to use libtool.  The fix is to use library
    from the install path, this allows building with both old and new versions.
    
    Initially reported here:
    https://mailman.nginx.org/pipermail/nginx/2018-April/056054.html
    pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    a43f127 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    95f9116 View commit details
    Browse the repository at this point in the history
  15. SNI: added restriction for TLSv1.3 cross-SNI session resumption.

    In OpenSSL, session resumption always happens in the default SSL context,
    prior to invoking the SNI callback.  Further, unlike in TLSv1.2 and older
    protocols, SSL_get_servername() returns values received in the resumption
    handshake, which may be different from the value in the initial handshake.
    Notably, this makes the restriction added in b720f65 insufficient for
    sessions resumed with different SNI server name.
    
    Considering the example from b720f65, previously, a client was able to
    request example.org by presenting a certificate for example.org, then to
    resume and request example.com.
    
    The fix is to reject handshakes resumed with a different server name, if
    verification of client certificates is enabled in a corresponding server
    configuration.
    pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    13935cf View commit details
    Browse the repository at this point in the history
  16. nginx-1.26.3-RELEASE

    pluknet committed Feb 5, 2025
    Configuration menu
    Copy the full SHA
    1be0fb0 View commit details
    Browse the repository at this point in the history
Loading