Peter Wu
2593036053
integration-tests: support out-of-tree tests
...
`go test` requires both config.go and the test files in the same
directory. For out-of-tree builds, config.go is normally not placed next
to the source files, so copy the tests to the build directory as a
workaround.
2016-02-13 20:11:50 +01:00
Tatsuhiro Tsujikawa
5a3ca7e700
nghttpx: Disallow user defined static obfuscated string for "for" parameter
2016-01-21 21:05:07 +09:00
Tatsuhiro Tsujikawa
acb38b726f
nghttpx: Don't quote Forwarded params if it is not required
2016-01-19 22:43:56 +09:00
Tatsuhiro Tsujikawa
b202e066fd
nghttpx: Don't allow certain characters in host and :scheme header field
...
For HTTP/2, we do this validation in libnghttp2. http-parser does
this partially, when it parses URI, but it does not do anything for
Host header field. libspdylay does not perform anything. So do some
additional validation for HTTP/1 and SPDY cases. integration tests
were also added to make sure they work.
2016-01-16 16:00:05 +09:00
Tatsuhiro Tsujikawa
198e253e9d
integration: Add X-Forwarded-For tests with HTTP/2 backend
2016-01-16 12:25:12 +09:00
Tatsuhiro Tsujikawa
f26e213dcd
integration: Additional tests for Forwarded header fields
2016-01-16 12:19:19 +09:00
Tatsuhiro Tsujikawa
9f318d1249
integration: Validate status code explicitly
...
Without this validation, test spuriously succeeds, but in fact it
doesn't. This might occur if stream is closed with RST_STREAM or
GOAWAY.
2016-01-16 12:06:41 +09:00
Tatsuhiro Tsujikawa
f72e496f96
nghttpx: Add integration tests for Forwarded header field support
2016-01-16 11:32:36 +09:00
Tatsuhiro Tsujikawa
5d002ff6ca
Fix `make dist`
2015-10-17 00:27:02 +09:00
Tatsuhiro Tsujikawa
509c515575
integration: Update go's http2 package URI
2015-10-09 00:09:45 +09:00
Tatsuhiro Tsujikawa
f1eb7638d1
nghttpx: Change mruby script handling
...
This commit changes nghttpx's mruby script handling. Previously we
have 2 options to specify the mruby script file to be run on request
and on response. Now they are merged into 1 option, namely
--mruby-file. It now must return object. On request, the object's
on_req(env) method is invoked with env object. Similarly, on
response, the object's on_resp(env) method is invoked. The
specification of Env object has not changed.
2015-10-08 23:32:15 +09:00
Tatsuhiro Tsujikawa
bb4ab7e333
integration: Robust process termination
2015-09-24 23:43:24 +09:00
Tatsuhiro Tsujikawa
25db23e3c8
integration: Workaround flaky test around signal
2015-09-24 00:11:14 +09:00
Tatsuhiro Tsujikawa
79945c0c45
nghttpx: Robust PROXY protocol implementation
2015-09-07 22:37:25 +09:00
Tatsuhiro Tsujikawa
a1bb48770c
nghttpx: Add tests for PROXY protocol handling
2015-09-06 23:11:07 +09:00
Tatsuhiro Tsujikawa
be77b47ab5
integration: Add ruby scripts to EXTRA_DIST
2015-09-05 19:10:55 +09:00
Tatsuhiro Tsujikawa
d348ea3384
integration: Fix test failures
2015-09-05 01:24:43 +09:00
Tatsuhiro Tsujikawa
2222a898a1
integration: Add mruby tests
2015-09-04 02:52:19 +09:00
Tatsuhiro Tsujikawa
891134eba9
Define it and itprep recursive target if AM_EXTRA_RECURSIVE_TARGETS is defined
2015-08-23 23:04:19 +09:00
Tatsuhiro Tsujikawa
b78662e506
integration: Fix errors related to host-rewrite
2015-08-09 01:23:58 +09:00
Tatsuhiro Tsujikawa
b0b792e735
integration: Add tests for x-forwarded-proto header field
2015-06-16 21:31:47 +09:00
Tatsuhiro Tsujikawa
41dd5f6897
nghttpx: Tokenize request method
...
We share the same method value with http-parser. This commit also
returns 501 for unknown request method on HTTP/2 and SPDY frontend.
2015-06-09 23:33:14 +09:00
Tatsuhiro Tsujikawa
f9c60d5e9d
nghttpx: Return 501 if invalid method is received on h1 frontend
2015-06-09 22:08:49 +09:00
Tatsuhiro Tsujikawa
59e6272ba4
integration: Add WebSocket upgrade test
2015-05-26 23:28:45 +09:00
Tatsuhiro Tsujikawa
1c06cfd29f
integration: Use our own copy of golang spdy package
...
Official golang spdy package is done. We made a copy of it until we
drop spdy support.
2015-05-23 00:01:45 +09:00
Tatsuhiro Tsujikawa
64b1aae567
integration: Fix TestH2H1Upgrade test failure
2015-05-08 19:35:09 +09:00
Tatsuhiro Tsujikawa
026521b097
integration: Add tests for --header-field-buffer and --max-header-fields
2015-04-29 22:54:25 +09:00
Tatsuhiro Tsujikawa
87cadca3d8
integration: Add HTTP Upgrade test
2015-04-10 21:28:12 +09:00
Tatsuhiro Tsujikawa
ff60cc6b71
integration: Don't send Link header field for resource under /css/
2015-04-08 16:09:02 +09:00
Tatsuhiro Tsujikawa
ccea4d42b5
Refactor .gitignore files
2015-03-29 18:40:37 +09:00
Tatsuhiro Tsujikawa
5c31c130bd
integration: Add test case for trailer part
2015-03-08 19:31:43 +09:00
Tatsuhiro Tsujikawa
c98cf045d6
nghttpx: Use omit minor version in case of HTTP/2 in via header and accesslog
2015-02-24 14:43:01 +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
8b4291edcb
integration: Add server push test
2015-02-08 16:10:01 +09:00
Tatsuhiro Tsujikawa
45a47936e0
integration: Update doc
2015-02-08 16:10:01 +09:00
Tatsuhiro Tsujikawa
a68c4c1e3c
nghttpx: Add --no-host-rewrite option
2015-02-04 01:42:26 +09:00
Tatsuhiro Tsujikawa
82f90f9030
nghttpx: Rewrite :authority and host header field
...
We don't rewrite them if -s or -p is used
2015-02-04 01:42:19 +09:00
Tatsuhiro Tsujikawa
4e68ca8233
integration: Add tests about via header field manipulation
...
This test reveals bug in SPDY upstream code, and contains its fix.
2015-01-27 00:19:57 +09:00
Tatsuhiro Tsujikawa
95b3e2f140
integration: Fix typo
2015-01-27 00:19:41 +09:00
Tatsuhiro Tsujikawa
2a56a3d9ea
nghttpx: Fix te request header handling
...
Checking against "trailers" is enough for now.
2015-01-25 22:58:43 +09:00
Tatsuhiro Tsujikawa
3e5765831f
integration: Add missing alt-server.key and alt-server.crt to EXTRA_DIST
2015-01-25 21:35:45 +09:00
Tatsuhiro Tsujikawa
4b58b25c19
nghttpx: Refactor code to build cert_tree, add SNI test
2015-01-25 15:36:14 +09:00
Tatsuhiro Tsujikawa
682db00ba9
integration: Add tests for TE request header field
2015-01-24 16:02:03 +09:00
Tatsuhiro Tsujikawa
8d5c893929
integration: Add Cookie crumbling tests
2015-01-24 00:27:12 +09:00
Tatsuhiro Tsujikawa
b943fbb002
integration: Add test for assembling Cookie works toward HTTP/1 link
2015-01-24 00:17:11 +09:00
Tatsuhiro Tsujikawa
9a89db575a
nghttpx: Reject multiple Content-Length even if their values are identical
2015-01-24 00:07:28 +09:00
Tatsuhiro Tsujikawa
0fcfe16dc5
integration: Document each test cases
2015-01-24 00:01:14 +09:00
Tatsuhiro Tsujikawa
990f9ed4de
integration: Split up single file to 3 based on frontend type
2015-01-23 23:37:11 +09:00
Tatsuhiro Tsujikawa
3c6b75fb2b
Add `make itprep` target to `go get` dependencies
2015-01-23 22:55:42 +09:00
Tatsuhiro Tsujikawa
d1f06b09cd
integration: Add TLS key and certificate for testing
2015-01-23 21:25:21 +09:00