Commit Graph

6460 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa 6ce4835eea Fix the bug that stream is closed with wrong error code
This commit fixes the bug that stream is closed with wrong error code
(0).  This happens when STREAM or DATA frame with END_STREAM flag set
is received and it violates HTTP messaging rule (i.e., content-length
does not match) and the other side of stream has been closed.  In this
case, nghttp2_on_stream_close_callback should be called with nonzero
error code, but previously it is called with 0 (NO_ERROR).
2019-10-29 21:04:52 +09:00
Richard Wolfert 29042f1c95 priority_spec::valid(): remove const qualifier from return value
gcc generates warning:
* type qualifiers ignored on function return type [-Wignored-qualifiers]
2019-10-29 11:28:26 +01:00
Tatsuhiro Tsujikawa d08c43951f
Merge pull request #1405 from nghttp2/huffman
Faster Huffman encoding/decoding
2019-10-12 18:48:21 +09:00
Tatsuhiro Tsujikawa 5d6964cf81 Faster huffman decoding 2019-10-12 14:30:31 +09:00
Tatsuhiro Tsujikawa 0d855bfc1b Faster huffman encoding 2019-10-12 14:30:31 +09:00
Tatsuhiro Tsujikawa 6f967c6ef3 Fix errors reported by coverity scan 2019-09-21 13:45:20 +09:00
Tatsuhiro Tsujikawa b8a43db84c
Merge pull request #1394 from wrowe/fix-static-libname
Avoid filename collision of static and dynamic lib
2019-09-21 10:45:45 +09:00
Tatsuhiro Tsujikawa 70b62c1a32
Merge pull request #1393 from wrowe/fix-static-msvcrt
Add new flag ENABLE_STATIC_CRT for Windows
2019-09-21 10:45:11 +09:00
William A Rowe Jr 28b1f0b90f Avoid filename collision of static and dynamic lib
Renames the output of the ENABLE_STATIC_LIB library/archive output
to nghttp2_static.lib/.a to avoid filenames colliding with the output
name for ENABLE_SHARED_LIB library/archive, when both are enabled.

Signed-off-by: William A Rowe Jr <wrowe@pivotal.io>
Signed-off-by: Yechiel Kalmenson <ykalmenson@pivotal.io>
2019-09-16 08:48:35 -07:00
Tatsuhiro Tsujikawa 1dd966f189 Merge branch 'fix-nghttpx-mruby' 2019-09-17 00:42:04 +09:00
Tatsuhiro Tsujikawa fe8946ddc7 nghttpx: Fix bug that mruby is incorrectly shared between backends
Previously, mruby context is wrongly shared by multiple patterns if
the underlying SharedDownstreamAddr is shared by multiple
DownstreamAddrGroups.  This commit fixes it.
2019-09-16 22:25:06 +09:00
William A Rowe Jr 72b71a6ba3 Add new flag ENABLE_STATIC_CRT for Windows
This change adds the CMake option;

  ENABLE_STATIC_CRT  Build libnghttp2 against the MS LIBCMT[d]

This avoids linking to msvcrt.lib for binaries to compile (/MT[d])
and link against the static C Runtime libcrt.lib, and
avoiding the msvcrt[d].dll dependency.

Signed-off-by: William A Rowe Jr <wrowe@pivotal.io>
Signed-off-by: Yechiel Kalmenson <ykalmenson@pivotal.io>
2019-09-14 16:23:16 -07:00
Tatsuhiro Tsujikawa f8933fe504 nghttpx: Reconnect h1 backend if it lost connection before sending headers
This is the second attempt.  The first attempt was
8a59ce6d37 and it failed.
2019-09-07 18:20:24 +09:00
Tatsuhiro Tsujikawa 89c33d690f Update neverbleed 2019-09-07 00:19:59 +09:00
Tatsuhiro Tsujikawa 7079dc5e75 Update neverbleed to fix memory leak 2019-09-06 23:58:22 +09:00
Tatsuhiro Tsujikawa 5080db84e2 Revert "nghttpx: Reconnect h1 backend if it lost connection before sending headers"
This reverts commit 8a59ce6d37.
2019-09-06 22:01:03 +09:00
Tatsuhiro Tsujikawa 053c7ac588 nghttpx: Returns 408 if backend timed out before sending headers 2019-09-03 00:29:01 +09:00
Tatsuhiro Tsujikawa 8a59ce6d37 nghttpx: Reconnect h1 backend if it lost connection before sending headers 2019-09-03 00:28:21 +09:00
Tatsuhiro Tsujikawa f2fde180cd Remove redundant null check before delete
Reported in https://github.com/nghttp2/nghttp2/issues/1384
2019-08-19 22:27:32 +09:00
Tatsuhiro Tsujikawa 95efb3e19d Don't read too greedily 2019-08-14 11:44:28 +09:00
Tatsuhiro Tsujikawa 0a6ce87c22 Add nghttp2_option_set_max_outbound_ack 2019-08-14 11:43:55 +09:00
Tatsuhiro Tsujikawa 2aa79fa91d Bump up LT revision to 32:0:18 2019-08-14 08:46:43 +09:00
Tatsuhiro Tsujikawa 3980678d24 Merge branch 'nghttpx-fix-request-stall' 2019-08-06 21:28:45 +09:00
Tatsuhiro Tsujikawa 319d5ab1c6 nghttpx: Fix request stall
Fix request stall if backend connection is reused and buffer is full.
2019-08-06 20:50:29 +09:00
Tatsuhiro Tsujikawa 448bbbc38c integration-tests: gofmt 2019-08-06 20:44:15 +09:00
Tatsuhiro Tsujikawa e575a2aad9
Merge pull request #1377 from Aldrog/cmake_systemd
Support building nghttpx with systemd using cmake
2019-08-01 09:27:54 +09:00
Andrew Penkrat 4f7aedc9d2 cmake: Support building nghttpx with systemd 2019-07-29 13:55:05 +03:00
Tatsuhiro Tsujikawa 7a5908933e Fix clang-8 warning 2019-06-22 17:44:16 +09:00
Tatsuhiro Tsujikawa ee44313445 Fix FPE with default backend 2019-06-11 23:15:01 +09:00
Tatsuhiro Tsujikawa abef9b90ef Fix log-level is not set with cmd-line or configuration file 2019-06-11 23:13:43 +09:00
Tatsuhiro Tsujikawa 12a999f0b8 Bump up version number to 1.40.0-DEV 2019-06-11 22:10:05 +09:00
Tatsuhiro Tsujikawa acfb360770 Update manual pages 2019-06-11 21:22:20 +09:00
Tatsuhiro Tsujikawa bdfd14c2b7 Bump up version number to 1.39.0, LT revision to 31:4:17 2019-06-11 21:19:05 +09:00
Tatsuhiro Tsujikawa cddc09feaa Update AUTHORS 2019-06-11 21:16:17 +09:00
Tatsuhiro Tsujikawa 3c3b6ae8ca Add missing colon 2019-06-10 19:18:10 +09:00
Tatsuhiro Tsujikawa 2f83aa9e1b Fix multi-line text travis issue 2019-06-10 18:58:47 +09:00
Tatsuhiro Tsujikawa fc591d0cd6 Run nghttpx integration test with cmake build
Run nghttpx integration test with cmake build.  Autotools build erases
artifacts for packaging tests, so we cannot run nghttpx integration
test with autotools build at the moment.

Relay on go modules to download dependencies.
2019-06-08 00:34:27 +09:00
Tatsuhiro Tsujikawa 9a17c3efc6 travis: use multi-line text 2019-06-08 00:23:17 +09:00
Tatsuhiro Tsujikawa b7220f075c cmake: Remove SPDY related files 2019-06-08 00:23:17 +09:00
Tatsuhiro Tsujikawa a1556fd11f
Merge pull request #1356 from nghttp2/fix-log-level-on-reload
nghttpx: Fix unchanged log level on configuration reload
2019-06-07 23:36:49 +09:00
Tatsuhiro Tsujikawa 77f1c872b1 nghttpx: Fix unchanged log level on configuration reload
Previously, if log-level is not mentioned in configuration file and
reload happens, the log level was not set to the default value NOTICE.
Instead, the log level stayed the same.  This commit fixes this bug.
2019-06-05 21:17:23 +09:00
Tatsuhiro Tsujikawa 49ce44e1f5
Merge pull request #1352 from nghttp2/travis-osx
Travis osx
2019-05-30 23:58:35 +09:00
Tatsuhiro Tsujikawa f54b3ffc0e Fix libxml2 CFLAGS output 2019-05-30 23:22:44 +09:00
Tatsuhiro Tsujikawa b0f5e5cc79 Implement daemon() using fork() for OSX 2019-05-30 23:22:44 +09:00
Tatsuhiro Tsujikawa 8d6ecd66cc Enable osx build on travis 2019-05-29 00:28:39 +09:00
Tatsuhiro Tsujikawa f82fb52187 Update doc 2019-05-18 10:31:47 +09:00
Tatsuhiro Tsujikawa 2e1975ddf6 clang-format-8 2019-05-18 10:28:35 +09:00
Tatsuhiro Tsujikawa 97ce392bcc
Merge pull request #1347 from nghttp2/nghttpx-ignore-cl-te-on-upgrade
Ignore Content-Length and Transfer-Encoding in 200 response to CONNECT request
2019-05-17 23:34:34 +09:00
Tatsuhiro Tsujikawa afefbda518 Ignore content-length in 200 response to CONNECT request 2019-05-17 23:00:32 +09:00
Tatsuhiro Tsujikawa 4fca2502d8 nghttpx: Ignore Content-Length and Transfer-Encoding in 1xx or 200 to CONNECT
A well known server sends content-length: 0 in 101 response.  RFC 7230
says Content-Length or Transfer-Encoding in 200 response to CONNECT
request: https://tools.ietf.org/html/rfc7230#section-3.3.3
2019-05-17 22:58:26 +09:00