<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/asgi/tests.py, branch 6.0.4</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=6.0.4</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=6.0.4'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-04-07T11:22:54Z</updated>
<entry>
<title>[6.0.x] Fixed CVE-2026-33034 -- Enforced DATA_UPLOAD_MAX_MEMORY_SIZE on body size in ASGI requests.</title>
<updated>2026-04-07T11:22:54Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-03-11T13:26:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=393dbc53e848876fdba92fbf02e10ee6a6eace6b'/>
<id>urn:sha1:393dbc53e848876fdba92fbf02e10ee6a6eace6b</id>
<content type='text'>
The `body` property in `HttpRequest` checks DATA_UPLOAD_MAX_MEMORY_SIZE
against the declared `Content-Length` header before reading. On the ASGI
path, chunked requests carry no `Content-Length`, so the check evaluated
to 0 and always passed regardless of the actual body size.

This work adds a new check on the actual number of bytes consumed.

Thanks to Superior for the report, and to Jake Howard and Jacob Walls
for reviews.

Backport of 953c238058c0ce387a1a41cb491bfc1875d73ad0 from main.
</content>
</entry>
<entry>
<title>[6.0.x] Fixed CVE-2026-3902 -- Ignored headers with underscores in ASGIRequest.</title>
<updated>2026-04-07T11:20:07Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-01-22T22:01:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a623c3982857e80324448f85c7faf9a6710330ef'/>
<id>urn:sha1:a623c3982857e80324448f85c7faf9a6710330ef</id>
<content type='text'>
Thanks Tarek Nakkouch for the report and Jake Howard and Natalia Bidart
for reviews.

Backport of caf90a971f09323775ed0cacf94eadaf39d040e0 from main.
</content>
</entry>
<entry>
<title>[6.0.x] Fixed CVE-2025-14550 -- Optimized repeated header parsing in ASGI requests.</title>
<updated>2026-02-03T13:00:14Z</updated>
<author>
<name>Jake Howard</name>
<email>git@theorangeone.net</email>
</author>
<published>2026-01-14T15:25:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=972dbdd4f7f69e9c405e6fe12a1b90e4713c1611'/>
<id>urn:sha1:972dbdd4f7f69e9c405e6fe12a1b90e4713c1611</id>
<content type='text'>
Thanks Jiyong Yang for the report, and Natalia Bidart, Jacob Walls, and
Shai Berger for reviews.

Backport of eb22e1d6d643360e952609ef562c139a100ea4eb from main.
</content>
</entry>
<entry>
<title>Fixed #36399 -- Added support for multiple Cookie headers in HTTP/2 for ASGIRequest.</title>
<updated>2025-08-21T14:48:54Z</updated>
<author>
<name>SaJH</name>
<email>wogur981208@gmail.com</email>
</author>
<published>2025-08-20T13:54:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f2a6c0477fd95518ffb4fcea8e655a9062874bd2'/>
<id>urn:sha1:f2a6c0477fd95518ffb4fcea8e655a9062874bd2</id>
<content type='text'>
Signed-off-by: SaJH &lt;wogur981208@gmail.com&gt;
</content>
</entry>
<entry>
<title>Refs #36467 -- Added test for Set-Cookie header values in ASGIHandler.</title>
<updated>2025-06-18T09:25:14Z</updated>
<author>
<name>Sarah Boyce</name>
<email>42296566+sarahboyce@users.noreply.github.com</email>
</author>
<published>2025-06-18T06:55:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=1cd91d5d4bfb65ea7b5c7177310f849d05037609'/>
<id>urn:sha1:1cd91d5d4bfb65ea7b5c7177310f849d05037609</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36281 -- Used async-safe write in ASGIHandler.read_body().</title>
<updated>2025-05-04T12:53:08Z</updated>
<author>
<name>신우진</name>
<email>zebra0345@naver.com</email>
</author>
<published>2025-04-08T07:20:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=1fb3f57e81239a75eb8f873b392e11534c041fdc'/>
<id>urn:sha1:1fb3f57e81239a75eb8f873b392e11534c041fdc</id>
<content type='text'>
Thanks Carlton Gibson for reviews.
</content>
</entry>
<entry>
<title>Fixed warnings per flake8 7.2.0.</title>
<updated>2025-03-30T15:54:15Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-03-30T15:54:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=281910ff8e9ae98fa78ee5d26ae3f0b713ccf418'/>
<id>urn:sha1:281910ff8e9ae98fa78ee5d26ae3f0b713ccf418</id>
<content type='text'>
https://github.com/PyCQA/flake8/releases/tag/7.2.0</content>
</entry>
<entry>
<title>Refs #33735 -- Captured stderr during ASGITest.test_file_response.</title>
<updated>2024-11-27T10:00:05Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2024-11-23T21:43:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a5bc0cfd35c50d3446215c0674e60786d9e498d1'/>
<id>urn:sha1:a5bc0cfd35c50d3446215c0674e60786d9e498d1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #35059 -- Used asyncio.Event in ASGITest.test_asyncio_cancel_error to enforce specific interleaving.</title>
<updated>2024-05-28T17:36:34Z</updated>
<author>
<name>Carlton Gibson</name>
<email>carlton.gibson@noumenal.es</email>
</author>
<published>2024-05-28T17:36:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f4a08b6ddfcacadfe9ff8364bf1c6c54f5dd370f'/>
<id>urn:sha1:f4a08b6ddfcacadfe9ff8364bf1c6c54f5dd370f</id>
<content type='text'>
Sleep call leads to a hard to trace error in CI. Using an Event is
more deterministic, and should be less prone to environment
variations.

Bug in 11393ab1316f973c5fbb534305750740d909b4e4.</content>
</entry>
<entry>
<title>Fixed #35059 -- Ensured that ASGIHandler always sends the request_finished signal.</title>
<updated>2024-01-31T17:40:57Z</updated>
<author>
<name>James Thorniley</name>
<email>james.thorniley@mixcloud.com</email>
</author>
<published>2024-01-04T13:14:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=11393ab1316f973c5fbb534305750740d909b4e4'/>
<id>urn:sha1:11393ab1316f973c5fbb534305750740d909b4e4</id>
<content type='text'>
Prior to this work, when async tasks that process the request are cancelled due
to receiving an early "http.disconnect" ASGI message, the request_finished
signal was not being sent, potentially leading to resource leaks (such as
database connections).

This branch ensures that the request_finished signal is sent even in the case
of early termination of the response.

Regression in 64cea1e48f285ea2162c669208d95188b32bbc82.

Co-authored-by: Natalia &lt;124304+nessita@users.noreply.github.com&gt;
Co-authored-by: Carlton Gibson &lt;carlton.gibson@noumenal.es&gt;
</content>
</entry>
</feed>
