nghttp2/src
Tatsuhiro Tsujikawa 58d3b5b4a0 nghttpx: Fix occasional HTTP/2 backend connection failure with proxy
Previously if HTTP/1 proxy is used for backend connection, we read all
incoming bytes from proxy including response body, which may be part
of HTTP/2 protocol.  While investigating this issue, we found that
http_parser_execute() returns 1-less length when we call
http_parser_pause() inside on_headers_complete callback.  To
workaround this, we increment the return value by 1.  This commit also
fixes possible segmentation fault error, which could be caused by the
lack of stopping libev watcher in disconnect().
2015-02-15 01:09:10 +09:00
..
includes Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
.gitignore Update src/.gitignore 2014-03-04 01:16:42 +09:00
HtmlParser.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
HtmlParser.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
HttpServer.cc src: Store token in Header object to avoid additional lookups 2015-02-08 16:10:01 +09:00
HttpServer.h src: Remove ringbuf.h, use buffer.h instead 2015-02-06 23:40:34 +09:00
Makefile.am src: Remove ringbuf.h, use buffer.h instead 2015-02-06 23:40:34 +09:00
app_helper.cc src: Print stream ID in priority field as dep_stream_id 2014-12-13 01:20:58 +09:00
app_helper.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
asio_connection.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
asio_http2_handler.cc src: Rewrite defer function template 2015-02-06 23:27:15 +09:00
asio_http2_handler.h src: Use std::copy_n 2015-02-06 21:35:03 +09:00
asio_http2_impl.cc src: Rewrite defer function template 2015-02-06 23:27:15 +09:00
asio_http2_impl.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
asio_io_service_pool.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
asio_io_service_pool.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
asio_server.cc asio: Listen to all resolved addresses 2014-11-30 22:39:16 +09:00
asio_server.h asio: Listen to all resolved addresses 2014-11-30 22:39:16 +09:00
base64.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
buffer.h src: Use std::copy_n 2015-02-06 21:35:03 +09:00
buffer_test.cc src: Remove ringbuf.h, use buffer.h instead 2015-02-06 23:40:34 +09:00
buffer_test.h nghttpx: Replace RingBuf with sequential Buffer 2015-01-29 22:57:56 +09:00
comp_helper.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
comp_helper.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
deflatehd.cc deflatehd: Fix crash 2014-12-19 23:23:42 +09:00
h2load.cc nghttp, h2load: Fix regression introduced in 795a22a 2015-02-11 21:42:11 +09:00
h2load.h src: Remove ringbuf.h, use buffer.h instead 2015-02-06 23:40:34 +09:00
h2load_http2_session.cc src: Fix error reported by coverity scan 2015-02-11 23:20:13 +09:00
h2load_http2_session.h h2load: Add request stats (time for request min, max, mean and sd) 2015-01-31 23:49:30 +09:00
h2load_session.h h2load: Add request stats (time for request min, max, mean and sd) 2015-01-31 23:49:30 +09:00
h2load_spdy_session.cc src: Move array_size to nghttp2 namespace 2015-02-06 22:44:09 +09:00
h2load_spdy_session.h h2load: Add request stats (time for request min, max, mean and sd) 2015-01-31 23:49:30 +09:00
http-parser.patch Add patch for http-parser to handle tunneling connection transparently 2012-12-20 01:05:51 +09:00
http2.cc src: Use case-insensitive match when parsing Link header field 2015-02-10 23:29:45 +09:00
http2.h nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
http2_test.cc src: Use case-insensitive match when parsing Link header field 2015-02-10 23:29:45 +09:00
http2_test.h nghttpx: Support server push using Link header field 2015-02-08 16:10:00 +09:00
inflatehd.cc Support custom memory allocator 2014-12-08 00:55:55 +09:00
libevent_util.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
libevent_util.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
libnghttp2_asio.pc.in Add C++ library libnghttp2_asio on top of libnghttp2 2014-09-24 00:45:40 +09:00
memchunk.h src: Use std::copy_n 2015-02-06 21:35:03 +09:00
memchunk_test.cc src: Move array_size to nghttp2 namespace 2015-02-06 22:44:09 +09:00
memchunk_test.h src: Add test for memchunk.h 2015-01-10 23:01:03 +09:00
nghttp.cc src: Fix error reported by coverity scan 2015-02-11 23:20:13 +09:00
nghttp.h src: Store token in Header object to avoid additional lookups 2015-02-08 16:10:01 +09:00
nghttp2_config.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_gzip.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_gzip.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_gzip_test.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_gzip_test.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttpd.cc nghttpd: Handle return value from server.run() 2015-02-12 23:18:25 +09:00
shrpx-unittest.cc src: Clean up string utlity functions 2015-02-10 23:16:34 +09:00
shrpx.cc nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx.h Compile with android NDK 2015-01-11 00:28:00 +09:00
shrpx_accept_handler.cc nghttpx: Remove --accept-delay and --num-accept options 2015-01-29 20:58:47 +09:00
shrpx_accept_handler.h nghttpx: Rename ListenHandler as ConnectionHandler 2015-01-08 21:48:39 +09:00
shrpx_client_handler.cc nghttpx: Cancel backend request when frontend HTTP/1 connection is lost 2015-02-13 22:41:50 +09:00
shrpx_client_handler.h nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_config.cc nghttpx: Add --no-server-push option 2015-02-08 16:19:12 +09:00
shrpx_config.h nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_config_test.cc nghttpx: Add --tls-ticket-key-file option 2015-01-08 01:26:30 +09:00
shrpx_config_test.h nghttpx: Add --tls-ticket-key-file option 2015-01-08 01:26:30 +09:00
shrpx_connect_blocker.cc nghttpx: Don't call ev_TYPE_set macro while watcher is active 2015-01-21 21:43:49 +09:00
shrpx_connect_blocker.h src: Use libev for rest of the applications 2015-01-03 00:19:41 +09:00
shrpx_connection.cc src: Use same convention for len parameter in TLS I/O with cleartext I/O 2015-02-11 23:22:53 +09:00
shrpx_connection.h src: Use same convention for len parameter in TLS I/O with cleartext I/O 2015-02-11 23:22:53 +09:00
shrpx_connection_handler.cc nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_connection_handler.h nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_downstream.cc nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_downstream.h nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_downstream_connection.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
shrpx_downstream_connection.h nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_downstream_connection_pool.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
shrpx_downstream_connection_pool.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
shrpx_downstream_queue.cc Compile with g++-4.7 2015-01-17 15:32:49 +09:00
shrpx_downstream_queue.h nghttpx: Add --backend-http1-connections-per-frontend option 2015-01-03 00:19:41 +09:00
shrpx_downstream_test.cc nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_downstream_test.h nghttpd, nghttpx: Rework incoming header handling 2015-01-05 01:46:41 +09:00
shrpx_error.h Share I/O code with all upstreams/downstream objects 2015-02-05 03:05:34 +09:00
shrpx_http.cc nghttpx: Make error page modern 2015-01-22 23:51:22 +09:00
shrpx_http.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
shrpx_http2_downstream_connection.cc nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_http2_downstream_connection.h nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_http2_session.cc nghttpx: Fix occasional HTTP/2 backend connection failure with proxy 2015-02-15 01:09:10 +09:00
shrpx_http2_session.h Share I/O code with all upstreams/downstream objects 2015-02-05 03:05:34 +09:00
shrpx_http2_upstream.cc nghttpx: Cancel backend request when frontend HTTP/1 connection is lost 2015-02-13 22:41:50 +09:00
shrpx_http2_upstream.h nghttpx: Support server push using Link header field 2015-02-08 16:10:00 +09:00
shrpx_http_downstream_connection.cc nghttpx: Cancel backend request when frontend HTTP/1 connection is lost 2015-02-13 22:41:50 +09:00
shrpx_http_downstream_connection.h nghttpx: Fix location rewrite, take 2 2015-02-08 21:26:47 +09:00
shrpx_https_upstream.cc nghttpx: Cancel backend request when frontend HTTP/1 connection is lost 2015-02-13 22:41:50 +09:00
shrpx_https_upstream.h nghttpx: Return 503 on hard disconnect in HTTP/2 backend 2015-01-21 23:30:48 +09:00
shrpx_io_control.cc nghttpx: Remove unused IOControl::set_lim 2015-01-03 00:19:41 +09:00
shrpx_io_control.h nghttpx: Remove unused IOControl::set_lim 2015-01-03 00:19:41 +09:00
shrpx_log.cc src: Move array_size to nghttp2 namespace 2015-02-06 22:44:09 +09:00
shrpx_log.h nghttpx: Avoid std::chrono::high_resolution_clock as wall clock 2015-01-06 23:10:11 +09:00
shrpx_rate_limit.cc nghttpx: RateLimit: Use ev_timer_again for clarity 2015-01-11 00:32:08 +09:00
shrpx_rate_limit.h src: Use libev for rest of the applications 2015-01-03 00:19:41 +09:00
shrpx_spdy_upstream.cc nghttpx: Cancel backend request when frontend HTTP/1 connection is lost 2015-02-13 22:41:50 +09:00
shrpx_spdy_upstream.h nghttpx: Return 503 on hard disconnect in HTTP/2 backend 2015-01-21 23:30:48 +09:00
shrpx_ssl.cc nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_ssl.h nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_ssl_test.cc src: Move array_size to nghttp2 namespace 2015-02-06 22:44:09 +09:00
shrpx_ssl_test.h src: Use C++ style comments for C++ source code 2014-05-14 23:22:23 +09:00
shrpx_upstream.h nghttpx: Return 503 on hard disconnect in HTTP/2 backend 2015-01-21 23:30:48 +09:00
shrpx_worker.cc nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_worker.h nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_worker_config.cc nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
shrpx_worker_config.h nghttpx: Refactor worker interface 2015-02-11 22:49:03 +09:00
ssl.cc Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
ssl.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
template.h src: Remove ringbuf.h, use buffer.h instead 2015-02-06 23:40:34 +09:00
timegm.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
timegm.h Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
util.cc src: Fix crash 2015-02-11 01:05:22 +09:00
util.h src: Clean up string utlity functions 2015-02-10 23:16:34 +09:00
util_test.cc src: Clean up string utlity functions 2015-02-10 23:16:34 +09:00
util_test.h src: Clean up string utlity functions 2015-02-10 23:16:34 +09:00