Tatsuhiro Tsujikawa
e99f3c58f7
nghttpx: Call downstream_failure where it should be
...
Also, we say connection succeeded only when we got SETTINGS ACK from
peer, rather than when we just connected to the peer in TCP or TLS.
2016-05-21 10:30:09 +09:00
Tatsuhiro Tsujikawa
2a3b6c11eb
nghttpx: Don't restart SETTINGS timer, and fix log message in HTTP/2 frontend
2016-05-21 10:29:11 +09:00
Tatsuhiro Tsujikawa
e26d6a2b27
nghttpx: Don't re-enter offline if it is already in offline mode
2016-05-21 10:28:16 +09:00
Tatsuhiro Tsujikawa
dce7288658
nghttpx: Wait for SETTINGS ACK to make sure that backend h2 server is alive
2016-05-21 00:30:54 +09:00
Tatsuhiro Tsujikawa
d1968c4465
nghttpx: Treat backend failure if SETTINGS is not received within timeout
2016-05-19 23:12:34 +09:00
Tatsuhiro Tsujikawa
629f1e6f0f
nghttpx: Add connection: close to mruby response in graceful shutdown period
2016-05-18 01:21:23 +09:00
Tatsuhiro Tsujikawa
7a3c656adf
nghttpx: Refactor
2016-05-15 21:05:20 +09:00
Tatsuhiro Tsujikawa
796160cb77
nghttpx: Don't add chunked encoded response body for HEAD request
2016-05-14 17:47:58 +09:00
Tatsuhiro Tsujikawa
5c82a36072
nghttpd: Set content-length in status response
2016-05-14 17:29:50 +09:00
Tatsuhiro Tsujikawa
b011012d8f
nghttpx: Use NGHTTP2_DATA_FLAG_NO_COPY for backend HTTP/2 session
2016-05-14 17:17:27 +09:00
Tatsuhiro Tsujikawa
8026bdd45a
nghttpx: Don't keep backend connection if request buffer is not empty
2016-05-14 17:16:50 +09:00
Tatsuhiro Tsujikawa
de3f2951b3
h2load: Robust error handling in POST data
2016-05-14 00:40:35 +09:00
Tatsuhiro Tsujikawa
d00788ceeb
nghttp: More robust error handling while reading file
2016-05-14 00:23:44 +09:00
Tatsuhiro Tsujikawa
e0df95a1d8
nghttp: Eliminate zero length DATA frame at the end if possible
2016-05-14 00:18:22 +09:00
Tatsuhiro Tsujikawa
6d22898936
src: Compile with OpenSSL 1.1.0-pre5
...
* don't use CRYPTO_LOCK stuff (they are sorted out by openssl, and no
application intervention is required, just like boringSSL)
* don't use OPENSSL_config
* use provided API to access BIO member
2016-05-07 16:18:58 +09:00
Tatsuhiro Tsujikawa
15a9dfbaea
nghttpd: Enable kqueue if it is available on the running platform
2016-05-06 23:45:56 +09:00
Tatsuhiro Tsujikawa
c6facaf662
h2load: Enable kqueue if it is available in the running platform
2016-05-06 23:40:55 +09:00
Tatsuhiro Tsujikawa
60e443b90b
h2load: Fix crash on exit on FreeBSD
2016-05-06 23:38:15 +09:00
Tatsuhiro Tsujikawa
d39335829d
nghttpx: Enable kqueue by default
...
We enabled libev kqueue backend in nghttpx by default. Since it might
not work on some platforms, we also added --no-kqueue option to
disable it.
2016-05-06 23:10:09 +09:00
Tatsuhiro Tsujikawa
752b5b3d44
nghttpx: Just call execv instead of execve
2016-05-05 23:08:42 +09:00
Tatsuhiro Tsujikawa
70e8dc3761
ngttpx: Pass environ to execve
2016-05-02 23:39:14 +09:00
Tatsuhiro Tsujikawa
3712c89a66
nghttpx: Use parameter instead of keyword for consistency
2016-04-29 22:47:49 +09:00
Tatsuhiro Tsujikawa
fd801864e3
nghttpx: Add sni keyword to --backend option
...
The --backend-tls-sni-field is deprecated in favor of sni keyword.
--backend-tls-sni-field still works, and it overrides all sni keyword
in --backend option. But it will be removed in the future release.
2016-04-29 14:42:18 +09:00
Tatsuhiro Tsujikawa
99f7e7e2a5
nghttpx: Add mruby env.server_addr and env.tls_used attributes
2016-04-29 12:17:25 +09:00
Tatsuhiro Tsujikawa
6c999e6fb5
nghttpx: Enable TLS session cache again in memcached connection
2016-04-28 22:57:34 +09:00
Tatsuhiro Tsujikawa
4aa4fe56e1
nghttpx: Destroy SSL object, and always lookup TLS session cache
2016-04-28 22:25:55 +09:00
Tatsuhiro Tsujikawa
09b97a3313
nghttpx: Add mruby env.server_port to return frontend server side port
2016-04-28 00:19:30 +09:00
Tatsuhiro Tsujikawa
d2f4e4e325
nghttpx: Always expect response trailer fields
2016-04-27 23:00:36 +09:00
Tatsuhiro Tsujikawa
2d2b72d4eb
nghttpx: Don't add 0-length DATA when response HEADERS bears END_STREAM flag
2016-04-27 21:19:28 +09:00
Tatsuhiro Tsujikawa
b39ad3135d
nghttpx: Don't use CN if we have dNSName or iPAddress field
2016-04-26 22:32:55 +09:00
Tatsuhiro Tsujikawa
f939000ad9
Update man pages
2016-04-25 21:58:37 +09:00
Brian Suh
5487b64fa6
nghttpx: Fix downstream connect callback called early
2016-04-24 20:49:38 -07:00
Tatsuhiro Tsujikawa
3d00dd6537
nghttpx: Fix erroneous division by sizeof(...)
2016-04-24 17:42:24 +09:00
Tatsuhiro Tsujikawa
b0e98718f5
src: Handle return value of getsockopt
2016-04-24 00:42:11 +09:00
Tatsuhiro Tsujikawa
86777defa8
nghttpx: Workaround for some older gcc4.9
2016-04-23 18:20:50 +09:00
Tatsuhiro Tsujikawa
68059ccda9
nghttp: Use nghttp2_session_mem_recv
2016-04-21 23:30:35 +09:00
Tatsuhiro Tsujikawa
bc2b941866
nghttpx: Wildcard match for CN
2016-04-21 22:53:07 +09:00
Tatsuhiro Tsujikawa
9b81eec944
nghttpx: Remove trailing "." from SAN DNS name and CN
2016-04-21 22:44:26 +09:00
Tatsuhiro Tsujikawa
00bf701600
nghttpx: Truncate too long -b option signature
2016-04-18 23:45:33 +09:00
Tatsuhiro Tsujikawa
5339c1774c
nghttpx: Log when backend group is shared
2016-04-16 22:04:35 +09:00
Tatsuhiro Tsujikawa
6f52da834b
nghttpx: Fix bug that server push from mruby script did not work
2016-04-16 18:52:14 +09:00
Tatsuhiro Tsujikawa
81f81e6b70
nghttpx: Error handling without assert
2016-04-13 19:22:32 +09:00
Tatsuhiro Tsujikawa
a16daf109b
nghttpx: Try next HTTP/1 backend address when connection cannot be made
2016-04-13 00:38:21 +09:00
Tatsuhiro Tsujikawa
b6708a4b87
nghttpx: Retry next HTTP/2 backend address when connection cannot be made
2016-04-13 00:38:08 +09:00
Tatsuhiro Tsujikawa
a14cea6363
nghttpx: Enable link header field based push for non-final response
2016-04-10 18:58:54 +09:00
Tatsuhiro Tsujikawa
9e64d10223
nghttpx: Move fall/rise configuration to --backend option
...
This commit removes --backend-fall and --backend-rise options. The
these configurations are now set as fall and rise parameters in
--backend option.
2016-04-09 21:58:08 +09:00
Tatsuhiro Tsujikawa
795ee8c20f
altsvc: Receive ALTSVC frame
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
9b4089c244
src: Log ALTSVC
2016-04-08 23:25:56 +09:00
Tatsuhiro Tsujikawa
4a6fc6cede
src: Add missing source file to CMakeLists.txt
2016-04-08 23:19:54 +09:00
Tatsuhiro Tsujikawa
a803be9171
nghttpx: Check negotiated ALPN in LiveCheck
2016-04-08 23:07:17 +09:00
Tatsuhiro Tsujikawa
ece3654139
nghttpx: Remove unused function declaration
2016-04-08 23:07:17 +09:00
Tatsuhiro Tsujikawa
bf5392dafe
nghttpx: Use exponential backoff between failed connection attempts in LiveCheck
2016-04-08 23:07:17 +09:00
Tatsuhiro Tsujikawa
7bc35044c7
nghttpx: Add --backend-fall and --backend-rise options
...
These options are analogous to fall and rise parameter found in
haproxy.
2016-04-08 23:07:17 +09:00
Tatsuhiro Tsujikawa
f9b872ab78
nghttpx: Detect online/offline state of backend servers
2016-04-08 23:07:17 +09:00
Tatsuhiro Tsujikawa
ffddefc177
nghttpx: Refactor handling of negotiated ALPN
2016-04-08 23:06:37 +09:00
Tatsuhiro Tsujikawa
2a59c832c1
nghttpx: Set 0 to next_proto_len explicitly for clarification
2016-04-08 23:03:42 +09:00
Tatsuhiro Tsujikawa
ea5f424dec
nghttpx: Use gRPC's exponential backoff algorithm
2016-04-05 22:31:27 +09:00
Tatsuhiro Tsujikawa
46514074a4
nghttpx: Better load balancing between backend HTTP/2 servers
2016-04-03 15:09:01 +09:00
Tatsuhiro Tsujikawa
b1662a31f4
nghttpx: Fix crash with backend failure
2016-04-03 00:23:44 +09:00
Tatsuhiro Tsujikawa
344541dd89
nghttpx: Better distribute load to backend h2 servers
2016-04-02 00:02:48 +09:00
Tatsuhiro Tsujikawa
c17b3b8517
clang-format
2016-03-31 20:06:14 +09:00
Tatsuhiro Tsujikawa
2b22ec42c7
Merge branch 'dev/expect-continue' of https://github.com/jchampio/nghttp2 into jchampio-dev/expect-continue
2016-03-31 20:00:27 +09:00
Jacob Champion
dfdeeb3815
nghttp: only stop ContinueTimers if they exist
...
Fix a crash on disconnect if --expect-continue isn't actually in use.
2016-03-29 16:02:10 -07:00
Jacob Champion
4bed7854b5
nghttp: move ownership of ContinueTimer to Request
...
Each Request now owns its own (optional) ContinueTimer for
Expect/Continue handshakes. This removes the need for
shared_ptr/weak_ptr logic.
2016-03-29 13:11:27 -07:00
Jacob Champion
aa64e7ad3c
nghttp: stop ContinueTimers on response or reset
...
If the stream itself is reset, or the server sends a final response
immediately, any Expect/Continue handshake should be cancelled.
2016-03-29 12:41:28 -07:00
Tatsuhiro Tsujikawa
e30edb096a
clang-format
2016-03-29 22:11:42 +09:00
Tatsuhiro Tsujikawa
cdb466956d
nghttpx: One more fix for usage help
2016-03-29 22:10:30 +09:00
Jianqing Wang
199600af73
Fix error messages on deprecated mode
2016-03-29 12:09:52 +08:00
Jacob Champion
edb874e659
nghttp: move ContinueTimer start to on_frame_send
...
The ContinueTimer could expire before the full HEADERS frame was
actually sent. By moving the call to timer->start() to the
on_frame_send_callback(), this race is fixed.
2016-03-28 15:24:20 -07:00
Tatsuhiro Tsujikawa
fe0843be88
nghttpx: Fix bug that logger wrote string which was not NULL-terminated
2016-03-28 22:22:26 +09:00
Tatsuhiro Tsujikawa
ff07018720
nghttpx: Fix bug that proxy with HTTP/1.1 CONNECT did not work
...
This was a regression in 5fbe4cc225
.
2016-03-28 22:05:38 +09:00
Tatsuhiro Tsujikawa
757bcf1310
nghttpx: Fix bug that backend tls keyword did not work with -s option
2016-03-27 17:11:44 +09:00
Tatsuhiro Tsujikawa
c9aba4ea0c
nghttpx: Don't use data_prd.source.ptr
2016-03-27 16:57:43 +09:00
Tatsuhiro Tsujikawa
2cee80acf0
nghttpx: Fix handing stream after connection check was failed
2016-03-27 15:53:26 +09:00
Tatsuhiro Tsujikawa
d9a2ff278c
src: Use len instead of n for clarity
2016-03-27 15:52:24 +09:00
Tatsuhiro Tsujikawa
ad8be7d474
src: parse_link_header takes StringRef
2016-03-25 23:51:42 +09:00
Tatsuhiro Tsujikawa
07926cffca
src: Remove lookup_method_token(const std::string&)
2016-03-25 23:31:46 +09:00
Tatsuhiro Tsujikawa
00b2d7d513
src: Remove lookup_token(const std::string&)
2016-03-25 23:29:16 +09:00
Tatsuhiro Tsujikawa
f74d7ea119
src: Don't allow const char * in starts_with
2016-03-25 23:20:48 +09:00
Tatsuhiro Tsujikawa
2bca6360b6
src: Don't allow const char * in istarts_with and istarts_with_l
2016-03-25 23:18:31 +09:00
Tatsuhiro Tsujikawa
841b3c87db
src: Don't allow const char * in ends_with and ends_with_l
2016-03-25 23:04:44 +09:00
Tatsuhiro Tsujikawa
2ab79f4938
src: Don't allow const char * in iends_with and iends_with_l
2016-03-25 23:00:34 +09:00
Tatsuhiro Tsujikawa
2182a85875
src: Make strifind functin template
2016-03-25 22:56:23 +09:00
Tatsuhiro Tsujikawa
72d8d78d36
src: Don't allow const char * in 2nd argument of streq_l(S[N], T)
2016-03-25 22:53:31 +09:00
Tatsuhiro Tsujikawa
dad61d032e
src: Don't allow const char * in 2nd argument of strieq_l(S[N], T)
2016-03-25 22:51:20 +09:00
Tatsuhiro Tsujikawa
1bbb241baa
src: Make streq(T, S) function template
2016-03-25 22:48:13 +09:00
Tatsuhiro Tsujikawa
3e6c38e3be
src: Made strieq(T, S) template
2016-03-25 22:45:33 +09:00
Tatsuhiro Tsujikawa
9272e80fa6
nghttpx: Fix compile error on travis
2016-03-25 02:28:10 +09:00
Tatsuhiro Tsujikawa
44af3dab50
nghttpx: Update doc
2016-03-25 02:14:39 +09:00
Tatsuhiro Tsujikawa
22128767e6
nghttpx: Fix formatting issue on manual page
2016-03-25 02:08:25 +09:00
Tatsuhiro Tsujikawa
a46c815e4e
src: StringRef-fy
2016-03-25 01:41:06 +09:00
Tatsuhiro Tsujikawa
186d440168
nghttpx: More StringRef-fy
2016-03-25 01:19:42 +09:00
Tatsuhiro Tsujikawa
a9e365ad7d
fixup! nghttpx: More StringRef-fy
2016-03-25 01:10:48 +09:00
Tatsuhiro Tsujikawa
a104d8a80b
fixup! nghttpx: Use StringRef for SHRPX_UNIX_PATH_PREFIX
2016-03-25 01:10:25 +09:00
Tatsuhiro Tsujikawa
a5029d1eed
nghttpx: More StringRef-fy
2016-03-25 01:07:22 +09:00
Tatsuhiro Tsujikawa
848e45e333
nghttpx: Use StringRef for SHRPX_UNIX_PATH_PREFIX
2016-03-25 01:00:04 +09:00
Tatsuhiro Tsujikawa
79968c6374
src: Rewrite strifind
2016-03-25 00:27:59 +09:00
Tatsuhiro Tsujikawa
1699aef609
src: Remove strcompare
2016-03-25 00:16:25 +09:00
Tatsuhiro Tsujikawa
2d2d6c3cc0
src: Remove istarts_with(const char*) overload
2016-03-25 00:14:12 +09:00
Tatsuhiro Tsujikawa
bfccab9b9f
src: Remove starts_with(const char*, const char*) overload
2016-03-25 00:09:53 +09:00