Tatsuhiro Tsujikawa
61053653df
src: Retry write(2) if errno == EINTR
2014-07-17 23:41:54 +09:00
Tatsuhiro Tsujikawa
62423f5949
Fix double free
2014-07-15 22:47:04 +09:00
Tatsuhiro Tsujikawa
55c697e9f4
Handle multiple SETTINGS_HEADER_TABLE_SIZE in incoming SETTINGS frame
...
Previously we just assumed that if same settings ID is found in
SETTINGS, it is enough to process last seen entry. But it turns out
it is not enough for SETTINGS_HEADER_TABLE_SIZE. If we have 0 and
4096 for SETTINGS_HEADER_TABLE_SIZE in one SETTINGS, we must first
shrink dynamic table to 0 and then enlarge it to 4096. This means
that we have to remember the minimum value and last value.
2014-07-15 00:25:31 +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
8f1249ab67
Check NGHTTP2_GOAWAY_SEND and NGHTTP2_GOAWAY_RECV flags explicitly
2014-07-12 23:16:25 +09:00
Tatsuhiro Tsujikawa
35ffeb5ff4
Send additional debug info when terminating session
2014-07-12 22:57:17 +09:00
Tatsuhiro Tsujikawa
25326b40db
doc: Generate HTML version manual page from manpage
2014-07-09 00:38:43 +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
d0d0488301
Disable threading for android build because it lacks thread local storage
2014-07-08 21:28:45 +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
Tatsuhiro Tsujikawa
545732fed8
nghttpd: Add --early-response option
...
This option is testing the client behavior when it gets response
before sending all request.
2014-07-03 22:44:27 +09:00
Tatsuhiro Tsujikawa
4b6f124b7e
Add API to check half-closed state for both direction of stream
2014-07-03 21:44:29 +09:00
Tatsuhiro Tsujikawa
119fb05cc2
nghttpx: Call on_response_headers for response header only in http2 downstream
2014-07-03 21:18:01 +09:00
Tatsuhiro Tsujikawa
e08df2840c
nghttpx: Disallow 2nd message in http downstream
2014-07-03 20:57:07 +09:00
Tatsuhiro Tsujikawa
1ce00f455c
nghttpx: Remove requirement of content-length for HTTP2 upstream POST
2014-07-03 19:59:10 +09:00
Tatsuhiro Tsujikawa
9cddb05f54
nghttpx: Use error_reply instead of RST_STREAM for http2 upstream request
2014-07-03 00:12:16 +09:00
Tatsuhiro Tsujikawa
93b3a44fb5
nghttpx: Add ability to Http2Upstream to send RST_STREAM after END_STREAM
2014-07-02 23:56:26 +09:00
Tatsuhiro Tsujikawa
acb3d4dcfc
nghttpx: Handle connection flow control for DATA not sent to frontend
2014-07-02 23:24:59 +09:00
Tatsuhiro Tsujikawa
797edae4d4
nghttpx: Handle connection flow control for DATA not sent to backend
2014-07-02 23:24:58 +09:00
Tatsuhiro Tsujikawa
e5abc475f1
Don't send more than NGHTTP2_MAX_HEADERSLEN bytes header block
2014-07-02 22:45:38 +09:00
Tatsuhiro Tsujikawa
593485c652
Put a limit for total contiguous headers length currently receiving
2014-07-02 22:25:32 +09:00
Tatsuhiro Tsujikawa
6da044cbb5
Send WINDOW_UPDATE for ignored DATA bytes when manual flow control is enabled
...
Since we do not call on_data_chunk_recv_callback for ignored DATA
chunk, if nghttp2_option_set_no_auto_connection_window_update is used,
application may not have a chance to send connection WINDOW_UPDATE.
To fix this, we accumulate those received bytes, and if it exceeds
certain number, we automatically send connection-level WINDOW_UPDATE.
2014-07-02 21:20:40 +09:00
Tatsuhiro Tsujikawa
ed38dbf67a
Add const qualifier to opaque_data parameter in nghttp2_submit_ping
2014-07-02 00:59:36 +09:00
Tatsuhiro Tsujikawa
499af94840
python: Check draft version in hpackcheck.py
2014-07-01 00:39:54 +09:00
Tatsuhiro Tsujikawa
2f91a7f603
Update doc
2014-07-01 00:26:02 +09:00
Tatsuhiro Tsujikawa
e517ff6534
python: Use public HPACK API
2014-06-30 22:45:18 +09:00
Tatsuhiro Tsujikawa
1039dc59ea
Update doc
2014-06-30 00:02:40 +09:00
Tatsuhiro Tsujikawa
a7501609e8
doc: Fix python-apiref.rst is not generated in distribution
2014-06-29 23:57:18 +09:00
Tatsuhiro Tsujikawa
8235bb136b
doc: Add HPACK API tutorial
2014-06-29 23:45:49 +09:00
Tatsuhiro Tsujikawa
bd06f2cec3
Add const qualifier to nva parameter in nghttp2_hd_deflate_hd()
2014-06-29 23:43:14 +09:00
Tatsuhiro Tsujikawa
48c8c89a3f
Add Rewriting location header field section to nghttpx how-to
2014-06-29 00:17:06 +09:00