Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nghttp3 for openSUSE:Factory checked in at 2024-01-03 12:23:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nghttp3 (Old) and /work/SRC/openSUSE:Factory/.nghttp3.new.28375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nghttp3" Wed Jan 3 12:23:06 2024 rev:2 rq:1135546 version:1.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/nghttp3/nghttp3.changes 2023-11-21 21:31:55.079122184 +0100 +++ /work/SRC/openSUSE:Factory/.nghttp3.new.28375/nghttp3.changes 2024-01-03 12:23:10.947518622 +0100 @@ -1,0 +2,12 @@ +Thu Dec 28 21:06:49 UTC 2023 - Dirk Müller <[email protected]> + +- update to 1.1.0: + * Bump clang to 15 + * Bump clang-format to 15 + * windows: Fix warnings + * Use __FILE_NAME__ instead of __FILE__ + * Add nghttp3_pri_parse_priority + * Define varint identifiers as macros + * Fix doc + +------------------------------------------------------------------- Old: ---- nghttp3-1.0.0.tar.xz nghttp3-1.0.0.tar.xz.asc New: ---- nghttp3-1.1.0.tar.xz nghttp3-1.1.0.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nghttp3.spec ++++++ --- /var/tmp/diff_new_pack.LcLwB5/_old 2024-01-03 12:23:11.779549031 +0100 +++ /var/tmp/diff_new_pack.LcLwB5/_new 2024-01-03 12:23:11.783549177 +0100 @@ -19,7 +19,7 @@ %global soname libnghttp3 %global sover 9 Name: nghttp3 -Version: 1.0.0 +Version: 1.1.0 Release: 0 Summary: Implementation of Hypertext Transfer Protocol version 3 in C License: MIT ++++++ nghttp3-1.0.0.tar.xz -> nghttp3-1.1.0.tar.xz ++++++ ++++ 2688 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/CMakeLists.txt new/nghttp3-1.1.0/CMakeLists.txt --- old/nghttp3-1.0.0/CMakeLists.txt 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/CMakeLists.txt 2023-11-26 07:25:00.000000000 +0100 @@ -25,13 +25,13 @@ cmake_minimum_required(VERSION 3.20) # XXX using 0.1.90 instead of 0.2.0-DEV -project(nghttp3 VERSION 1.0.0) +project(nghttp3 VERSION 1.1.0) # See versioning rule: # https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -set(LT_CURRENT 9) +set(LT_CURRENT 10) set(LT_REVISION 0) -set(LT_AGE 0) +set(LT_AGE 1) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") include(Version) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/ChangeLog new/nghttp3-1.1.0/ChangeLog --- old/nghttp3-1.0.0/ChangeLog 2023-10-15 14:28:30.000000000 +0200 +++ new/nghttp3-1.1.0/ChangeLog 2023-11-26 07:25:43.000000000 +0100 @@ -1,208 +1,178 @@ -commit 7df838fcab8f4beef9c4aa7c109c18384b801b01 (HEAD, tag: v1.0.0, origin/main, origin/HEAD, main) +commit e5841909338adeb280a78da076f85f6a14b48419 (HEAD, tag: v1.1.0, origin/main, origin/HEAD, main) Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-15 +AuthorDate: 2023-11-26 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-10-15 +CommitDate: 2023-11-26 - Bump package version + Bump package and library versions -commit c5b51a8b8d9123d48775f2ecb1cee710bbf2df2e -Merge: dcf3348 c8e8281 +commit a70edb08e954d690e8fb2c1df999b5a056f8bf9f +Merge: 9d46caf 7707d42 Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-12 Commit: GitHub <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-12 - Merge pull request #168 from ngtcp2/cmake-enable-werror + Merge pull request #179 from ngtcp2/fix-doc - cmake: Enable werror - -commit c8e8281133eb7b89a926a83a345fa7106673d163 -Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 -Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-10-14 + Fix doc - cmake: Enable werror - -commit dcf3348cf8153093f4c96941b51eab3a1017e136 -Merge: 0e990c8 f19995a +commit 9d46caf4e16cda8ea3c56eb4a7e6a941e8f5b91e +Merge: d8ad77d 5e7932a Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-12 Commit: GitHub <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-12 - Merge pull request #167 from ngtcp2/remove-ExtractValidFlags + Merge pull request #178 from ngtcp2/varint-id-macros - Remove ExtractValidFlags as we did in ngtcp2 + Define varint identifiers as macros -commit 0e990c89bdbcee2c99b4b2e450e30a19cb98a747 -Merge: bfed5ed 8a6fdc6 -Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 -Commit: GitHub <[email protected]> -CommitDate: 2023-10-14 +commit 7707d4218732207d40d6dd8294d08a8460aba603 +Author: Tatsuhiro Tsujikawa <[email protected]> +AuthorDate: 2023-11-12 +Commit: Tatsuhiro Tsujikawa <[email protected]> +CommitDate: 2023-11-12 - Merge pull request #165 from ngtcp2/sphinx-rtd-theme - - Use sphinx_rtd_theme + Fix doc -commit f19995a28b8a2941b9dfc4440ddf9d94c1926a46 +commit 5e7932ac98c9b9c8d368d97d2bcc483dcd72c3aa Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-12 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-12 - Remove ExtractValidFlags as we did in ngtcp2 + Define varint identifiers as macros -commit bfed5ed152b6a1d01e0d976ab5c5789780b9553f -Merge: 409656e 16b7edc +commit d8ad77da8ef4db49dc5fbc4d26e16d0a438be88d +Merge: 71bf1ef c284aec Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-05 Commit: GitHub <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-05 - Merge pull request #166 from ngtcp2/invoke-result + Merge pull request #177 from ngtcp2/parse-priority - Replace the deprecated std::result_of with std::invoke_result + Add nghttp3_pri_parse_priority -commit 16b7edc050a6036b12eb083851430c93e05c2702 +commit c284aeceb8532fff49daa7c939d549d40db78783 Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-05 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-05 - Replace the deprecated std::result_of with std::invoke_result + Add nghttp3_pri_parse_priority -commit 409656ee077b6e56146fb463001c43d0e6238f56 -Merge: e61a004 706e4fe +commit 71bf1ef33ac34b70d7212a4e6ad471165279a46e +Merge: 64cbbfc 9645295 Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-03 Commit: GitHub <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-03 - Merge pull request #164 from vszakats/cmake-del-unused + Merge pull request #176 from ngtcp2/unreachable-basename - cmake: delete unused detections, add missing #define + Use __FILE_NAME__ instead of __FILE__ -commit e61a004abb4542063c37021b5f610becf9ea2d0d -Merge: 0ac672a b490aab +commit 964529572dfdc36c434f14b588287411448246c5 +Author: Tatsuhiro Tsujikawa <[email protected]> +AuthorDate: 2023-11-03 +Commit: Tatsuhiro Tsujikawa <[email protected]> +CommitDate: 2023-11-03 + + Use __FILE_NAME__ instead of __FILE__ + + Use __FILE_NAME__ instead of __FILE__ not to include a full source + file path. + +commit 64cbbfc142eeb04bf477de434ab92c31a6fcea24 +Merge: e9264bc d15eb92 Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-02 Commit: GitHub <[email protected]> -CommitDate: 2023-10-14 +CommitDate: 2023-11-02 - Merge pull request #163 from vszakats/cmake-fast-warnopt-detection + Merge pull request #175 from ngtcp2/cpp-ext - cmake: speed up warning option detection + Cpp ext -commit 8a6fdc666130ac8b242c9ee063f84254b07d0a85 +commit d15eb924267419ebb6dfceb57a464e3cfbfc28dd Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-10-14 +AuthorDate: 2023-11-02 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-10-14 - - Use sphinx_rtd_theme - -commit 706e4fe2201c7016c8dec477a741b95ea167ed19 -Author: Viktor Szakats <[email protected]> -AuthorDate: 2023-10-14 -Commit: Viktor Szakats <[email protected]> -CommitDate: 2023-10-14 - - cmake: add missing detection result #define +CommitDate: 2023-11-02 -commit a877d48b98317672f59db088289bc3f4905b74cc -Author: Viktor Szakats <[email protected]> -AuthorDate: 2023-10-14 -Commit: Viktor Szakats <[email protected]> -CommitDate: 2023-10-14 + Update ax_cxx_compile_stdcxx.m4 - cmake: delete unused header detections - -commit b490aabc15aa38dde14b6003eee3bb2746f77c33 -Author: Viktor Szakats <[email protected]> -AuthorDate: 2023-10-09 -Commit: Viktor Szakats <[email protected]> -CommitDate: 2023-10-14 +commit 7d50b1958ab95df354641bd91cbcd4a3db9f9aea +Author: Tatsuhiro Tsujikawa <[email protected]> +AuthorDate: 2023-11-02 +Commit: Tatsuhiro Tsujikawa <[email protected]> +CommitDate: 2023-11-02 - cmake: speed up warning option detection + Do not require strict C++ mode -commit 0ac672a936bcfcb471e0a66fa3eed4be664e7aec -Merge: 723d1ae 13fa007 +commit e9264bc8d51bfdc51025e7b901dd4b1cbfad44f9 +Merge: 17521d7 6a3e1cf Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-09-15 +AuthorDate: 2023-11-01 Commit: GitHub <[email protected]> -CommitDate: 2023-09-15 +CommitDate: 2023-11-01 - Merge pull request #162 from ngtcp2/release-script + Merge pull request #174 from ngtcp2/fix-windows-warnings - Add release script + windows: Fix warnings -commit 13fa007a83a9154d10f059baa94caf0ddd2cf4af +commit 6a3e1cf588e08805adc19501cf77e27320d3c35e Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-09-15 +AuthorDate: 2023-11-01 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-09-15 +CommitDate: 2023-11-01 - Add release script + windows: Fix warnings -commit 723d1ae0f25d3cfc27b3a9b7430733db7f89efc5 -Merge: 89500df 6bcafda +commit 17521d7dd6d47c1f28d8358f7702a9456b145f10 +Merge: d240bba ba7b48a Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-09-15 +AuthorDate: 2023-10-29 Commit: GitHub <[email protected]> -CommitDate: 2023-09-15 +CommitDate: 2023-10-29 - Merge pull request #161 from ngtcp2/dependabot/github_actions/actions/checkout-4 + Merge pull request #172 from ngtcp2/bump-clang-format - Bump actions/checkout from 3 to 4 + Bump clang-format to 15 -commit 6bcafdab419358de1992ccb76e5e545f4f6311b0 -Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -AuthorDate: 2023-09-15 -Commit: GitHub <[email protected]> -CommitDate: 2023-09-15 +commit ba7b48a26507448d1cb33d2037ad3d4b0e422372 +Author: Tatsuhiro Tsujikawa <[email protected]> +AuthorDate: 2023-10-29 +Commit: Tatsuhiro Tsujikawa <[email protected]> +CommitDate: 2023-10-29 - Bump actions/checkout from 3 to 4 - - Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - - [Release notes](https://github.com/actions/checkout/releases) - - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - - [Commits](https://github.com/actions/checkout/compare/v3...v4) - - --- - updated-dependencies: - - dependency-name: actions/checkout - dependency-type: direct:production - update-type: version-update:semver-major - ... - - Signed-off-by: dependabot[bot] <[email protected]> + Bump clang-format to 15 -commit 89500df0b8189c4179863669583c722fdfed4856 -Merge: d407a85 fef765f +commit d240bba34848e861e4bf495b667e04b2dfe0a8d9 +Merge: 995738e c1a2bfa Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-09-15 +AuthorDate: 2023-10-29 Commit: GitHub <[email protected]> -CommitDate: 2023-09-15 +CommitDate: 2023-10-29 - Merge pull request #160 from ngtcp2/dependabot-actions + Merge pull request #171 from ngtcp2/bump-clang - Add dependabot to update actions + Bump clang to 15 -commit fef765f784c2f79c835942ae212d0368898e1e41 +commit c1a2bfa93d2bde79985ab247325641e59ae9a6fc Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-09-15 +AuthorDate: 2023-10-29 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-09-15 +CommitDate: 2023-10-29 - Add dependabot to update actions + Bump clang to 15 -commit d407a8536198e3ed1712514b3d63a04ebc0045bc +commit 995738eb20e9f9b0f3a8e71dc19a94cb05c734a4 Author: Tatsuhiro Tsujikawa <[email protected]> -AuthorDate: 2023-09-02 +AuthorDate: 2023-10-15 Commit: Tatsuhiro Tsujikawa <[email protected]> -CommitDate: 2023-09-02 +CommitDate: 2023-10-15 Bump package version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/configure.ac new/nghttp3-1.1.0/configure.ac --- old/nghttp3-1.0.0/configure.ac 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/configure.ac 2023-11-26 07:25:00.000000000 +0100 @@ -23,7 +23,7 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. AC_PREREQ(2.61) -AC_INIT([nghttp3], [1.0.0], [[email protected]]) +AC_INIT([nghttp3], [1.1.0], [[email protected]]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) @@ -42,9 +42,9 @@ # See versioning rule: # https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html -AC_SUBST(LT_CURRENT, 9) +AC_SUBST(LT_CURRENT, 10) AC_SUBST(LT_REVISION, 0) -AC_SUBST(LT_AGE, 0) +AC_SUBST(LT_AGE, 1) # from nghttp2 major=`echo $PACKAGE_VERSION |cut -d. -f1 | sed -e "s/[^0-9]//g"` @@ -103,7 +103,7 @@ PKG_PROG_PKG_CONFIG([0.20]) -AX_CXX_COMPILE_STDCXX([17], [noext], [optional]) +AX_CXX_COMPILE_STDCXX([17], [], [optional]) # Checks for libraries. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/includes/nghttp3/nghttp3.h new/nghttp3-1.1.0/lib/includes/nghttp3/nghttp3.h --- old/nghttp3-1.0.0/lib/includes/nghttp3/nghttp3.h 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/includes/nghttp3/nghttp3.h 2023-11-26 07:25:00.000000000 +0100 @@ -2759,6 +2759,29 @@ NGHTTP3_EXTERN int nghttp3_conn_is_drained(nghttp3_conn *conn); /** + * @function + * + * `nghttp3_pri_parse_priority` parses Priority header field value + * pointed by |value| of length |len|, and stores the result in the + * object pointed by |dest|. Priority header field is defined in + * :rfc:`9218`. + * + * This function does not initialize the object pointed by |dest| + * before storing the result. It only assigns the values that the + * parser correctly extracted to fields. + * + * This function returns 0 if it succeeds, or one of the following + * negative error codes: + * + * :macro:`NGHTTP3_ERR_INVALID_ARGUMENT` + * Failed to parse the header field value. + */ +NGHTTP3_EXTERN int nghttp3_pri_parse_priority_versioned(int pri_version, + nghttp3_pri *dest, + const uint8_t *value, + size_t len); + +/** * @macrosection * * nghttp3_info flags @@ -2869,6 +2892,15 @@ nghttp3_conn_get_stream_priority_versioned((CONN), NGHTTP3_PRI_VERSION, \ (DEST), (STREAM_ID)) +/* + * `nghttp3_pri_parse_priority` is a wrapper around + * `nghttp3_pri_parse_priority_versioned` to set the correct struct + * version. + */ +#define nghttp3_pri_parse_priority(DEST, VALUE, LEN) \ + nghttp3_pri_parse_priority_versioned(NGHTTP3_PRI_VERSION, (DEST), (VALUE), \ + (LEN)) + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/includes/nghttp3/version.h new/nghttp3-1.1.0/lib/includes/nghttp3/version.h --- old/nghttp3-1.0.0/lib/includes/nghttp3/version.h 2023-10-15 14:28:42.000000000 +0200 +++ new/nghttp3-1.1.0/lib/includes/nghttp3/version.h 2023-11-26 07:25:54.000000000 +0100 @@ -31,7 +31,7 @@ * * Version number of the nghttp3 library release. */ -#define NGHTTP3_VERSION "1.0.0" +#define NGHTTP3_VERSION "1.1.0" /** * @macro @@ -41,6 +41,6 @@ * number, 8 bits for minor and 8 bits for patch. Version 1.2.3 * becomes 0x010203. */ -#define NGHTTP3_VERSION_NUM 0x010000 +#define NGHTTP3_VERSION_NUM 0x010100 #endif /* NGHTTP3_VERSION_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_frame.h new/nghttp3-1.1.0/lib/nghttp3_frame.h --- old/nghttp3-1.0.0/lib/nghttp3_frame.h 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_frame.h 2023-11-26 07:25:00.000000000 +0100 @@ -34,25 +34,23 @@ #include "nghttp3_buf.h" -typedef enum nghttp3_frame_type { - NGHTTP3_FRAME_DATA = 0x00, - NGHTTP3_FRAME_HEADERS = 0x01, - NGHTTP3_FRAME_CANCEL_PUSH = 0x03, - NGHTTP3_FRAME_SETTINGS = 0x04, - NGHTTP3_FRAME_PUSH_PROMISE = 0x05, - NGHTTP3_FRAME_GOAWAY = 0x07, - NGHTTP3_FRAME_MAX_PUSH_ID = 0x0d, - /* PRIORITY_UPDATE: https://datatracker.ietf.org/doc/html/rfc9218 */ - NGHTTP3_FRAME_PRIORITY_UPDATE = 0x0f0700, - NGHTTP3_FRAME_PRIORITY_UPDATE_PUSH_ID = 0x0f0701, -} nghttp3_frame_type; +#define NGHTTP3_FRAME_DATA 0x00 +#define NGHTTP3_FRAME_HEADERS 0x01 +#define NGHTTP3_FRAME_CANCEL_PUSH 0x03 +#define NGHTTP3_FRAME_SETTINGS 0x04 +#define NGHTTP3_FRAME_PUSH_PROMISE 0x05 +#define NGHTTP3_FRAME_GOAWAY 0x07 +#define NGHTTP3_FRAME_MAX_PUSH_ID 0x0d +/* PRIORITY_UPDATE: https://datatracker.ietf.org/doc/html/rfc9218 */ +#define NGHTTP3_FRAME_PRIORITY_UPDATE 0x0f0700 +#define NGHTTP3_FRAME_PRIORITY_UPDATE_PUSH_ID 0x0f0701 -typedef enum nghttp3_h2_reserved_type { - NGHTTP3_H2_FRAME_PRIORITY = 0x02, - NGHTTP3_H2_FRAME_PING = 0x06, - NGHTTP3_H2_FRAME_WINDOW_UPDATE = 0x08, - NGHTTP3_H2_FRAME_CONTINUATION = 0x9, -} nghttp3_h2_reserved_type; +/* Frame types that are reserved for HTTP/2, and must not be used in + HTTP/3. */ +#define NGHTTP3_H2_FRAME_PRIORITY 0x02 +#define NGHTTP3_H2_FRAME_PING 0x06 +#define NGHTTP3_H2_FRAME_WINDOW_UPDATE 0x08 +#define NGHTTP3_H2_FRAME_CONTINUATION 0x9 typedef struct nghttp3_frame_hd { int64_t type; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_http.c new/nghttp3-1.1.0/lib/nghttp3_http.c --- old/nghttp3-1.0.0/lib/nghttp3_http.c 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_http.c 2023-11-26 07:25:00.000000000 +0100 @@ -167,6 +167,14 @@ return 0; } +int nghttp3_pri_parse_priority_versioned(int pri_version, nghttp3_pri *dest, + const uint8_t *value, + size_t valuelen) { + (void)pri_version; + + return nghttp3_http_parse_priority(dest, value, valuelen); +} + static int http_request_on_header(nghttp3_http_state *http, nghttp3_qpack_nv *nv, int trailers, int connect_protocol) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_ksl.c new/nghttp3-1.1.0/lib/nghttp3_ksl.c --- old/nghttp3-1.0.0/lib/nghttp3_ksl.c 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_ksl.c 2023-11-26 07:25:00.000000000 +0100 @@ -724,6 +724,24 @@ } } +size_t nghttp3_ksl_len(nghttp3_ksl *ksl) { return ksl->n; } + +void nghttp3_ksl_clear(nghttp3_ksl *ksl) { + if (!ksl->head) { + return; + } + +#ifdef NOMEMPOOL + ksl_free_blk(ksl, ksl->head); +#endif /* NOMEMPOOL */ + + ksl->front = ksl->back = ksl->head = NULL; + ksl->n = 0; + + nghttp3_objalloc_clear(&ksl->blkalloc); +} + +#ifndef WIN32 static void ksl_print(nghttp3_ksl *ksl, nghttp3_ksl_blk *blk, size_t level) { size_t i; nghttp3_ksl_node *node; @@ -744,23 +762,6 @@ } } -size_t nghttp3_ksl_len(nghttp3_ksl *ksl) { return ksl->n; } - -void nghttp3_ksl_clear(nghttp3_ksl *ksl) { - if (!ksl->head) { - return; - } - -#ifdef NOMEMPOOL - ksl_free_blk(ksl, ksl->head); -#endif /* NOMEMPOOL */ - - ksl->front = ksl->back = ksl->head = NULL; - ksl->n = 0; - - nghttp3_objalloc_clear(&ksl->blkalloc); -} - void nghttp3_ksl_print(nghttp3_ksl *ksl) { if (!ksl->head) { return; @@ -768,6 +769,7 @@ ksl_print(ksl, ksl->head, 0); } +#endif /* !WIN32 */ nghttp3_ksl_it nghttp3_ksl_begin(const nghttp3_ksl *ksl) { nghttp3_ksl_it it; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_ksl.h new/nghttp3-1.1.0/lib/nghttp3_ksl.h --- old/nghttp3-1.0.0/lib/nghttp3_ksl.h 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_ksl.h 2023-11-26 07:25:00.000000000 +0100 @@ -265,12 +265,14 @@ #define nghttp3_ksl_nth_node(KSL, BLK, N) \ ((nghttp3_ksl_node *)(void *)((BLK)->nodes + (KSL)->nodelen * (N))) +#ifndef WIN32 /* * nghttp3_ksl_print prints its internal state in stderr. It assumes * that the key is of type int64_t. This function should be used for * the debugging purpose only. */ void nghttp3_ksl_print(nghttp3_ksl *ksl); +#endif /* !WIN32 */ /* * nghttp3_ksl_it_init initializes |it|. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_map.c new/nghttp3-1.1.0/lib/nghttp3_map.c --- old/nghttp3-1.0.0/lib/nghttp3_map.c 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_map.c 2023-11-26 07:25:00.000000000 +0100 @@ -127,6 +127,7 @@ bkt->data = data; } +#ifndef WIN32 void nghttp3_map_print_distance(nghttp3_map *map) { uint32_t i; size_t idx; @@ -146,6 +147,7 @@ distance(map->tablelen, map->tablelenbits, bkt, idx)); } } +#endif /* !WIN32 */ static int insert(nghttp3_map_bucket *table, uint32_t tablelen, uint32_t tablelenbits, uint32_t hash, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_map.h new/nghttp3-1.1.0/lib/nghttp3_map.h --- old/nghttp3-1.0.0/lib/nghttp3_map.h 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_map.h 2023-11-26 07:25:00.000000000 +0100 @@ -132,6 +132,8 @@ int nghttp3_map_each(nghttp3_map *map, int (*func)(void *data, void *ptr), void *ptr); +#ifndef WIN32 void nghttp3_map_print_distance(nghttp3_map *map); +#endif /* !WIN32 */ #endif /* NGHTTP3_MAP_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_stream.h new/nghttp3-1.1.0/lib/nghttp3_stream.h --- old/nghttp3-1.0.0/lib/nghttp3_stream.h 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_stream.h 2023-11-26 07:25:00.000000000 +0100 @@ -50,13 +50,13 @@ #define NGHTTP3_STREAM_MIN_WRITELEN 800 /* nghttp3_stream_type is unidirectional stream type. */ -typedef enum nghttp3_stream_type { - NGHTTP3_STREAM_TYPE_CONTROL = 0x00, - NGHTTP3_STREAM_TYPE_PUSH = 0x01, - NGHTTP3_STREAM_TYPE_QPACK_ENCODER = 0x02, - NGHTTP3_STREAM_TYPE_QPACK_DECODER = 0x03, - NGHTTP3_STREAM_TYPE_UNKNOWN = UINT64_MAX, -} nghttp3_stream_type; +typedef uint64_t nghttp3_stream_type; + +#define NGHTTP3_STREAM_TYPE_CONTROL 0x00 +#define NGHTTP3_STREAM_TYPE_PUSH 0x01 +#define NGHTTP3_STREAM_TYPE_QPACK_ENCODER 0x02 +#define NGHTTP3_STREAM_TYPE_QPACK_DECODER 0x03 +#define NGHTTP3_STREAM_TYPE_UNKNOWN UINT64_MAX typedef enum nghttp3_ctrl_stream_state { NGHTTP3_CTRL_STREAM_STATE_FRAME_TYPE, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/lib/nghttp3_unreachable.h new/nghttp3-1.1.0/lib/nghttp3_unreachable.h --- old/nghttp3-1.0.0/lib/nghttp3_unreachable.h 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/lib/nghttp3_unreachable.h 2023-11-26 07:25:00.000000000 +0100 @@ -32,8 +32,14 @@ #include <nghttp3/nghttp3.h> +#ifdef __FILE_NAME__ +# define NGHTTP3_FILE_NAME __FILE_NAME__ +#else /* !__FILE_NAME__ */ +# define NGHTTP3_FILE_NAME "(file)" +#endif /* !__FILE_NAME__ */ + #define nghttp3_unreachable() \ - nghttp3_unreachable_fail(__FILE__, __LINE__, __func__) + nghttp3_unreachable_fail(NGHTTP3_FILE_NAME, __LINE__, __func__) #ifdef _MSC_VER __declspec(noreturn) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/m4/ax_cxx_compile_stdcxx.m4 new/nghttp3-1.1.0/m4/ax_cxx_compile_stdcxx.m4 --- old/nghttp3-1.0.0/m4/ax_cxx_compile_stdcxx.m4 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/m4/ax_cxx_compile_stdcxx.m4 2023-11-26 07:25:00.000000000 +0100 @@ -10,13 +10,13 @@ # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and -# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) -# or '14' (for the C++14 standard). +# CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for +# the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -34,13 +34,16 @@ # Copyright (c) 2015 Paul Norman <[email protected]> # Copyright (c) 2015 Moritz Klammler <[email protected]> # Copyright (c) 2016, 2018 Krzesimir Nowak <[email protected]> +# Copyright (c) 2019 Enji Cooper <[email protected]> +# Copyright (c) 2020 Jason Merrill <[email protected]> +# Copyright (c) 2021 Jörn Heusipp <[email protected]> # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 10 +#serial 18 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -49,6 +52,7 @@ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [$1], [20], [ax_cxx_compile_alternatives="20"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], @@ -61,6 +65,16 @@ AC_LANG_PUSH([C++])dnl ac_success=no + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) + m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do @@ -90,9 +104,18 @@ dnl HP's aCC needs +std=c++11 according to: dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf dnl Cray's crayCC needs "-h std=c++11" + dnl MSVC needs -std:c++NN for C++17 and later (default is C++14) for alternative in ${ax_cxx_compile_alternatives}; do - for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}" MSVC; do + if test x"$switch" = xMSVC; then + dnl AS_TR_SH maps both `:` and `=` to `_` so -std:c++17 would collide + dnl with -std=c++17. We suffix the cache variable name with _MSVC to + dnl avoid this. + switch=-std:c++${alternative} + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_${switch}_MSVC]) + else + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + fi AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, $cachevar, [ac_save_CXX="$CXX" @@ -139,7 +162,6 @@ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 ) - dnl Test body for checking C++14 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], @@ -147,12 +169,24 @@ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 ) +dnl Test body for checking C++17 support + m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 ) +dnl Test body for checking C++20 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 +) + + dnl Tests for new features in C++11 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ @@ -164,7 +198,11 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 201103L +// MSVC always sets __cplusplus to 199711L in older versions; newer versions +// only set it correctly if /Zc:__cplusplus is specified as well as a +// /std:c++NN switch: +// https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +#elif __cplusplus < 201103L && !defined _MSC_VER #error "This is not a C++11 compiler" @@ -189,11 +227,13 @@ struct Base { + virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { + virtual ~Derived() override {} virtual void f() override {} }; @@ -453,7 +493,7 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 201402L +#elif __cplusplus < 201402L && !defined _MSC_VER #error "This is not a C++14 compiler" @@ -577,7 +617,7 @@ #error "This is not a C++ compiler" -#elif __cplusplus < 201703L +#elif __cplusplus < 201703L && !defined _MSC_VER #error "This is not a C++17 compiler" @@ -943,6 +983,36 @@ } // namespace cxx17 -#endif // __cplusplus < 201703L +#endif // __cplusplus < 201703L && !defined _MSC_VER + +]]) + + +dnl Tests for new features in C++20 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 202002L && !defined _MSC_VER + +#error "This is not a C++20 compiler" + +#else + +#include <version> + +namespace cxx20 +{ + +// As C++20 supports feature test macros in the standard, there is no +// immediate need to actually test for feature availability on the +// Autoconf side. + +} // namespace cxx20 + +#endif // __cplusplus < 202002L && !defined _MSC_VER ]]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/nghttp3-1.0.0/tests/nghttp3_http_test.c new/nghttp3-1.1.0/tests/nghttp3_http_test.c --- old/nghttp3-1.0.0/tests/nghttp3_http_test.c 2023-10-15 14:28:12.000000000 +0200 +++ new/nghttp3-1.1.0/tests/nghttp3_http_test.c 2023-11-26 07:25:00.000000000 +0100 @@ -47,6 +47,18 @@ CU_ASSERT(UINT8_MAX == pri.inc); } + // Check API version. + { + nghttp3_pri pri = {(uint32_t)-1, UINT8_MAX}; + const uint8_t v[] = ""; + + rv = nghttp3_pri_parse_priority(&pri, v, sizeof(v) - 1); + + CU_ASSERT(0 == rv); + CU_ASSERT((uint32_t)-1 == pri.urgency); + CU_ASSERT(UINT8_MAX == pri.inc); + } + { nghttp3_pri pri = {(uint32_t)-1, UINT8_MAX}; const uint8_t v[] = "u=1";
