pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/py-aioquic



Module Name:    pkgsrc
Committed By:   adam
Date:           Wed Oct 28 07:15:58 UTC 2026

Modified Files:
        pkgsrc/www/py-aioquic: Makefile PLIST distinfo

Log Message:
py-aioquic: updated to 1.7.0

1.7.0

* Migrate clients to the server's preferred address, as :rfc:`9000` allows.

  .. note::

     If you drive :class:`~aioquic.quic.connection.QuicConnection` with your
     own I/O, you must send each datagram to the address returned alongside
     it by ``datagrams_to_send()``. That address may now differ from the one
     passed to ``connect()``, so a connected UDP socket or a tunnel with a
     single fixed destination no longer works.

* Add :meth:`~aioquic.quic.connection.QuicConnection.get_peer_address`, which
  returns the address datagrams are currently sent to. It can change when
  either endpoint migrates.
* Improve path validation and connection migration as :rfc:`9000` requires:

  * Discard datagrams received by clients from unknown server addresses.
  * Pad datagrams carrying PATH_CHALLENGE or PATH_RESPONSE frames to 1200
    bytes, within the anti-amplification limit.
  * Retransmit lost PATH_CHALLENGE frames on servers, abandon failed
    validations and revert to the last validated address.
  * Answer path probes on servers on the path they arrive on, with a
    connection ID kept for each path.
  * Keep outstanding PATH_CHALLENGE data for each path, and ignore a
    PATH_RESPONSE that matches no challenge instead of closing the
    connection.
  * Keep clients on the preferred address when the server probes them from
    its original address.
  * Reset the spin bit when changing connection ID.

* Grant MAX_STREAMS credit as the peer's streams close, instead of whenever
  half the limit was used, so the stream limit bounds concurrency. Stream IDs
  an application skips can no longer be used later.
* Restart the idle timer when sending the first ack-eliciting packet after
  receiving one, as :rfc:`9000` requires.
* Fix handshakes stalling or failing:

  * Pad datagrams carrying INITIAL packets to 1200 bytes even when the
    congestion window is full, as :rfc:`9000` requires. A client sending
    0-RTT data could send short datagrams, which servers discard.
  * Acknowledge 0-RTT packets before the handshake completes, as :rfc:`9000`
    requires.
  * Send lost HANDSHAKE data even when the congestion window is full, instead
    of stalling until the idle timeout when no probe timer was armed.
  * Only assume the server's INITIAL packets were lost while the client is
    waiting for the ServerHello, as :rfc:`9002` describes, instead of sending
    spurious probes for packets it cannot decrypt later on.

* Do not arm the ACK timer or the probe timeout while the anti-amplification
  limit leaves no room to send, as :rfc:`9002` requires. A server answering a
  0-RTT request could otherwise busy loop until the client sent again, or
  until the idle timeout.
* Stop servers from exceeding the anti-amplification limit by one byte when a
  packet's only frame is a single byte, such as a PING.
* Improve ACK frame handling as :rfc:`9000` requires:

  * Reject ACK frames containing negative packet numbers with
    ``FRAME_ENCODING_ERROR``.
  * Keep at most 64 ACK ranges, and leave out the oldest ranges which do not
    fit in an ACK frame.
  * Lower the cost of processing ACK frames, which now grows with the number
    of ranges and of newly acknowledged packets, not of packets in flight.

* Encrypt retry tokens with AES-GCM instead of RSA, which makes validating
  them much cheaper. Only accept a token on the Retry packet's connection ID
  and for 30 seconds, to limit replays as :rfc:`9000` requires.
* Support interim (1xx) responses in HTTP/3. A final response which follows
  them is no longer rejected as trailers.
* Reject HTTP/3 messages containing connection-specific header fields, and
  only allow ``TE: trailers``, as :rfc:`9114` requires.
* Abort HTTP/3 request streams with ``H3_REQUEST_INCOMPLETE`` when they end
  before their HEADERS frame, instead of keeping them until the connection
  closes.
* Skip interim responses in the `httpx` example.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 pkgsrc/www/py-aioquic/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/www/py-aioquic/PLIST
cvs rdiff -u -r1.5 -r1.6 pkgsrc/www/py-aioquic/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/py-aioquic/Makefile
diff -u pkgsrc/www/py-aioquic/Makefile:1.9 pkgsrc/www/py-aioquic/Makefile:1.10
--- pkgsrc/www/py-aioquic/Makefile:1.9  Mon Oct 26 17:38:01 2026
+++ pkgsrc/www/py-aioquic/Makefile      Wed Oct 28 07:15:58 2026
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2026/10/26 17:38:01 wiz Exp $
+# $NetBSD: Makefile,v 1.10 2026/10/28 07:15:58 adam Exp $
 
-DISTNAME=      aioquic-1.3.0
+DISTNAME=      aioquic-1.7.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION=   1
 CATEGORIES=    www python
 MASTER_SITES=  ${MASTER_SITE_PYPI:=a/aioquic/}
 
@@ -14,8 +13,8 @@ LICENSE=      modified-bsd
 TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=84.2:../../devel/py-setuptools
 DEPENDS+=      ${PYPKGPREFIX}-OpenSSL>=24:../../security/py-OpenSSL
 DEPENDS+=      ${PYPKGPREFIX}-certifi>=0:../../security/py-certifi
-DEPENDS+=      ${PYPKGPREFIX}-cryptography>=42.0.0:../../security/py-cryptography
-DEPENDS+=      ${PYPKGPREFIX}-pylsqpack>=0.3.3:../../www/py-pylsqpack
+DEPENDS+=      ${PYPKGPREFIX}-cryptography>=43.0.0:../../security/py-cryptography
+DEPENDS+=      ${PYPKGPREFIX}-pylsqpack>=1.0.0:../../www/py-pylsqpack
 DEPENDS+=      ${PYPKGPREFIX}-service_identity>=24.1.0:../../security/py-service_identity
 
 .include "../../lang/python/wheel.mk"

Index: pkgsrc/www/py-aioquic/PLIST
diff -u pkgsrc/www/py-aioquic/PLIST:1.4 pkgsrc/www/py-aioquic/PLIST:1.5
--- pkgsrc/www/py-aioquic/PLIST:1.4     Mon Oct 26 16:45:20 2026
+++ pkgsrc/www/py-aioquic/PLIST Wed Oct 28 07:15:58 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2026/10/26 16:45:20 abs Exp $
+@comment $NetBSD: PLIST,v 1.5 2026/10/28 07:15:58 adam Exp $
 ${PYSITELIB}/${WHEEL_INFODIR}/METADATA
 ${PYSITELIB}/${WHEEL_INFODIR}/RECORD
 ${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
@@ -10,9 +10,9 @@ ${PYSITELIB}/aioquic/__init__.pyo
 ${PYSITELIB}/aioquic/_buffer.c
 ${PYSITELIB}/aioquic/_buffer.pyi
 ${PYSITELIB}/aioquic/_buffer.so
-${PYSITELIB}/aioquic/_crypto.c
-${PYSITELIB}/aioquic/_crypto.pyi
-${PYSITELIB}/aioquic/_crypto.so
+${PYSITELIB}/aioquic/_crypto.py
+${PYSITELIB}/aioquic/_crypto.pyc
+${PYSITELIB}/aioquic/_crypto.pyo
 ${PYSITELIB}/aioquic/asyncio/__init__.py
 ${PYSITELIB}/aioquic/asyncio/__init__.pyc
 ${PYSITELIB}/aioquic/asyncio/__init__.pyo

Index: pkgsrc/www/py-aioquic/distinfo
diff -u pkgsrc/www/py-aioquic/distinfo:1.5 pkgsrc/www/py-aioquic/distinfo:1.6
--- pkgsrc/www/py-aioquic/distinfo:1.5  Mon Oct 20 09:16:37 2025
+++ pkgsrc/www/py-aioquic/distinfo      Wed Oct 28 07:15:58 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.5 2025/10/20 09:16:37 adam Exp $
+$NetBSD: distinfo,v 1.6 2026/10/28 07:15:58 adam Exp $
 
-BLAKE2s (aioquic-1.3.0.tar.gz) = 2bd3fabcfe4dac0b50abb3892e2cf735602a5f38079f77a06316568d4b467a2e
-SHA512 (aioquic-1.3.0.tar.gz) = 149d46d5c3b7db26edb418569bec224f2e4c2ce419a0374a9241ea570d70cd09f0230c1fe5fd5ee73e1ff84adac41ab48dd15aa2f48d1b3b6c8caaa34b70c8fd
-Size (aioquic-1.3.0.tar.gz) = 181923 bytes
+BLAKE2s (aioquic-1.7.0.tar.gz) = fc5522f507a2d72ec46736251eaa2538d5f336f8a1662bb721e74b76edf0ce0f
+SHA512 (aioquic-1.7.0.tar.gz) = f9f0e598f7090881424e3b81aff874a464907e8a0d60fc3e021a9c6c213c42174ccf262492857baff889d5c4e4e657ab929b55aafd2b49b198ae4246b34d7f81
+Size (aioquic-1.7.0.tar.gz) = 227514 bytes



Home | Main Index | Thread Index | Old Index