Fri Mar 1 12:13:07 2024 UTC (83d)
nghttp2: updated to 1.60.0

Nghttp2 v1.60.0

lib

RFC 7540 priorities (aka stream dependencies) APIs have been deprecated. They work just like before, but in the future release after the end of 2024, the functionality is removed, and the deprecated APIs start behaving differently. See the API documentation for details. RFC 7540 priorities have been deprecated by RFC 9113. Consider migrating RFC 9218 extensible prioritization scheme.

The APIs that use ssize_t, including structs and callback functions, have been deprecated. New APIs that use nghttp2_ssize are introduced as a replacement. The usage of ssize_t is problematic for several reasons. Some platforms do not define ssize_t. The minimum value of ssize_t that POSIX requires is -1 which makes nghttp2 error code out of range. nghttp2_ssize is an alias of ptrdiff_t that is in C standard and covers our error code range.

New code should use new nghttp2_ssize APIs. The existing applications should consider migrating to new APIs.

The deprecated ssize_t APIs continue to work for backward compatibility.

Here is the summary of the deprecated APIs and their replacements:

Callback functions:

nghttp2_data_source_read_callback => nghttp2_data_source_read_callback2
nghttp2_data_source_read_length_callback => nghttp2_data_source_read_length_callback2
nghttp2_pack_extension_callback => nghttp2_pack_extension_callback2
nghttp2_recv_callback => nghttp2_recv_callback2
nghttp2_select_padding_callback => nghttp2_select_padding_callback2
nghttp2_send_callback => nghttp2_send_callback2

Structs:

nghttp2_data_provider => nghttp2_data_provider2

Functions:

nghttp2_hd_deflate_hd => nghttp2_hd_deflate_hd2
nghttp2_hd_deflate_hd_vec => nghttp2_hd_deflate_hd_vec2
nghttp2_hd_inflate_hd2 => nghttp2_hd_inflate_hd3
nghttp2_pack_settings_payload => nghttp2_pack_settings_payload2
nghttp2_session_callbacks_set_data_source_read_length_callback => nghttp2_session_callbacks_set_data_source_read_length_callback2
nghttp2_session_callbacks_set_pack_extension_callback => nghttp2_session_callbacks_set_pack_extension_callback2
nghttp2_session_callbacks_set_recv_callback => nghttp2_session_callbacks_set_recv_callback2
nghttp2_session_callbacks_set_select_padding_callback => nghttp2_session_callbacks_set_select_padding_callback2
nghttp2_session_callbacks_set_send_callback => nghttp2_session_callbacks_set_send_callback2
nghttp2_session_mem_recv => nghttp2_session_mem_recv2
nghttp2_session_mem_send => nghttp2_session_mem_send2
nghttp2_submit_data => nghttp2_submit_data2
nghttp2_submit_request => nghttp2_submit_request2
nghttp2_submit_response => nghttp2_submit_response2
For those applications that do not want to see ssize_t in nghttp2.h header file at all, define NGHTTP2_NO_SSIZE_T macro before including nghttp2.h. It hides all ssize_t APIs.


(adam)
diff -r1.21 -r1.22 pkgsrc/www/nghttp2/Makefile.common
diff -r1.67 -r1.68 pkgsrc/www/nghttp2/distinfo

cvs diff -r1.21 -r1.22 pkgsrc/www/nghttp2/Makefile.common (expand / switch to unified diff)

--- pkgsrc/www/nghttp2/Makefile.common 2024/01/21 19:58:51 1.21
+++ pkgsrc/www/nghttp2/Makefile.common 2024/03/01 12:13:07 1.22
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile.common,v 1.21 2024/01/21 19:58:51 wiz Exp $ 1# $NetBSD: Makefile.common,v 1.22 2024/03/01 12:13:07 adam Exp $
2# used by www/nghttp2/Makefile 2# used by www/nghttp2/Makefile
3# used by www/nghttp2-tools/Makefile 3# used by www/nghttp2-tools/Makefile
4 4
5DISTNAME= nghttp2-1.59.0 5DISTNAME= nghttp2-1.60.0
6CATEGORIES= www 6CATEGORIES= www
7MASTER_SITES= ${MASTER_SITE_GITHUB:=tatsuhiro-t/} 7MASTER_SITES= ${MASTER_SITE_GITHUB:=tatsuhiro-t/}
8EXTRACT_SUFX= .tar.xz 8EXTRACT_SUFX= .tar.xz
9GITHUB_RELEASE= v${PKGVERSION_NOREV} 9GITHUB_RELEASE= v${PKGVERSION_NOREV}
10 10
11MAINTAINER= pkgsrc-users@NetBSD.org 11MAINTAINER= pkgsrc-users@NetBSD.org
12HOMEPAGE= https://nghttp2.org/ 12HOMEPAGE= https://nghttp2.org/
13LICENSE= mit 13LICENSE= mit
14 14
15DISTINFO_FILE= ${.CURDIR}/../../www/nghttp2/distinfo 15DISTINFO_FILE= ${.CURDIR}/../../www/nghttp2/distinfo
16PATCHDIR= ${.CURDIR}/../../www/nghttp2/patches 16PATCHDIR= ${.CURDIR}/../../www/nghttp2/patches

cvs diff -r1.67 -r1.68 pkgsrc/www/nghttp2/distinfo (expand / switch to unified diff)

--- pkgsrc/www/nghttp2/distinfo 2024/01/21 19:58:51 1.67
+++ pkgsrc/www/nghttp2/distinfo 2024/03/01 12:13:07 1.68
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.67 2024/01/21 19:58:51 wiz Exp $ 1$NetBSD: distinfo,v 1.68 2024/03/01 12:13:07 adam Exp $
2 2
3BLAKE2s (nghttp2-1.59.0.tar.xz) = f0a50824c9bdbdfd9385f1b6f47a30d4d6fbf20b1b016bf5273a72926d53c89f 3BLAKE2s (nghttp2-1.60.0.tar.xz) = 462bc0eead29c4463f2402b3e637896ce06ee70224cbd1471994eaa94e4bdc0f
4SHA512 (nghttp2-1.59.0.tar.xz) = 0725f302957520893ac454997adc6d6e71dc9b520c62390477fe8c5dd5c64d02415023266814cfec859bf562159e4a42eeb7d7312c5871739a3d57ed7430820b 4SHA512 (nghttp2-1.60.0.tar.xz) = 5e6365d9118596d41848930de70f4a918d72463920184df60a7e1678c3a6c9cf1416236888e7e34395c87f41bba00a114994ba5a6e73f6a389769abf1b5cc842
5Size (nghttp2-1.59.0.tar.xz) = 1546956 bytes 5Size (nghttp2-1.60.0.tar.xz) = 1587004 bytes
6SHA1 (patch-Makefile.in) = a8b55c4e477ea285a9ba005a20e244b762968f3e 6SHA1 (patch-Makefile.in) = a8b55c4e477ea285a9ba005a20e244b762968f3e