head 1.11; access; symbols pkgsrc-2026Q3:1.7.0.8 pkgsrc-2026Q3-base:1.7 pkgsrc-2026Q2:1.7.0.6 pkgsrc-2026Q2-base:1.7 pkgsrc-2026Q1:1.7.0.4 pkgsrc-2026Q1-base:1.7 pkgsrc-2025Q4:1.7.0.2 pkgsrc-2025Q4-base:1.7 pkgsrc-2025Q3:1.6.0.4 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.2 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.5.0.4 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.2 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.4.0.2 pkgsrc-2024Q3-base:1.4 pkgsrc-2024Q2:1.2.0.4 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.2 pkgsrc-2024Q1-base:1.2; locks; strict; comment @# @; 1.11 date 2026.11.01.10.18.07; author adam; state Exp; branches; next 1.10; commitid Bam55RnEMKCnbK1H; 1.10 date 2026.10.28.07.15.58; author adam; state Exp; branches; next 1.9; commitid ALTwag4AALGQid1H; 1.9 date 2026.10.26.17.38.01; author wiz; state Exp; branches; next 1.8; commitid pi5ugE3cYnGgO01H; 1.8 date 2026.10.26.16.45.20; author abs; state Exp; branches; next 1.7; commitid kJAqeNl7hIfew01H; 1.7 date 2025.10.20.09.16.37; author adam; state Exp; branches; next 1.6; commitid phDEzjaZw9cBXhfG; 1.6 date 2025.04.14.13.14.02; author adam; state Exp; branches; next 1.5; commitid 1Z4CBMD88XQLl1RF; 1.5 date 2024.11.11.07.29.15; author wiz; state Exp; branches; next 1.4; commitid 1fBDq3LwS98NncxF; 1.4 date 2024.08.06.08.42.07; author adam; state Exp; branches; next 1.3; commitid eP2yPAkDLbGEUJkF; 1.3 date 2024.06.27.11.34.41; author adam; state Exp; branches; next 1.2; commitid HWjQgMn3xs0x9CfF; 1.2 date 2024.02.19.18.29.12; author adam; state Exp; branches; next 1.1; commitid f8kdDnjul1wLA4ZE; 1.1 date 2024.01.06.23.17.18; author leot; state Exp; branches; next ; commitid wKd4rMJouJ3rBrTE; desc @@ 1.11 log @py-aioquic: updated to 1.7.1 1.7.1 * Fix streams which never ended when their FIN, written after all their data had been sent, did not fit in the packet being built: the FIN was never sent, so the peer kept waiting for it. * Derive the keys for QUIC version 2 key updates with the ``quicv2 ku`` label, as :rfc:`9369` requires. After its first key update, a QUIC version 2 connection could no longer exchange packets with a conforming peer. * Reject a FIN or RESET_STREAM whose final size is below the data already received with ``FINAL_SIZE_ERROR``, as :rfc:`9000` recommends, instead of silently discarding the data beyond it. * Drop 1-RTT packets which a server receives on a connection ID it never issued or which the client retired, as :rfc:`9000` requires, instead of switching to that connection ID. * Discard Retry packets which a client receives after processing a packet from the server, or whose Retry Token is empty, as :rfc:`9000` requires. Such a Retry restarted the connection attempt, and broke an established connection. * Discard 0-RTT keys once 1-RTT keys are in use, as :rfc:`9001` requires: on servers when the first 1-RTT packet arrives, on clients when they install 1-RTT keys. @ text @# $NetBSD: Makefile,v 1.10 2026/10/28 07:15:58 adam Exp $ DISTNAME= aioquic-1.7.1 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= www python MASTER_SITES= ${MASTER_SITE_PYPI:=a/aioquic/} MAINTAINER= pkgsrc-users@@NetBSD.org HOMEPAGE= https://github.com/aiortc/aioquic COMMENT= Fork of aioquic with adjustments for mitmproxy 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>=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" .include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" @ 1.10 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2026/10/26 17:38:01 wiz Exp $ d3 1 a3 1 DISTNAME= aioquic-1.7.0 @ 1.9 log @py-aioquic: depend on latest setuptools for previous @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2026/10/26 16:45:20 abs Exp $ d3 1 a3 1 DISTNAME= aioquic-1.3.0 a4 1 PKGREVISION= 1 d16 2 a17 2 DEPENDS+= ${PYPKGPREFIX}-cryptography>=42.0.0:../../security/py-cryptography DEPENDS+= ${PYPKGPREFIX}-pylsqpack>=0.3.3:../../www/py-pylsqpack @ 1.8 log @Fix PLIST, bump PKGREVISION Remove .abi3 from two .so filenames @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2025/10/20 09:16:37 adam Exp $ d14 1 a14 1 TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools @ 1.7 log @py-aioquic: updated to 1.3.0 1.3.0 * Ensure PATH_CHALLENGE frames are sent before other frame types. * Reclaim memory when HTTP/3 streams end. * Limit the number of remote PATH_CHALLENGE stored per path. * Avoid assertion error when receiving multiple STOP_SENDING frames. * Improve type annotations. * Make it possible to use LibreSSL instead of OpenSSL. * Add support Python 3.13 and 3.14, drop support for Python 3.8 and 3.9. * Build binary wheels for `musllinux`_. * Build binary wheels against `OpenSSL`_ 3.5.4. * Add command-line argument to the `http3_client` example to request a key update during interoperability tests. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2025/04/14 13:14:02 adam Exp $ d5 1 @ 1.6 log @Fix PLIST after py-setuptools update; bump depends and revision @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2024/11/11 07:29:15 wiz Exp $ d3 1 a3 1 DISTNAME= aioquic-1.2.0 a4 1 PKGREVISION= 1 @ 1.5 log @py-*: remove unused tool dependency py-setuptools includes the py-wheel functionality nowadays @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2024/08/06 08:42:07 adam Exp $ d5 1 d14 1 a14 1 TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools-[0-9]*:../../devel/py-setuptools a20 2 PYTHON_VERSIONS_INCOMPATIBLE= 27 @ 1.4 log @py-aioquic: updated to 1.2.0 1.2.0 Add support for compatible version handling as defined in RFC 9368. Add support for QUIC Version 2, as defined in RFC 9369. Drop support for draft QUIC versions which were obsoleted by RFC 9000. Improve datagram padding to allow better packet coalescing and reduce the number of roundtrips during connection establishement. Fix server anti-amplification checks during address validation to take into account invalid packets, such as datagram-level padding. Allow asyncio clients to make efficient use of 0-RTT by passing wait_connected=False to connect(). Add command-line arguments to the http3_client example for client certificates and negotiating QUIC Version 2. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2024/06/27 11:34:41 adam Exp $ a13 1 TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel @ 1.3 log @py-aioquic: updated to 1.1.0 1.1.0 ----- * Improve path challenge handling and compliance with :rfc:`9000`. * Limit the amount of buffered CRYPTO data to avoid memory exhaustion. * Enable SHA-384 based signature algorithms and SECP384R1 key exchange. * Build binary wheels against `OpenSSL`_ 3.3.0. 1.0.0 ----- * Ensure no data is sent after a stream reset. * Make :class:`~aioquic.h3.connection.H3Connection`'s :meth:`~aioquic.h3.connection.H3Connection.send_datagram` and :meth:`~aioquic.h3.connection.H3Connection.send_push_promise` methods raise an :class:`~aioquic.h3.exceptions.InvalidStreamTypeError` exception if an invalid stream ID is specified. * Improve the documentation for :class:`~aioquic.asyncio.QuicConnectionProtocol`'s :meth:`~aioquic.asyncio.QuicConnectionProtocol.transmit` method. * Fix :meth:`~datetime.datetime.utcnow` deprecation warning on Python 3.12 by using `cryptography`_ 42.0 and timezone-aware :class:`~datetime.datetime` instances when validating TLS certificates. * Build binary wheels against `OpenSSL`_ 3.2.0. * Ignore any non-ASCII ALPN values received. * Perform more extensive HTTP/3 header validation in :class:`~aioquic.h3.connection.H3Connection`. * Fix exceptions when draining stream writers in the :doc:`asyncio API `. * Set the :class:`~aioquic.quic.connection.QuicConnection` idle timer according to :rfc:`9000` section 10.1. * Implement fairer stream scheduling in :class:`~aioquic.quic.connection.QuicConnection` to avoid head-of-line blocking. * Only load `certifi`_ root certificates if none was specified in the :class:`~aioquic.quic.configuration.QuicConfiguration`. * Improve padding of UDP datagrams containing Initial packets to comply with :rfc:`9000` section 14.1. * Limit the number of pending connection IDs marked for retirement to prevent a possible DoS attack. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2024/02/19 18:29:12 adam Exp $ d3 1 a3 1 DISTNAME= aioquic-1.1.0 d15 1 a15 1 DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=22:../../security/py-OpenSSL @ 1.2 log @py-aioquic: updated to 0.9.25 0.9.25 Unknown changes @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2024/01/06 23:17:18 leot Exp $ d3 1 a3 1 DISTNAME= aioquic-0.9.25 d15 1 d17 1 d19 1 a19 3 DEPENDS+= ${PYPKGPREFIX}-cryptography>=0:../../security/py-cryptography DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=22:../../security/py-OpenSSL DEPENDS+= ${PYPKGPREFIX}-service_identity>=23.1.0:../../security/py-service_identity @ 1.1 log @py-aioquic: Import py-aioquic-0.9.24 as www/py-aioquic aioquic is a library for the QUIC network protocol in Python. It features a minimal TLS 1.3 implementation, a QUIC stack and an HTTP/3 stack. QUIC was standardised in RFC 9000 and HTTP/3 in RFC 9114 aioquic is regularly tested for interoperability against other QUIC implementations. @ text @d1 1 a1 1 # $NetBSD$ d3 1 a3 1 DISTNAME= aioquic-0.9.24 @