Tatsuhiro Tsujikawa
7f9de007d0
nghttpx: Fix crash in http/1 backend when backend returns more bytes than CL
...
This is typically programming mistake that we did not check return
value before doing another.
2015-02-21 21:17:52 +09:00
Tatsuhiro Tsujikawa
c506386997
Add libxml2.m4 for convenience to build nghttp2 from git repo easily
2015-02-21 21:06:19 +09:00
Tatsuhiro Tsujikawa
3144f7de72
asio-sv2: Fix compile error with OS X
...
Use struct stat.st_mtime instead of st_mtim which seems to be Linux
specific.
2015-02-21 21:02:40 +09:00
Tatsuhiro Tsujikawa
c84a190ac7
nghttpx: Use return 0 instead of break for readability
2015-02-21 17:08:03 +09:00
Tatsuhiro Tsujikawa
a26a597453
nghttpx: Cast configuration value to rlim_t to avoid compile error on 32bit
2015-02-21 16:57:02 +09:00
Tatsuhiro Tsujikawa
20a689ef44
Update doc
2015-02-21 16:53:41 +09:00
Tatsuhiro Tsujikawa
62928ddbcd
python: Remove validation offered by nghttp2 lib
2015-02-21 00:20:30 +09:00
Tatsuhiro Tsujikawa
04ef26473a
asio-lib: Increase output buffer size
2015-02-21 00:08:10 +09:00
Tatsuhiro Tsujikawa
7897f5b94b
asio-lib: Remove validation offered by nghttp2 lib
2015-02-21 00:06:05 +09:00
Tatsuhiro Tsujikawa
9302e3edf4
src: Use util::streq_l to compare against string literal
2015-02-20 23:57:40 +09:00
Tatsuhiro Tsujikawa
ab93a700ce
src: Announce h2 ALPN
2015-02-20 23:50:17 +09:00
Tatsuhiro Tsujikawa
2fc1dd77d2
Update doc
2015-02-20 23:30:57 +09:00
Tatsuhiro Tsujikawa
e45c523dc7
Add nghttp2_option_set_no_http_messaging() API function
...
This API function with nonzero |val| parameter disables HTTP Messaging
validation in nghttp2 library, so that application can use nghttp2
library for non-HTTP use.
2015-02-20 23:26:56 +09:00
Tatsuhiro Tsujikawa
b3846d6c27
Rename NGHTTP2_OPTMASK_NO_HTTP_SEMANTICS with NGHTTP2_OPTMASK_NO_HTTP_MESSAGING
2015-02-20 23:07:48 +09:00
Tatsuhiro Tsujikawa
dec115cff3
Document HTTP Messaging enforcement performed by nghttp2 library
2015-02-20 23:06:14 +09:00
Tatsuhiro Tsujikawa
fe84ec5e8b
tiny-nghttpd: Add token lookup for slight optimization
2015-02-20 21:50:02 +09:00
Tatsuhiro Tsujikawa
b39aa43537
Use C-style comment
2015-02-20 21:49:47 +09:00
Tatsuhiro Tsujikawa
2216fd2bc1
tiny-nghttpd: Remove validations offered by lib
2015-02-20 20:58:11 +09:00
Tatsuhiro Tsujikawa
83d9ee1fd1
Update http-parser
2015-02-20 19:51:41 +09:00
Tatsuhiro Tsujikawa
4424cf5b65
nghttpx: Fix 1 second delay in HTTP/2 backend connection
2015-02-20 19:48:35 +09:00
Tatsuhiro Tsujikawa
00a83a44b4
nghttp: Simplify checking
2015-02-20 19:35:54 +09:00
Tatsuhiro Tsujikawa
83952ef0af
Insert '_' before header name nghttp2_http_flag to consistent with token
2015-02-20 19:30:34 +09:00
Tatsuhiro Tsujikawa
3dbd2d31bd
Early return after :method is seen
2015-02-20 19:26:34 +09:00
Tatsuhiro Tsujikawa
f755ea3894
nghttpx: Simplify HttpsUpstream::on_read
2015-02-20 19:24:48 +09:00
Tatsuhiro Tsujikawa
50c4aa061f
nghttpx: Response with 503 when re-submission to backend failed
2015-02-20 19:23:52 +09:00
Tatsuhiro Tsujikawa
6657966334
nghttpx: HttpsUpdatem: Don't send error_page if response state is MSG_COMPLETE
2015-02-20 01:25:18 +09:00
Tatsuhiro Tsujikawa
512aa8942a
nghttp: Fix -H does not work with -u upgrade request
2015-02-20 01:16:49 +09:00
Tatsuhiro Tsujikawa
b371331297
Merge branch 'enforce-http-semantics'
2015-02-20 01:02:06 +09:00
Tatsuhiro Tsujikawa
489b4f307c
nghttp, nghttpd, nghttpx: Remove validations libnghttp2 offers
2015-02-20 01:01:10 +09:00
Tatsuhiro Tsujikawa
b157d4ebb2
Validate HTTP semantics by default
...
Previously we did not check HTTP semantics and it is left out for
application. Although checking is relatively easy, but they are
scattered and error prone. We have implemented these checks in our
applications and also feel they are tedious. To make application
development a bit easier, this commit adds basic HTTP semantics
validation to library code. We do following checks:
server:
* HEADERS is either request header or trailer header. Other type of
header is disallowed.
client:
* HEADERS is either zero or more non-final response header or final
response header or trailer header. Other type of header is
disallowed.
For both:
* Check mandatory pseudo header fields.
* Make sure that content-length matches the amount of DATA we
received.
If validation fails, RST_STREAM of type PROTOCOL_ERROR is issued.
2015-02-20 01:01:10 +09:00
Tatsuhiro Tsujikawa
9845729709
nghttp: Update resource timing terminology according to Resource Timing TR
2015-02-18 00:45:52 +09:00
Tatsuhiro Tsujikawa
dbfc02cba0
nghttpx: Issue RST_STREAM if END_STREAM seen without final response
2015-02-18 00:36:49 +09:00
Tatsuhiro Tsujikawa
d1a1e882bf
nghttpx: Fix request re-submission bug in HTTP/2 backend
2015-02-17 23:15:53 +09:00
Tatsuhiro Tsujikawa
799778af69
Revert "nghttpx: Fix request resubmit bug on HTTP/2 backend connection check"
...
This reverts commit d45f5a51e4
.
2015-02-17 22:28:03 +09:00
Tatsuhiro Tsujikawa
d45f5a51e4
nghttpx: Fix request resubmit bug on HTTP/2 backend connection check
2015-02-17 21:50:32 +09:00
Tatsuhiro Tsujikawa
e479abc4ab
Update README.rst
2015-02-15 16:48:37 +09:00
Tatsuhiro Tsujikawa
37706c2930
Untabify README.rst
2015-02-15 16:38:42 +09:00
Tatsuhiro Tsujikawa
bb856fe4c5
nghttp: Fix unaligned field output in --stat
2015-02-15 16:24:04 +09:00
Tatsuhiro Tsujikawa
f4c0a243e7
Bump up version number to 0.7.5-DEV
2015-02-15 13:14:07 +09:00
Tatsuhiro Tsujikawa
ba9ea1831c
Update man pages
2015-02-15 13:07:23 +09:00
Tatsuhiro Tsujikawa
c7126663df
Bump up version number to 0.7.4, LT revision to 10:0:5
2015-02-15 13:06:35 +09:00
Tatsuhiro Tsujikawa
aa1339d9c0
Update README.rst
2015-02-15 13:00:19 +09:00
Tatsuhiro Tsujikawa
f87aaf1fbf
nghttp: Show '*' to mark pushed resources in --stat output
2015-02-15 12:46:00 +09:00
Tatsuhiro Tsujikawa
685dabc2d6
nghttp: Don't request already pushed resources
2015-02-15 12:36:18 +09:00
Tatsuhiro Tsujikawa
4cafdb7670
nghttp: Show received size in --stat
2015-02-15 12:36:13 +09:00
Tatsuhiro Tsujikawa
a8889971db
doc: Make html rule html-local
2015-02-15 12:18:13 +09:00
Tatsuhiro Tsujikawa
1fbaae837c
Sort sphix theme files
2015-02-15 12:13:36 +09:00
Tatsuhiro Tsujikawa
e8c294b701
Add bash_completion files for nghttp, nghttpd, nghttpx and h2load
2015-02-15 12:05:27 +09:00
Tatsuhiro Tsujikawa
9c30211da9
Ignore all incoming bytes when first SETTINGS is not received
2015-02-15 01:20:10 +09:00
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