summaryrefslogtreecommitdiff
path: root/deps/nghttp2/lib
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2017-08-20 23:48:15 +0200
committerAnna Henningsen <anna@addaleax.net>2017-08-24 01:26:42 +0200
commiteb680964b4a2e3954977d85d04a5b3c8726de9e9 (patch)
treee771eeda19c3185e22c1a707c0186bbe966f9af0 /deps/nghttp2/lib
parent67269fd7f33279699b1ae71225f3d738518c844c (diff)
downloadandroid-node-v8-eb680964b4a2e3954977d85d04a5b3c8726de9e9.tar.gz
android-node-v8-eb680964b4a2e3954977d85d04a5b3c8726de9e9.tar.bz2
android-node-v8-eb680964b4a2e3954977d85d04a5b3c8726de9e9.zip
deps: update nghttp2 to v1.25.0
PR-URL: https://github.com/nodejs/node/pull/14955 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/nghttp2/lib')
-rw-r--r--deps/nghttp2/lib/Makefile.msvc572
-rw-r--r--deps/nghttp2/lib/includes/nghttp2/nghttp2.h32
-rw-r--r--deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h4
-rw-r--r--deps/nghttp2/lib/nghttp2_frame.c3
-rw-r--r--deps/nghttp2/lib/nghttp2_hd.c6
-rw-r--r--deps/nghttp2/lib/nghttp2_pq.h2
-rw-r--r--deps/nghttp2/lib/nghttp2_session.c177
-rw-r--r--deps/nghttp2/lib/nghttp2_session.h2
-rw-r--r--deps/nghttp2/lib/version.rc.in80
9 files changed, 455 insertions, 423 deletions
diff --git a/deps/nghttp2/lib/Makefile.msvc b/deps/nghttp2/lib/Makefile.msvc
index cef359ee25..f649c0bda4 100644
--- a/deps/nghttp2/lib/Makefile.msvc
+++ b/deps/nghttp2/lib/Makefile.msvc
@@ -1,286 +1,286 @@
-#
-# GNU Makefile for nghttp2 / MSVC.
-#
-# By G. Vanem <gvanem@yahoo.no> 2013
-# Updated 3/2015 by Remo Eichenberger @remoe
-# The MIT License apply.
-#
-
-#
-# Choose your weapons:
-# Set 'USE_CYTHON=1' to build and install the 'nghttp2.pyd' Python extension.
-#
-THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))
-
-USE_CYTHON := 0
-#USE_CYTHON := 1
-
-_VERSION := $(shell grep AC_INIT ../configure.ac | cut -d'[' -f3 | sed -e 's/-DEV//g' -e 's/], //g')
-_VERSION := $(subst ., ,$(_VERSION))
-VER_MAJOR := $(word 1,$(_VERSION))
-VER_MINOR := $(word 2,$(_VERSION))
-VER_MICRO := $(word 3,$(_VERSION))
-VERSION := $(VER_MAJOR).$(VER_MINOR).$(VER_MICRO)
-VERSION_NUM := (($(VER_MAJOR) << 16) + ($(VER_MINOR) << 8) + $(VER_MICRO))
-
-GENERATED := 'Generated by $(realpath Makefile.MSVC)'
-
-OBJ_DIR := MSVC_obj
-#SUFFIX :=-vc90-mt-x86
-
-#
-# Where to copy nghttp2.dll + lib + headers to.
-# Note: 'make install' is not in default targets. Do it explicitly.
-#
-TARGET_DIR ?= ../_VC_ROOT
-VC_ROOT := $(abspath $(TARGET_DIR))
-INSTALL_BIN := $(VC_ROOT)/bin
-INSTALL_LIB := $(VC_ROOT)/lib
-INSTALL_HDR := $(VC_ROOT)/include
-DLL_R := $(OBJ_DIR)/nghttp2$(SUFFIX).dll
-DLL_D := $(OBJ_DIR)/nghttp2d$(SUFFIX).dll
-LIB_R := $(OBJ_DIR)/nghttp2-static.lib
-LIB_D := $(OBJ_DIR)/nghttp2d-static.lib
-IMP_R := $(OBJ_DIR)/nghttp2.lib
-IMP_D := $(OBJ_DIR)/nghttp2d.lib
-
-#
-# Build for DEBUG-model and RELEASE at the same time.
-#
-TARGETS := $(LIB_R) $(DLL_R) $(IMP_R) \
- $(LIB_D) $(DLL_D) $(IMP_D)
-
-EXT_LIBS =
-
-NGHTTP2_PDB_R := $(OBJ_DIR)/nghttp2.pdb
-NGHTTP2_PDB_D := $(OBJ_DIR)/nghttp2d.pdb
-
-CC = cl
-LD := link
-AR := lib
-#CC := icl
-#LD := xilink
-#AR := xilib
-RC := rc
-CFLAGS := -I./includes -Dssize_t=long
-
-CFLAGS_R := -nologo -MD -W3 -Z7 -DBUILDING_NGHTTP2
-CFLAGS_D := -nologo -MDd -W3 -Z7 -DBUILDING_NGHTTP2 \
- -Ot -D_DEBUG -GF -RTCs -RTCu # -RTCc -GS
-
-LDFLAGS := -nologo -MAP -debug -incremental:no -opt:ref,icf -MANIFEST # -verbose
-
-
-NGHTTP2_SRC := nghttp2_pq.c \
- nghttp2_map.c \
- nghttp2_queue.c \
- nghttp2_frame.c \
- nghttp2_buf.c \
- nghttp2_stream.c \
- nghttp2_outbound_item.c \
- nghttp2_session.c \
- nghttp2_submit.c \
- nghttp2_helper.c \
- nghttp2_npn.c \
- nghttp2_hd.c \
- nghttp2_hd_huffman.c \
- nghttp2_hd_huffman_data.c \
- nghttp2_version.c \
- nghttp2_priority_spec.c \
- nghttp2_option.c \
- nghttp2_callbacks.c \
- nghttp2_mem.c \
- nghttp2_http.c \
- nghttp2_rcbuf.c
-
-NGHTTP2_OBJ_R := $(addprefix $(OBJ_DIR)/r_, $(notdir $(NGHTTP2_SRC:.c=.obj)))
-NGHTTP2_OBJ_D := $(addprefix $(OBJ_DIR)/d_, $(notdir $(NGHTTP2_SRC:.c=.obj)))
-
-.PHONY: all intro test_ver install copy_headers_and_libs \
- install_nghttp2_pyd_0 install_nghttp2_pyd_1 \
- build_nghttp2_pyd_0 build_nghttp2_pyd_1 \
- clean_nghttp2_pyd_0 clean_nghttp2_pyd_1
-
-
-all: intro includes/nghttp2/nghttp2ver.h $(OBJ_DIR) $(TARGETS) build_nghttp2_pyd_$(USE_CYTHON)
- @echo 'Welcome to NgHTTP2 (release + debug).'
- @echo 'Do a "make -f Makefile.MSVC install" at own risk!'
-
-intro:
- @echo 'Building NgHTTP (MSVC) ver. "$(VERSION)".'
-
-test_ver:
- @echo '$$(VERSION): "$(VERSION)".'
- @echo '$$(_VERSION): "$(_VERSION)".'
- @echo '$$(VER_MAJOR): "$(VER_MAJOR)".'
- @echo '$$(VER_MINOR): "$(VER_MINOR)".'
- @echo '$$(VER_MICRO): "$(VER_MICRO)".'
-
-$(OBJ_DIR):
- - mkdir $(OBJ_DIR)
-
-install: includes/nghttp2/nghttp2.h includes/nghttp2/nghttp2ver.h \
- $(TARGETS) \
- copy_headers_and_libs install_nghttp2_pyd_$(USE_CYTHON)
-
-#
-# This MUST be done before using the 'install_nghttp2_pyd_1' rule.
-#
-copy_headers_and_libs:
- - mkdir -p $(INSTALL_HDR)/nghttp2 $(INSTALL_BIN) $(INSTALL_LIB)
- cp --update $(addprefix includes/nghttp2/, nghttp2.h nghttp2ver.h) $(INSTALL_HDR)/nghttp2
- cp --update $(DLL_R) $(DLL_D) $(NGHTTP2_PDB_R) $(NGHTTP2_PDB_D) $(INSTALL_BIN)
- cp --update $(IMP_R) $(IMP_D) $(LIB_R) $(LIB_D) $(INSTALL_LIB)
- @echo
-
-$(LIB_R): $(NGHTTP2_OBJ_R)
- $(AR) -nologo -out:$@ $^
- @echo
-
-$(LIB_D): $(NGHTTP2_OBJ_D)
- $(AR) -nologo -out:$@ $^
- @echo
-
-
-$(IMP_R): $(DLL_R)
-
-$(DLL_R): $(NGHTTP2_OBJ_R) $(OBJ_DIR)/r_nghttp2.res
- $(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_R) $(NGHTTP2_OBJ_R) -PDB:$(NGHTTP2_PDB_R) $(OBJ_DIR)/r_nghttp2.res $(EXT_LIBS)
- mt -nologo -manifest $@.manifest -outputresource:$@\;2
- @echo
-
-$(IMP_D): $(DLL_D)
-
-$(DLL_D): $(NGHTTP2_OBJ_D) $(OBJ_DIR)/d_nghttp2.res
- $(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_D) $(NGHTTP2_OBJ_D) -PDB:$(NGHTTP2_PDB_D) $(OBJ_DIR)/d_nghttp2.res $(EXT_LIBS)
- mt -nologo -manifest $@.manifest -outputresource:$@\;2
- @echo
-
-
-WIN_OBJDIR:=$(shell cygpath -w $(abspath $(OBJ_DIR)))
-WIN_OBJDIR:=$(subst \,/,$(WIN_OBJDIR))
-
-../python/setup.py: ../python/setup.py.in $(THIS_MAKEFILE)
- cd ../python ; \
- echo '# $(GENERATED). DO NOT EDIT.' > setup.py ; \
- sed -e 's/@top_srcdir@/../' \
- -e 's%@top_builddir@%$(WIN_OBJDIR)%' \
- -e 's/@PACKAGE_VERSION@/$(VERSION)/' setup.py.in >> setup.py ;
-
-build_nghttp2_pyd_0: ;
-
-build_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx)
- cd ../python ; \
- python setup.py build_ext -i -f bdist_wininst
-
-install_nghttp2_pyd_0: ;
-
-install_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx)
- cd ../python ; \
- pip install .
-
-clean_nghttp2_pyd_0: ;
-
-clean_nghttp2_pyd_1:
- cd ../python ; \
- rm -fR build dist
-
-$(OBJ_DIR)/r_%.obj: %.c $(THIS_MAKEFILE)
- $(CC) $(CFLAGS_R) $(CFLAGS) -Fo$@ -c $<
- @echo
-
-$(OBJ_DIR)/d_%.obj: %.c $(THIS_MAKEFILE)
- $(CC) $(CFLAGS_D) $(CFLAGS) -Fo$@ -c $<
- @echo
-
-$(OBJ_DIR)/r_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE)
- $(RC) -D_RELEASE -Fo $@ $<
- @echo
-
-$(OBJ_DIR)/d_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE)
- $(RC) -D_DEBUG -Fo $@ $<
- @echo
-
-includes/nghttp2/nghttp2ver.h: includes/nghttp2/nghttp2ver.h.in $(THIS_MAKEFILE)
- sed < includes/nghttp2/nghttp2ver.h.in \
- -e 's/@PACKAGE_VERSION@/$(VERSION)/g' \
- -e 's/@PACKAGE_VERSION_NUM@/$(VERSION_NUM)/g' > $@
- touch --reference=includes/nghttp2/nghttp2ver.h.in $@
-
-
-define RES_FILE
- #include <winver.h>
-
- VS_VERSION_INFO VERSIONINFO
- FILEVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0
- PRODUCTVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0
- FILEFLAGSMASK 0x3fL
- FILEOS 0x40004L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
- #ifdef _DEBUG
- #define VER_STR "$(VERSION).0 (MSVC debug)"
- #define DBG "d"
- FILEFLAGS 0x1L
- #else
- #define VER_STR "$(VERSION).0 (MSVC release)"
- #define DBG ""
- FILEFLAGS 0x0L
- #endif
- BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "CompanyName", "http://tatsuhiro-t.github.io/nghttp2/"
- VALUE "FileDescription", "nghttp2; HTTP/2 C library"
- VALUE "FileVersion", VER_STR
- VALUE "InternalName", "nghttp2" DBG
- VALUE "LegalCopyright", "The MIT License"
- VALUE "LegalTrademarks", ""
- VALUE "OriginalFilename", "nghttp2" DBG ".dll"
- VALUE "ProductName", "NGHTTP2."
- VALUE "ProductVersion", VER_STR
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
- END
-endef
-
-export RES_FILE
-
-$(OBJ_DIR)/nghttp2.rc: Makefile.MSVC
- @echo 'Generating $@...'
- @echo ' /* $(GENERATED). DO NOT EDIT.' > $@
- @echo ' */' >> $@
- @echo "$$RES_FILE" >> $@
-
-clean:
- rm -f $(OBJ_DIR)/* includes/nghttp2/nghttp2ver.h
- @echo
-
-vclean realclean: clean clean_nghttp2_pyd_$(USE_CYTHON)
- - rm -rf $(OBJ_DIR)
- - rm -f .depend.MSVC
-
-#
-# Use gcc to generated the dependencies. No MSVC specific args please!
-#
-REPLACE_R = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/r_\1.obj: /'
-REPLACE_D = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/d_\1.obj: /'
-
-depend: includes/nghttp2/nghttp2ver.h
- @echo '# $(GENERATED). DO NOT EDIT.' > .depend.MSVC
- gcc -MM $(CFLAGS) $(NGHTTP2_SRC) >> .depend.tmp
- @echo '#' >> .depend.MSVC
- @echo '# Release lib objects:' >> .depend.MSVC
- sed -e $(REPLACE_R) .depend.tmp >> .depend.MSVC
- @echo '#' >> .depend.MSVC
- @echo '# Debug lib objects:' >> .depend.MSVC
- sed -e $(REPLACE_D) .depend.tmp >> .depend.MSVC
- rm -f .depend.tmp
-
--include .depend.MSVC
+#
+# GNU Makefile for nghttp2 / MSVC.
+#
+# By G. Vanem <gvanem@yahoo.no> 2013
+# Updated 3/2015 by Remo Eichenberger @remoe
+# The MIT License apply.
+#
+
+#
+# Choose your weapons:
+# Set 'USE_CYTHON=1' to build and install the 'nghttp2.pyd' Python extension.
+#
+THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))
+
+USE_CYTHON := 0
+#USE_CYTHON := 1
+
+_VERSION := $(shell grep AC_INIT ../configure.ac | cut -d'[' -f3 | sed -e 's/-DEV//g' -e 's/], //g')
+_VERSION := $(subst ., ,$(_VERSION))
+VER_MAJOR := $(word 1,$(_VERSION))
+VER_MINOR := $(word 2,$(_VERSION))
+VER_MICRO := $(word 3,$(_VERSION))
+VERSION := $(VER_MAJOR).$(VER_MINOR).$(VER_MICRO)
+VERSION_NUM := (($(VER_MAJOR) << 16) + ($(VER_MINOR) << 8) + $(VER_MICRO))
+
+GENERATED := 'Generated by $(realpath Makefile.MSVC)'
+
+OBJ_DIR := MSVC_obj
+#SUFFIX :=-vc90-mt-x86
+
+#
+# Where to copy nghttp2.dll + lib + headers to.
+# Note: 'make install' is not in default targets. Do it explicitly.
+#
+TARGET_DIR ?= ../_VC_ROOT
+VC_ROOT := $(abspath $(TARGET_DIR))
+INSTALL_BIN := $(VC_ROOT)/bin
+INSTALL_LIB := $(VC_ROOT)/lib
+INSTALL_HDR := $(VC_ROOT)/include
+DLL_R := $(OBJ_DIR)/nghttp2$(SUFFIX).dll
+DLL_D := $(OBJ_DIR)/nghttp2d$(SUFFIX).dll
+LIB_R := $(OBJ_DIR)/nghttp2-static.lib
+LIB_D := $(OBJ_DIR)/nghttp2d-static.lib
+IMP_R := $(OBJ_DIR)/nghttp2.lib
+IMP_D := $(OBJ_DIR)/nghttp2d.lib
+
+#
+# Build for DEBUG-model and RELEASE at the same time.
+#
+TARGETS := $(LIB_R) $(DLL_R) $(IMP_R) \
+ $(LIB_D) $(DLL_D) $(IMP_D)
+
+EXT_LIBS =
+
+NGHTTP2_PDB_R := $(OBJ_DIR)/nghttp2.pdb
+NGHTTP2_PDB_D := $(OBJ_DIR)/nghttp2d.pdb
+
+CC = cl
+LD := link
+AR := lib
+#CC := icl
+#LD := xilink
+#AR := xilib
+RC := rc
+CFLAGS := -I./includes -Dssize_t=long
+
+CFLAGS_R := -nologo -MD -W3 -Z7 -DBUILDING_NGHTTP2
+CFLAGS_D := -nologo -MDd -W3 -Z7 -DBUILDING_NGHTTP2 \
+ -Ot -D_DEBUG -GF -RTCs -RTCu # -RTCc -GS
+
+LDFLAGS := -nologo -MAP -debug -incremental:no -opt:ref,icf -MANIFEST # -verbose
+
+
+NGHTTP2_SRC := nghttp2_pq.c \
+ nghttp2_map.c \
+ nghttp2_queue.c \
+ nghttp2_frame.c \
+ nghttp2_buf.c \
+ nghttp2_stream.c \
+ nghttp2_outbound_item.c \
+ nghttp2_session.c \
+ nghttp2_submit.c \
+ nghttp2_helper.c \
+ nghttp2_npn.c \
+ nghttp2_hd.c \
+ nghttp2_hd_huffman.c \
+ nghttp2_hd_huffman_data.c \
+ nghttp2_version.c \
+ nghttp2_priority_spec.c \
+ nghttp2_option.c \
+ nghttp2_callbacks.c \
+ nghttp2_mem.c \
+ nghttp2_http.c \
+ nghttp2_rcbuf.c
+
+NGHTTP2_OBJ_R := $(addprefix $(OBJ_DIR)/r_, $(notdir $(NGHTTP2_SRC:.c=.obj)))
+NGHTTP2_OBJ_D := $(addprefix $(OBJ_DIR)/d_, $(notdir $(NGHTTP2_SRC:.c=.obj)))
+
+.PHONY: all intro test_ver install copy_headers_and_libs \
+ install_nghttp2_pyd_0 install_nghttp2_pyd_1 \
+ build_nghttp2_pyd_0 build_nghttp2_pyd_1 \
+ clean_nghttp2_pyd_0 clean_nghttp2_pyd_1
+
+
+all: intro includes/nghttp2/nghttp2ver.h $(OBJ_DIR) $(TARGETS) build_nghttp2_pyd_$(USE_CYTHON)
+ @echo 'Welcome to NgHTTP2 (release + debug).'
+ @echo 'Do a "make -f Makefile.MSVC install" at own risk!'
+
+intro:
+ @echo 'Building NgHTTP (MSVC) ver. "$(VERSION)".'
+
+test_ver:
+ @echo '$$(VERSION): "$(VERSION)".'
+ @echo '$$(_VERSION): "$(_VERSION)".'
+ @echo '$$(VER_MAJOR): "$(VER_MAJOR)".'
+ @echo '$$(VER_MINOR): "$(VER_MINOR)".'
+ @echo '$$(VER_MICRO): "$(VER_MICRO)".'
+
+$(OBJ_DIR):
+ - mkdir $(OBJ_DIR)
+
+install: includes/nghttp2/nghttp2.h includes/nghttp2/nghttp2ver.h \
+ $(TARGETS) \
+ copy_headers_and_libs install_nghttp2_pyd_$(USE_CYTHON)
+
+#
+# This MUST be done before using the 'install_nghttp2_pyd_1' rule.
+#
+copy_headers_and_libs:
+ - mkdir -p $(INSTALL_HDR)/nghttp2 $(INSTALL_BIN) $(INSTALL_LIB)
+ cp --update $(addprefix includes/nghttp2/, nghttp2.h nghttp2ver.h) $(INSTALL_HDR)/nghttp2
+ cp --update $(DLL_R) $(DLL_D) $(NGHTTP2_PDB_R) $(NGHTTP2_PDB_D) $(INSTALL_BIN)
+ cp --update $(IMP_R) $(IMP_D) $(LIB_R) $(LIB_D) $(INSTALL_LIB)
+ @echo
+
+$(LIB_R): $(NGHTTP2_OBJ_R)
+ $(AR) -nologo -out:$@ $^
+ @echo
+
+$(LIB_D): $(NGHTTP2_OBJ_D)
+ $(AR) -nologo -out:$@ $^
+ @echo
+
+
+$(IMP_R): $(DLL_R)
+
+$(DLL_R): $(NGHTTP2_OBJ_R) $(OBJ_DIR)/r_nghttp2.res
+ $(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_R) $(NGHTTP2_OBJ_R) -PDB:$(NGHTTP2_PDB_R) $(OBJ_DIR)/r_nghttp2.res $(EXT_LIBS)
+ mt -nologo -manifest $@.manifest -outputresource:$@\;2
+ @echo
+
+$(IMP_D): $(DLL_D)
+
+$(DLL_D): $(NGHTTP2_OBJ_D) $(OBJ_DIR)/d_nghttp2.res
+ $(LD) $(LDFLAGS) -dll -out:$@ -implib:$(IMP_D) $(NGHTTP2_OBJ_D) -PDB:$(NGHTTP2_PDB_D) $(OBJ_DIR)/d_nghttp2.res $(EXT_LIBS)
+ mt -nologo -manifest $@.manifest -outputresource:$@\;2
+ @echo
+
+
+WIN_OBJDIR:=$(shell cygpath -w $(abspath $(OBJ_DIR)))
+WIN_OBJDIR:=$(subst \,/,$(WIN_OBJDIR))
+
+../python/setup.py: ../python/setup.py.in $(THIS_MAKEFILE)
+ cd ../python ; \
+ echo '# $(GENERATED). DO NOT EDIT.' > setup.py ; \
+ sed -e 's/@top_srcdir@/../' \
+ -e 's%@top_builddir@%$(WIN_OBJDIR)%' \
+ -e 's/@PACKAGE_VERSION@/$(VERSION)/' setup.py.in >> setup.py ;
+
+build_nghttp2_pyd_0: ;
+
+build_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx)
+ cd ../python ; \
+ python setup.py build_ext -i -f bdist_wininst
+
+install_nghttp2_pyd_0: ;
+
+install_nghttp2_pyd_1: $(addprefix ../python/, setup.py nghttp2.pyx)
+ cd ../python ; \
+ pip install .
+
+clean_nghttp2_pyd_0: ;
+
+clean_nghttp2_pyd_1:
+ cd ../python ; \
+ rm -fR build dist
+
+$(OBJ_DIR)/r_%.obj: %.c $(THIS_MAKEFILE)
+ $(CC) $(CFLAGS_R) $(CFLAGS) -Fo$@ -c $<
+ @echo
+
+$(OBJ_DIR)/d_%.obj: %.c $(THIS_MAKEFILE)
+ $(CC) $(CFLAGS_D) $(CFLAGS) -Fo$@ -c $<
+ @echo
+
+$(OBJ_DIR)/r_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE)
+ $(RC) -D_RELEASE -Fo $@ $<
+ @echo
+
+$(OBJ_DIR)/d_nghttp2.res: $(OBJ_DIR)/nghttp2.rc $(THIS_MAKEFILE)
+ $(RC) -D_DEBUG -Fo $@ $<
+ @echo
+
+includes/nghttp2/nghttp2ver.h: includes/nghttp2/nghttp2ver.h.in $(THIS_MAKEFILE)
+ sed < includes/nghttp2/nghttp2ver.h.in \
+ -e 's/@PACKAGE_VERSION@/$(VERSION)/g' \
+ -e 's/@PACKAGE_VERSION_NUM@/$(VERSION_NUM)/g' > $@
+ touch --reference=includes/nghttp2/nghttp2ver.h.in $@
+
+
+define RES_FILE
+ #include <winver.h>
+
+ VS_VERSION_INFO VERSIONINFO
+ FILEVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0
+ PRODUCTVERSION $(VER_MAJOR), $(VER_MINOR), $(VER_MICRO), 0
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x40004L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+ #ifdef _DEBUG
+ #define VER_STR "$(VERSION).0 (MSVC debug)"
+ #define DBG "d"
+ FILEFLAGS 0x1L
+ #else
+ #define VER_STR "$(VERSION).0 (MSVC release)"
+ #define DBG ""
+ FILEFLAGS 0x0L
+ #endif
+ BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "http://tatsuhiro-t.github.io/nghttp2/"
+ VALUE "FileDescription", "nghttp2; HTTP/2 C library"
+ VALUE "FileVersion", VER_STR
+ VALUE "InternalName", "nghttp2" DBG
+ VALUE "LegalCopyright", "The MIT License"
+ VALUE "LegalTrademarks", ""
+ VALUE "OriginalFilename", "nghttp2" DBG ".dll"
+ VALUE "ProductName", "NGHTTP2."
+ VALUE "ProductVersion", VER_STR
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+ END
+endef
+
+export RES_FILE
+
+$(OBJ_DIR)/nghttp2.rc: Makefile.MSVC
+ @echo 'Generating $@...'
+ @echo ' /* $(GENERATED). DO NOT EDIT.' > $@
+ @echo ' */' >> $@
+ @echo "$$RES_FILE" >> $@
+
+clean:
+ rm -f $(OBJ_DIR)/* includes/nghttp2/nghttp2ver.h
+ @echo
+
+vclean realclean: clean clean_nghttp2_pyd_$(USE_CYTHON)
+ - rm -rf $(OBJ_DIR)
+ - rm -f .depend.MSVC
+
+#
+# Use gcc to generated the dependencies. No MSVC specific args please!
+#
+REPLACE_R = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/r_\1.obj: /'
+REPLACE_D = 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/d_\1.obj: /'
+
+depend: includes/nghttp2/nghttp2ver.h
+ @echo '# $(GENERATED). DO NOT EDIT.' > .depend.MSVC
+ gcc -MM $(CFLAGS) $(NGHTTP2_SRC) >> .depend.tmp
+ @echo '#' >> .depend.MSVC
+ @echo '# Release lib objects:' >> .depend.MSVC
+ sed -e $(REPLACE_R) .depend.tmp >> .depend.MSVC
+ @echo '#' >> .depend.MSVC
+ @echo '# Debug lib objects:' >> .depend.MSVC
+ sed -e $(REPLACE_D) .depend.tmp >> .depend.MSVC
+ rm -f .depend.tmp
+
+-include .depend.MSVC
diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2.h
index 848ef066be..5696a2ef63 100644
--- a/deps/nghttp2/lib/includes/nghttp2/nghttp2.h
+++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2.h
@@ -472,9 +472,9 @@ NGHTTP2_EXTERN nghttp2_vec nghttp2_rcbuf_get_buf(nghttp2_rcbuf *rcbuf);
/**
* @function
*
- * Returns 1 if the underlying buffer is statically allocated,
- * and 0 otherwise. This can be useful for language bindings that wish to avoid
- * creating duplicate strings for these buffers.
+ * Returns nonzero if the underlying buffer is statically allocated,
+ * and 0 otherwise. This can be useful for language bindings that wish
+ * to avoid creating duplicate strings for these buffers.
*/
NGHTTP2_EXTERN int nghttp2_rcbuf_is_static(const nghttp2_rcbuf *rcbuf);
@@ -1750,11 +1750,12 @@ typedef int (*nghttp2_on_header_callback2)(nghttp2_session *session,
* The parameter and behaviour are similar to
* :type:`nghttp2_on_header_callback`. The difference is that this
* callback is only invoked when a invalid header name/value pair is
- * received which is silently ignored if this callback is not set.
- * Only invalid regular header field are passed to this callback. In
- * other words, invalid pseudo header field is not passed to this
- * callback. Also header fields which includes upper cased latter are
- * also treated as error without passing them to this callback.
+ * received which is treated as stream error if this callback is not
+ * set. Only invalid regular header field are passed to this
+ * callback. In other words, invalid pseudo header field is not
+ * passed to this callback. Also header fields which includes upper
+ * cased latter are also treated as error without passing them to this
+ * callback.
*
* This callback is only considered if HTTP messaging validation is
* turned on (which is on by default, see
@@ -1763,10 +1764,13 @@ typedef int (*nghttp2_on_header_callback2)(nghttp2_session *session,
* With this callback, application inspects the incoming invalid
* field, and it also can reset stream from this callback by returning
* :enum:`NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`. By default, the
- * error code is :enum:`NGHTTP2_INTERNAL_ERROR`. To change the error
+ * error code is :enum:`NGHTTP2_PROTOCOL_ERROR`. To change the error
* code, call `nghttp2_submit_rst_stream()` with the error code of
* choice in addition to returning
* :enum:`NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE`.
+ *
+ * If 0 is returned, the header field is ignored, and the stream is
+ * not reset.
*/
typedef int (*nghttp2_on_invalid_header_callback)(
nghttp2_session *session, const nghttp2_frame *frame, const uint8_t *name,
@@ -2457,7 +2461,10 @@ nghttp2_option_set_no_recv_client_magic(nghttp2_option *option, int val);
* <https://tools.ietf.org/html/rfc7540#section-8>`_. See
* :ref:`http-messaging` section for details. For those applications
* who use nghttp2 library as non-HTTP use, give nonzero to |val| to
- * disable this enforcement.
+ * disable this enforcement. Please note that disabling this feature
+ * does not change the fundamental client and server model of HTTP.
+ * That is, even if the validation is disabled, only client can send
+ * requests.
*/
NGHTTP2_EXTERN void nghttp2_option_set_no_http_messaging(nghttp2_option *option,
int val);
@@ -3811,9 +3818,8 @@ nghttp2_submit_response(nghttp2_session *session, int32_t stream_id,
* Submits trailer fields HEADERS against the stream |stream_id|.
*
* The |nva| is an array of name/value pair :type:`nghttp2_nv` with
- * |nvlen| elements. The application is responsible not to include
- * pseudo-header fields (header field whose name starts with ":") in
- * |nva|.
+ * |nvlen| elements. The application must not include pseudo-header
+ * fields (headers whose names starts with ":") in |nva|.
*
* This function creates copies of all name/value pairs in |nva|. It
* also lower-cases all names in |nva|. The order of elements in
diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h
index dd0587d164..c4024e1684 100644
--- a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h
+++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h
@@ -29,7 +29,7 @@
* @macro
* Version number of the nghttp2 library release
*/
-#define NGHTTP2_VERSION "1.22.0"
+#define NGHTTP2_VERSION "1.21.0-DEV"
/**
* @macro
@@ -37,6 +37,6 @@
* release. This is a 24 bit number with 8 bits for major number, 8 bits
* for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
*/
-#define NGHTTP2_VERSION_NUM 0x011600
+#define NGHTTP2_VERSION_NUM 0x011500
#endif /* NGHTTP2VER_H */
diff --git a/deps/nghttp2/lib/nghttp2_frame.c b/deps/nghttp2/lib/nghttp2_frame.c
index 90efaff531..210df05844 100644
--- a/deps/nghttp2/lib/nghttp2_frame.c
+++ b/deps/nghttp2/lib/nghttp2_frame.c
@@ -672,6 +672,9 @@ int nghttp2_frame_pack_altsvc(nghttp2_bufs *bufs, nghttp2_extension *frame) {
nghttp2_buf *buf;
nghttp2_ext_altsvc *altsvc;
+ /* This is required with --disable-assert. */
+ (void)rv;
+
altsvc = frame->payload;
buf = &bufs->head->buf;
diff --git a/deps/nghttp2/lib/nghttp2_hd.c b/deps/nghttp2/lib/nghttp2_hd.c
index e9a109dcc1..1eb3be3380 100644
--- a/deps/nghttp2/lib/nghttp2_hd.c
+++ b/deps/nghttp2/lib/nghttp2_hd.c
@@ -662,9 +662,9 @@ static int hd_context_init(nghttp2_hd_context *context, nghttp2_mem *mem) {
context->mem = mem;
context->bad = 0;
context->hd_table_bufsize_max = NGHTTP2_HD_DEFAULT_MAX_BUFFER_SIZE;
- rv = hd_ringbuf_init(&context->hd_table, context->hd_table_bufsize_max /
- NGHTTP2_HD_ENTRY_OVERHEAD,
- mem);
+ rv = hd_ringbuf_init(
+ &context->hd_table,
+ context->hd_table_bufsize_max / NGHTTP2_HD_ENTRY_OVERHEAD, mem);
if (rv != 0) {
return rv;
}
diff --git a/deps/nghttp2/lib/nghttp2_pq.h b/deps/nghttp2/lib/nghttp2_pq.h
index 6b0ecfb476..1426bef760 100644
--- a/deps/nghttp2/lib/nghttp2_pq.h
+++ b/deps/nghttp2/lib/nghttp2_pq.h
@@ -42,7 +42,7 @@ typedef struct {
nghttp2_pq_entry **q;
/* Memory allocator */
nghttp2_mem *mem;
- /* The number of items sotred */
+ /* The number of items stored */
size_t length;
/* The maximum number of items this pq can store. This is
automatically extended when length is reached to this value. */
diff --git a/deps/nghttp2/lib/nghttp2_session.c b/deps/nghttp2/lib/nghttp2_session.c
index 1c060f1b10..4bc94cbb19 100644
--- a/deps/nghttp2/lib/nghttp2_session.c
+++ b/deps/nghttp2/lib/nghttp2_session.c
@@ -1524,13 +1524,14 @@ static int session_predicate_response_headers_send(nghttp2_session *session,
if (nghttp2_session_is_my_stream_id(session, stream->stream_id)) {
return NGHTTP2_ERR_INVALID_STREAM_ID;
}
- if (stream->state == NGHTTP2_STREAM_OPENING) {
+ switch (stream->state) {
+ case NGHTTP2_STREAM_OPENING:
return 0;
- }
- if (stream->state == NGHTTP2_STREAM_CLOSING) {
+ case NGHTTP2_STREAM_CLOSING:
return NGHTTP2_ERR_STREAM_CLOSING;
+ default:
+ return NGHTTP2_ERR_INVALID_STREAM_STATE;
}
- return NGHTTP2_ERR_INVALID_STREAM_STATE;
}
/*
@@ -1573,9 +1574,6 @@ session_predicate_push_response_headers_send(nghttp2_session *session,
if (stream->state != NGHTTP2_STREAM_RESERVED) {
return NGHTTP2_ERR_PROTO;
}
- if (stream->state == NGHTTP2_STREAM_CLOSING) {
- return NGHTTP2_ERR_STREAM_CLOSING;
- }
if (session->goaway_flags & NGHTTP2_GOAWAY_RECV) {
return NGHTTP2_ERR_START_STREAM_NOT_ALLOWED;
}
@@ -1610,19 +1608,18 @@ static int session_predicate_headers_send(nghttp2_session *session,
return rv;
}
assert(stream);
- if (nghttp2_session_is_my_stream_id(session, stream->stream_id)) {
- if (stream->state == NGHTTP2_STREAM_CLOSING) {
- return NGHTTP2_ERR_STREAM_CLOSING;
- }
- return 0;
- }
- if (stream->state == NGHTTP2_STREAM_OPENED) {
+
+ switch (stream->state) {
+ case NGHTTP2_STREAM_OPENED:
return 0;
- }
- if (stream->state == NGHTTP2_STREAM_CLOSING) {
+ case NGHTTP2_STREAM_CLOSING:
return NGHTTP2_ERR_STREAM_CLOSING;
+ default:
+ if (nghttp2_session_is_my_stream_id(session, stream->stream_id)) {
+ return 0;
+ }
+ return NGHTTP2_ERR_INVALID_STREAM_STATE;
}
- return NGHTTP2_ERR_INVALID_STREAM_STATE;
}
/*
@@ -2068,14 +2065,6 @@ static int session_prep_frame(nghttp2_session *session,
/* We don't call nghttp2_session_adjust_closed_stream() here,
since we don't keep closed stream in client side */
- estimated_payloadlen = session_estimate_headers_payload(
- session, frame->headers.nva, frame->headers.nvlen,
- NGHTTP2_PRIORITY_SPECLEN);
-
- if (estimated_payloadlen > session->max_send_header_block_length) {
- return NGHTTP2_ERR_FRAME_SIZE_ERROR;
- }
-
rv = session_predicate_request_headers_send(session, item);
if (rv != 0) {
return rv;
@@ -2087,14 +2076,6 @@ static int session_prep_frame(nghttp2_session *session,
} else {
nghttp2_stream *stream;
- estimated_payloadlen = session_estimate_headers_payload(
- session, frame->headers.nva, frame->headers.nvlen,
- NGHTTP2_PRIORITY_SPECLEN);
-
- if (estimated_payloadlen > session->max_send_header_block_length) {
- return NGHTTP2_ERR_FRAME_SIZE_ERROR;
- }
-
stream = nghttp2_session_get_stream(session, frame->hd.stream_id);
if (stream && stream->state == NGHTTP2_STREAM_RESERVED) {
@@ -2121,6 +2102,14 @@ static int session_prep_frame(nghttp2_session *session,
}
}
+ estimated_payloadlen = session_estimate_headers_payload(
+ session, frame->headers.nva, frame->headers.nvlen,
+ NGHTTP2_PRIORITY_SPECLEN);
+
+ if (estimated_payloadlen > session->max_send_header_block_length) {
+ return NGHTTP2_ERR_FRAME_SIZE_ERROR;
+ }
+
rv = nghttp2_frame_pack_headers(&session->aob.framebufs, &frame->headers,
&session->hd_deflater);
@@ -2190,13 +2179,6 @@ static int session_prep_frame(nghttp2_session *session,
nghttp2_stream *stream;
size_t estimated_payloadlen;
- estimated_payloadlen = session_estimate_headers_payload(
- session, frame->push_promise.nva, frame->push_promise.nvlen, 0);
-
- if (estimated_payloadlen > session->max_send_header_block_length) {
- return NGHTTP2_ERR_FRAME_SIZE_ERROR;
- }
-
/* stream could be NULL if associated stream was already
closed. */
stream = nghttp2_session_get_stream(session, frame->hd.stream_id);
@@ -2209,6 +2191,13 @@ static int session_prep_frame(nghttp2_session *session,
assert(stream);
+ estimated_payloadlen = session_estimate_headers_payload(
+ session, frame->push_promise.nva, frame->push_promise.nvlen, 0);
+
+ if (estimated_payloadlen > session->max_send_header_block_length) {
+ return NGHTTP2_ERR_FRAME_SIZE_ERROR;
+ }
+
rv = nghttp2_frame_pack_push_promise(
&session->aob.framebufs, &frame->push_promise, &session->hd_deflater);
if (rv != 0) {
@@ -3332,7 +3321,7 @@ static int session_call_on_invalid_header(nghttp2_session *session,
session, frame, nv->name->base, nv->name->len, nv->value->base,
nv->value->len, nv->flags, session->user_data);
} else {
- return 0;
+ return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
}
if (rv == NGHTTP2_ERR_PAUSE || rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) {
@@ -3422,6 +3411,27 @@ static uint32_t get_error_code_from_lib_error_code(int lib_error_code) {
}
}
+/*
+ * Calls on_invalid_frame_recv_callback if it is set to |session|.
+ *
+ * This function returns 0 if it succeeds, or one of the following
+ * negative error codes:
+ *
+ * NGHTTP2_ERR_CALLBACK_FAILURE
+ * User defined callback function fails.
+ */
+static int session_call_on_invalid_frame_recv_callback(nghttp2_session *session,
+ nghttp2_frame *frame,
+ int lib_error_code) {
+ if (session->callbacks.on_invalid_frame_recv_callback) {
+ if (session->callbacks.on_invalid_frame_recv_callback(
+ session, frame, lib_error_code, session->user_data) != 0) {
+ return NGHTTP2_ERR_CALLBACK_FAILURE;
+ }
+ }
+ return 0;
+}
+
static int session_handle_invalid_stream2(nghttp2_session *session,
int32_t stream_id,
nghttp2_frame *frame,
@@ -3579,6 +3589,37 @@ static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame,
if (subject_stream && session_enforce_http_messaging(session)) {
rv = nghttp2_http_on_header(session, subject_stream, frame, &nv,
trailer);
+
+ if (rv == NGHTTP2_ERR_IGN_HTTP_HEADER) {
+ /* Don't overwrite rv here */
+ int rv2;
+
+ rv2 = session_call_on_invalid_header(session, frame, &nv);
+ if (rv2 == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) {
+ rv = NGHTTP2_ERR_HTTP_HEADER;
+ } else {
+ if (rv2 != 0) {
+ return rv2;
+ }
+
+ /* header is ignored */
+ DEBUGF("recv: HTTP ignored: type=%u, id=%d, header %.*s: %.*s\n",
+ frame->hd.type, frame->hd.stream_id, (int)nv.name->len,
+ nv.name->base, (int)nv.value->len, nv.value->base);
+
+ rv2 = session_call_error_callback(
+ session,
+ "Ignoring received invalid HTTP header field: frame type: "
+ "%u, stream: %d, name: [%.*s], value: [%.*s]",
+ frame->hd.type, frame->hd.stream_id, (int)nv.name->len,
+ nv.name->base, (int)nv.value->len, nv.value->base);
+
+ if (nghttp2_is_fatal(rv2)) {
+ return rv2;
+ }
+ }
+ }
+
if (rv == NGHTTP2_ERR_HTTP_HEADER) {
DEBUGF("recv: HTTP error: type=%u, id=%d, header %.*s: %.*s\n",
frame->hd.type, frame->hd.stream_id, (int)nv.name->len,
@@ -3602,34 +3643,6 @@ static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame,
}
return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
}
-
- if (rv == NGHTTP2_ERR_IGN_HTTP_HEADER) {
- /* Don't overwrite rv here */
- int rv2;
-
- rv2 = session_call_on_invalid_header(session, frame, &nv);
- /* This handles NGHTTP2_ERR_PAUSE and
- NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE as well */
- if (rv2 != 0) {
- return rv2;
- }
-
- /* header is ignored */
- DEBUGF("recv: HTTP ignored: type=%u, id=%d, header %.*s: %.*s\n",
- frame->hd.type, frame->hd.stream_id, (int)nv.name->len,
- nv.name->base, (int)nv.value->len, nv.value->base);
-
- rv2 = session_call_error_callback(
- session,
- "Ignoring received invalid HTTP header field: frame type: "
- "%u, stream: %d, name: [%.*s], value: [%.*s]",
- frame->hd.type, frame->hd.stream_id, (int)nv.name->len,
- nv.name->base, (int)nv.value->len, nv.value->base);
-
- if (nghttp2_is_fatal(rv2)) {
- return rv2;
- }
- }
}
if (rv == 0) {
rv = session_call_on_header(session, frame, &nv);
@@ -4772,11 +4785,13 @@ int nghttp2_session_on_altsvc_received(nghttp2_session *session,
if (frame->hd.stream_id == 0) {
if (altsvc->origin_len == 0) {
- return 0;
+ return session_call_on_invalid_frame_recv_callback(session, frame,
+ NGHTTP2_ERR_PROTO);
}
} else {
if (altsvc->origin_len > 0) {
- return 0;
+ return session_call_on_invalid_frame_recv_callback(session, frame,
+ NGHTTP2_ERR_PROTO);
}
stream = nghttp2_session_get_stream(session, frame->hd.stream_id);
@@ -4789,6 +4804,11 @@ int nghttp2_session_on_altsvc_received(nghttp2_session *session,
}
}
+ if (altsvc->field_value_len == 0) {
+ return session_call_on_invalid_frame_recv_callback(session, frame,
+ NGHTTP2_ERR_PROTO);
+ }
+
return session_call_on_frame_received(session, frame);
}
@@ -5573,8 +5593,8 @@ ssize_t nghttp2_session_mem_recv(nghttp2_session *session, const uint8_t *in,
iframe->max_niv =
iframe->frame.hd.length / NGHTTP2_FRAME_SETTINGS_ENTRY_LENGTH + 1;
- iframe->iv = nghttp2_mem_malloc(mem, sizeof(nghttp2_settings_entry) *
- iframe->max_niv);
+ iframe->iv = nghttp2_mem_malloc(
+ mem, sizeof(nghttp2_settings_entry) * iframe->max_niv);
if (!iframe->iv) {
return NGHTTP2_ERR_NOMEM;
@@ -5951,7 +5971,7 @@ ssize_t nghttp2_session_mem_recv(nghttp2_session *session, const uint8_t *in,
DEBUGF("recv: origin_len=%zu\n", origin_len);
- if (2 + origin_len > iframe->payloadleft) {
+ if (origin_len > iframe->payloadleft) {
busy = 1;
iframe->state = NGHTTP2_IB_FRAME_SIZE_ERROR;
break;
@@ -6037,9 +6057,10 @@ ssize_t nghttp2_session_mem_recv(nghttp2_session *session, const uint8_t *in,
/* Use promised stream ID for PUSH_PROMISE */
rv = nghttp2_session_add_rst_stream(
- session, iframe->frame.hd.type == NGHTTP2_PUSH_PROMISE
- ? iframe->frame.push_promise.promised_stream_id
- : iframe->frame.hd.stream_id,
+ session,
+ iframe->frame.hd.type == NGHTTP2_PUSH_PROMISE
+ ? iframe->frame.push_promise.promised_stream_id
+ : iframe->frame.hd.stream_id,
NGHTTP2_INTERNAL_ERROR);
if (nghttp2_is_fatal(rv)) {
return rv;
@@ -7129,6 +7150,7 @@ uint32_t nghttp2_session_get_remote_settings(nghttp2_session *session,
}
assert(0);
+ abort(); /* if NDEBUG is set */
}
uint32_t nghttp2_session_get_local_settings(nghttp2_session *session,
@@ -7149,6 +7171,7 @@ uint32_t nghttp2_session_get_local_settings(nghttp2_session *session,
}
assert(0);
+ abort(); /* if NDEBUG is set */
}
static int nghttp2_session_upgrade_internal(nghttp2_session *session,
diff --git a/deps/nghttp2/lib/nghttp2_session.h b/deps/nghttp2/lib/nghttp2_session.h
index 3e4c1440a5..3e1467f6a3 100644
--- a/deps/nghttp2/lib/nghttp2_session.h
+++ b/deps/nghttp2/lib/nghttp2_session.h
@@ -311,7 +311,7 @@ struct nghttp2_session {
/* Unacked local SETTINGS_MAX_CONCURRENT_STREAMS value. We use this
to refuse the incoming stream if it exceeds this value. */
uint32_t pending_local_max_concurrent_stream;
- /* The bitwose OR of zero or more of nghttp2_typemask to indicate
+ /* The bitwise OR of zero or more of nghttp2_typemask to indicate
that the default handling of extension frame is enabled. */
uint32_t builtin_recv_ext_types;
/* Unacked local ENABLE_PUSH value. We use this to refuse
diff --git a/deps/nghttp2/lib/version.rc.in b/deps/nghttp2/lib/version.rc.in
index 8938ab328e..4edfa7a49f 100644
--- a/deps/nghttp2/lib/version.rc.in
+++ b/deps/nghttp2/lib/version.rc.in
@@ -1,40 +1,40 @@
-#include <winver.h>
-
-VS_VERSION_INFO VERSIONINFO
-
-FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0
-PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0
-FILEFLAGSMASK 0x3fL
-FILEOS 0x40004L
-FILETYPE 0x2L
-FILESUBTYPE 0x0L
-#ifdef _DEBUG
- #define VER_STR "@PROJECT_VERSION@.0 (MSVC debug)"
- #define DBG "d"
- FILEFLAGS 0x1L
-#else
- #define VER_STR "@PROJECT_VERSION@.0 (MSVC release)"
- #define DBG ""
- FILEFLAGS 0x0L
-#endif
-BEGIN
-BLOCK "StringFileInfo"
-BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "CompanyName", "https://nghttp2.org/"
- VALUE "FileDescription", "nghttp2; HTTP/2 C library"
- VALUE "FileVersion", VER_STR
- VALUE "InternalName", "nghttp2" DBG
- VALUE "LegalCopyright", "The MIT License"
- VALUE "LegalTrademarks", ""
- VALUE "OriginalFilename", "nghttp2" DBG ".dll"
- VALUE "ProductName", "NGHTTP2."
- VALUE "ProductVersion", VER_STR
- END
-END
-BLOCK "VarFileInfo"
-BEGIN
-VALUE "Translation", 0x409, 1200
-END
-END
+#include <winver.h>
+
+VS_VERSION_INFO VERSIONINFO
+
+FILEVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0
+PRODUCTVERSION @PROJECT_VERSION_MAJOR@, @PROJECT_VERSION_MINOR@, @PROJECT_VERSION_PATCH@, 0
+FILEFLAGSMASK 0x3fL
+FILEOS 0x40004L
+FILETYPE 0x2L
+FILESUBTYPE 0x0L
+#ifdef _DEBUG
+ #define VER_STR "@PROJECT_VERSION@.0 (MSVC debug)"
+ #define DBG "d"
+ FILEFLAGS 0x1L
+#else
+ #define VER_STR "@PROJECT_VERSION@.0 (MSVC release)"
+ #define DBG ""
+ FILEFLAGS 0x0L
+#endif
+BEGIN
+BLOCK "StringFileInfo"
+BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "CompanyName", "https://nghttp2.org/"
+ VALUE "FileDescription", "nghttp2; HTTP/2 C library"
+ VALUE "FileVersion", VER_STR
+ VALUE "InternalName", "nghttp2" DBG
+ VALUE "LegalCopyright", "The MIT License"
+ VALUE "LegalTrademarks", ""
+ VALUE "OriginalFilename", "nghttp2" DBG ".dll"
+ VALUE "ProductName", "NGHTTP2."
+ VALUE "ProductVersion", VER_STR
+ END
+END
+BLOCK "VarFileInfo"
+BEGIN
+VALUE "Translation", 0x409, 1200
+END
+END