Tatsuhiro Tsujikawa
88add854ff
nghttpx: Treat malformed request as PROTOCOL_ERROR
2014-08-08 23:11:58 +09:00
Tatsuhiro Tsujikawa
704bbbfcaa
nghttpx: Fail if :status is not digits on http2 downstream
2014-08-08 23:08:24 +09:00
Tatsuhiro Tsujikawa
e217e789de
nghttp: Support non-final response and check pseudo headers
2014-08-08 23:03:12 +09:00
Tatsuhiro Tsujikawa
d4d56e1846
nghttpd, nghttpx: Check that pseudo headers come before normal headers
2014-08-08 20:52:32 +09:00
Tatsuhiro Tsujikawa
d496c42dc9
Revert "nghttpx, nghttpd: Check pseudo header fields come before normal header fields"
...
This reverts commit cc24b9aaf0
.
2014-08-08 20:17:03 +09:00
Tatsuhiro Tsujikawa
76b3ba2832
nghttp: Sort request header fields using http2::name_less
2014-08-08 00:27:04 +09:00
Tatsuhiro Tsujikawa
05f982dcfb
src: Sort header fields so that pseudo headers come first
2014-08-07 23:27:13 +09:00
Tatsuhiro Tsujikawa
cc24b9aaf0
nghttpx, nghttpd: Check pseudo header fields come before normal header fields
2014-08-07 22:49:34 +09:00
Tatsuhiro Tsujikawa
e6695d9ba7
nghttp: Check HTTP header field characters
2014-08-07 22:01:00 +09:00
Tatsuhiro Tsujikawa
9fb2bc8468
src: Remove http2::sort_nva
...
This function is no longer necessary because 0x00 concatenation rule
is gone.
2014-08-07 21:55:30 +09:00
Tatsuhiro Tsujikawa
3f212a60a5
nghttpx: Fix android build error
2014-08-06 00:23:46 +09:00
Tatsuhiro Tsujikawa
5c61917007
src: Move jemalloc front so that it is surely linked
2014-08-05 22:27:54 +09:00
Tatsuhiro Tsujikawa
455d911f61
src, examples: Call OPENSSL_config()
2014-08-02 10:11:45 +09:00
Tatsuhiro Tsujikawa
7c781bcd1a
nghttpx: Issue RST_STREAM instead of returning NGHTTP2_ERR_TEMPORAL_CALLBACKFAILURE
...
NGHTTP2_ERR_TEMPORAL_CALLBACKFAILURE is not supported in
on_frame_recv_callback.
2014-08-02 00:26:43 +09:00
Tatsuhiro Tsujikawa
2e083352d5
nghttpx: Fix crash on http2 downstream disconnect
2014-07-31 23:34:33 +09:00
Tatsuhiro Tsujikawa
6e027ad830
nghttpd, nghttpx: Check allowed pseudo headers
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
9d78167297
nghttpx: Treat unexpected HEADERS as stream error
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
b8a2bf2675
Remove END_SEGMENT flag
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
04b5d1679f
nghttpx: Log non-final response headers
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
15055c11f9
nghttpx: Support server-wide OPTIONS in http/1 upstream
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
c859fb8f7c
nghttpx: Don't respond DATA frame for HEAD request or 204, 304, 1xx
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
079db14d45
Add nghttp2_session_consume() API
...
Reworked no automatic WINDOW_UPDATE feature. We added new API
nghttp2_session_consume() which tells the library how many bytes are
consumed by the application. Instead of submitting WINDOW_UPDATE by
the application, the library is now responsible to submit
WINDOW_UPDATE based on consumed bytes. This is more reliable method,
since it enables us to properly send WINDOW_UPDATE for stream and
connection individually. The previous implementation of nghttpx had
broken connection window management.
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
9f17bee51d
Fix unittest failure
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
4f815521ae
nghttpx, nghttpd: Support non-final response
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
af5fd2019d
src: Remove 0x00 concatenation for headers
...
Now concatenating header values with 0x00 as delimiter is not
necessary because HPACK reference set is removed and the order of
header field fed into HPACK encoder is preserved when they are
decoded.
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
38bfbffb1b
Remove HPACK reference set
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
8dc47c6750
Fix resource leaks
2014-07-18 00:31:32 +09:00
Tatsuhiro Tsujikawa
61053653df
src: Retry write(2) if errno == EINTR
2014-07-17 23:41:54 +09:00
Tatsuhiro Tsujikawa
bb47484667
nghttpx: Log transmission and reception of GOAWAY
2014-07-12 23:30:13 +09:00
Tatsuhiro Tsujikawa
c4d2639ed8
nghttpd: Don't shutdown session if pending data is left
2014-07-12 23:17:25 +09:00
Tatsuhiro Tsujikawa
25e18174dd
src: Add additional HTTP status codes defined in RFC 6585
2014-07-08 22:41:17 +09:00
Tatsuhiro Tsujikawa
a072d719b3
nghttpx: Use 431 instead of 413
2014-07-08 22:37:48 +09:00
Tatsuhiro Tsujikawa
0d1ebd73de
nghttpx: Only use thread_local if NOTHREADS is not defined
2014-07-08 21:28:11 +09:00
Tatsuhiro Tsujikawa
d3ca003346
Update android-config and fix build warning with android NDK
2014-07-06 23:32:08 +09:00
Tatsuhiro Tsujikawa
9cbedb16d0
nghttpx: Log filename and line number after severity in one line
2014-07-06 19:26:12 +09:00
Tatsuhiro Tsujikawa
9f1c819242
nghttpx: Cleanup create_evlistener
2014-07-06 19:21:18 +09:00
Tatsuhiro Tsujikawa
a02624c9ed
nghttpx: Use std::shared_ptr to share cached time
...
To ensure that cached time buffer is not altered while referencing it,
we rely on inerlocking in std::shared_ptr to acheive this.
2014-07-06 13:27:51 +09:00
Tatsuhiro Tsujikawa
933e24d412
nghttpx: Use std::atomic for Config::cached_time
2014-07-05 23:50:32 +09:00
Tatsuhiro Tsujikawa
fe2843f9d6
nghttpx: Include pid in errorlog
2014-07-05 22:53:17 +09:00
Tatsuhiro Tsujikawa
afdc61a253
nghttpx: Remove S_IROTH when creating log file
2014-07-05 22:41:53 +09:00
Tatsuhiro Tsujikawa
367e764ca3
nghttpx: Log user-agent as "-" if it is empty
2014-07-05 19:48:14 +09:00
Tatsuhiro Tsujikawa
9841f778a9
nghttpx: Do not compile pthread_sigmask if NOTHREADS is defined
2014-07-05 19:43:39 +09:00
Tatsuhiro Tsujikawa
bf4042ce98
nghttpx: Cache time for logging
2014-07-05 19:40:30 +09:00
Tatsuhiro Tsujikawa
2e6d5e9bd0
nghttpx: Use %lld instead of PRId64
2014-07-05 18:51:55 +09:00
Tatsuhiro Tsujikawa
0ce848a611
nghttpx: Rewrite logging system
...
This change rewrites logging system of nghttpx. Previously access log
and error log are written to stderr or syslog and there was no option
to change stderr to something else. With this change, file path of
access log and error log can be configured separately and logging to
regular file is now added. To support rotating log, if SIGUSR1 signal
is received by nghttpx, it closes the current log files and reopen it
with the same name. The format of access log is changed and has same
look of apache's. But not all columns are not supported yet.
2014-07-05 18:43:24 +09:00
Tatsuhiro Tsujikawa
57230b4029
nghttpx: Fix regression POST http2 downstream does not work
2014-07-04 02:03:09 +09:00
Tatsuhiro Tsujikawa
3111138ca3
nghttpx: Don't add transfer-encoding to CONNECT request
2014-07-03 23:44:20 +09:00
Tatsuhiro Tsujikawa
0f4d01c25c
nghttpx: Pass through NGHTTP2_NO_ERROR from downstream to upstream
2014-07-03 23:00:19 +09:00
Tatsuhiro Tsujikawa
f8b872096e
nghttpx: Use NGHTTP2_NO_ERROR to close upgraded (tunneled) stream
2014-07-03 22:59:49 +09:00
Tatsuhiro Tsujikawa
e18c439a73
nghttp: Add --no-content-length option
2014-07-03 22:48:43 +09:00