Tatsuhiro Tsujikawa
78e5149495
src: Support ALPN
...
Requires unreleased OpenSSL >= 1.0.2
2014-01-02 00:15:08 +09:00
Tatsuhiro Tsujikawa
f0d7323902
nghttpx: Use SSL_CTX_set_ecdh_auto for OpenSSL >= 1.0.2
2014-01-01 23:26:00 +09:00
Tatsuhiro Tsujikawa
73866124f3
nghttp: Untabify
2013-12-31 11:15:58 +09:00
David Weekly
19e187cd92
More useful warning on NPN negotiation failure due to draft version mismatch
2013-12-31 00:12:21 +00:00
Tatsuhiro Tsujikawa
1c43cdbbc8
nghttpx: Don't rewrite location if proxy mode is used
2013-12-28 17:02:43 +09:00
Tatsuhiro Tsujikawa
c0726036b1
nghttpd: Use -1 as backlog
2013-12-27 00:02:43 +09:00
Tatsuhiro Tsujikawa
ad369ec299
nghttpx: Use -1 as default value of --backlog
2013-12-26 21:39:00 +09:00
Tatsuhiro Tsujikawa
9cb8754d09
Rename nghttp2_session_fail_session as nghttp2_session_terminate_session
2013-12-26 00:23:07 +09:00
Tatsuhiro Tsujikawa
5bb1c653ef
src: Omit \r\n sanitization on header value
...
This is because nghttp2 and spdylay now don't allow \r\n in header
value. Require spdylay >= 1.2.3.
2013-12-26 00:08:42 +09:00
Tatsuhiro Tsujikawa
04e496d7bd
nghttpd: Use nghttp2_session_fail_session instead of nghttp2_submit_goaway
2013-12-25 00:40:57 +09:00
Tatsuhiro Tsujikawa
f8356dd037
nghttp: Use nghttp2_session_fail_session instead of nghttp2_submit_goaway
2013-12-25 00:28:58 +09:00
Tatsuhiro Tsujikawa
53271e1e52
nghttp: Close fd on disconnect
2013-12-22 19:23:01 +09:00
Tatsuhiro Tsujikawa
c4539046be
nghttpx: No string copy if no cookie crumbling occurs
2013-12-22 15:42:12 +09:00
Tatsuhiro Tsujikawa
2af9a37643
src: Code cleanup
2013-12-22 15:33:37 +09:00
Tatsuhiro Tsujikawa
e955598923
nghttpx: Remove downstream_port from location rewrite code
2013-12-21 18:35:53 +09:00
Tatsuhiro Tsujikawa
9afebcb229
nghttpx: Ignore port when rewriting location header
2013-12-21 18:26:11 +09:00
Tatsuhiro Tsujikawa
ccfa13cd5b
nghttpx: Rewrite location header field
...
We thought that this kind of rewrite can be achieved by the configuration
of the backend severs, but in some configuration, however, it may get
complicated. So we decided to implement at least location rewrite in
nghttpx.
This commit also contains a fix to the bug which prevents the http2
backend request from concatenating header fields with the same value.
2013-12-21 17:49:31 +09:00
Tatsuhiro Tsujikawa
bb70cdf6ad
src: Rename verbose callback functions
2013-12-20 23:48:56 +09:00
Tatsuhiro Tsujikawa
9f7b231c2c
nghttpx: Code cleanup
2013-12-20 23:36:24 +09:00
Tatsuhiro Tsujikawa
b38b233aa6
nghttpx: Check failure of evbuffer_* and bufferevent_* functions
2013-12-20 23:28:54 +09:00
Tatsuhiro Tsujikawa
873d457dd2
nghttpx: Fix log message
2013-12-20 22:44:30 +09:00
Tatsuhiro Tsujikawa
ff2eb0de81
Update doc
2013-12-16 21:17:25 +09:00
Tatsuhiro Tsujikawa
7222f63dbd
Revert 3c57327274
...
It may violate draft-09 section 8.1.3.1. Proxy should perseve
host header field.
2013-12-16 21:14:31 +09:00
Tatsuhiro Tsujikawa
3c57327274
nghttpx: Remove host if :authority is available on HTTP2 downstream request
2013-12-15 18:09:56 +09:00
Tatsuhiro Tsujikawa
f4ae707bf2
Revert 0b7b95923e
2013-12-13 21:46:41 +09:00
Tatsuhiro Tsujikawa
0b7b95923e
nghttp: Adjust relative priority with -a
2013-12-11 23:26:55 +09:00
Tatsuhiro Tsujikawa
09ba2e8c78
nghttp: Ensure that all settings can be encoded in settings_payload
2013-12-09 21:12:09 +09:00
Tatsuhiro Tsujikawa
c3a361fb52
nghttpd: Create Request object in hd_before_frame_send_callback
...
This is pathological case, but we may get RST_STREAM to the promised
stream while we are sending PUSH_PROMISE. To handle this case,
instantiate Request object before transmission.
2013-12-09 00:22:01 +09:00
Tatsuhiro Tsujikawa
ed1d7cdea4
nghttpd: Fix allow_push is not used
2013-12-09 00:04:54 +09:00
Tatsuhiro Tsujikawa
47f53940da
nghttpd: Add -p, --push option to configure server push
...
The option syntax is <PATH>=<PUSH_PATH,...>.
Push resources PUSH_PATHs when PATH is requested. This option can be used
repeatedly to specify multiple push configurations. For example,
-p/=/foo.png -p/doc=/bar.css
PATH and PUSH_PATHs are relative to document root.
2013-12-09 00:00:12 +09:00
Tatsuhiro Tsujikawa
658b7d0727
src: Replace MAKE_NV macros with function templates
2013-12-08 22:31:43 +09:00
Tatsuhiro Tsujikawa
6c77cec270
Remove nghttp2_submit_* API functions which has char **nv parameter
...
The nghttp2_submit_{request,response}2 functions are renamed as
nghttp2_submit_{request, response}.
2013-12-08 21:39:43 +09:00
Tatsuhiro Tsujikawa
baa2272b0a
src: Concatenate header fields with same name by NULL as delimiter
...
cookie and set-cookie are treated specially and won't be concatenated.
2013-12-07 00:32:14 +09:00
Tatsuhiro Tsujikawa
6ea91e57e0
Adjust struct/class alignment
2013-12-06 23:17:38 +09:00
Tatsuhiro Tsujikawa
e596385fc0
src: Split NULL-separated values
2013-12-05 21:54:36 +09:00
Tatsuhiro Tsujikawa
1f0dfd4316
nghttpx: Update doc
2013-12-01 20:55:16 +09:00
Tatsuhiro Tsujikawa
93ad48fe6c
nghttpx: Update usage
2013-11-29 22:59:49 +09:00
Tatsuhiro Tsujikawa
d1049f389f
nghttpx: Use nghttp2_submit_{request, response}2 API
2013-11-28 21:36:04 +09:00
Tatsuhiro Tsujikawa
679a389bd3
nghttpx: Code cleanup
2013-11-26 22:57:29 +09:00
Tatsuhiro Tsujikawa
bbebc4ad8d
nghttpx: Fix crash on CONNECT or downstream failure
2013-11-21 02:06:28 +09:00
Tatsuhiro Tsujikawa
01f7162be3
nghttpx: Add connection-level flow control window size options
...
This commit also changes SPDY's flow control size. Previously,
the size for SPDY is the same amount of bytes with HTTP/2.
For example, --frontend-http2-upstream-window-bits=N,
the window size is 2**N - 1. Now SPDY code uses 2**N.
2013-11-21 00:15:17 +09:00
Tatsuhiro Tsujikawa
53b3fba05b
nghttpx: Add --http2-no-cookie-crumbling option
2013-11-18 00:03:55 +09:00
Tatsuhiro Tsujikawa
faedc4381d
nghttpx: Add options to dump HTTP headers in HTTP/2.0 upstream
2013-11-17 23:52:19 +09:00
Tatsuhiro Tsujikawa
e14baf134c
nghttpx: Implement cookie crumbling
2013-11-16 21:15:55 +09:00
Tatsuhiro Tsujikawa
0c669898a4
nghttp: Allow multiple same headers in -H
2013-11-16 21:13:09 +09:00
Tatsuhiro Tsujikawa
a255e4efa6
nghttpx: Use same priority in frontend and backend HTTP2
2013-11-16 15:41:24 +09:00
Tatsuhiro Tsujikawa
81cf484124
Don't DIE when establishing backend HTTP2 connection failed
2013-11-16 01:31:32 +09:00
Tatsuhiro Tsujikawa
d946b06e51
src/http-parser: Update to latest HEAD
2013-11-14 23:53:48 +09:00
Tatsuhiro Tsujikawa
40347487c9
Don't sort headers in library code
...
Remove sorting headers from library code. The application must sort
them if necessary. nghttpx and nghttpd do the sorting of the headers
in stable way if names are equal.
2013-11-13 23:56:02 +09:00
Tatsuhiro Tsujikawa
0ba2883940
nghttpx: Use initial window size in config directly
2013-11-12 11:08:43 +09:00
Tatsuhiro Tsujikawa
58beaa371d
nghttpx: Support spdy/3.1, require spdylay >= 1.2.0
2013-11-12 11:03:46 +09:00
Tatsuhiro Tsujikawa
b405b4bc9f
src: Fix token68 decoding
2013-11-09 16:18:01 +09:00
Tatsuhiro Tsujikawa
2ae788eddd
Replace nghttp2_set_option with nghttp2_session_{client,server}_new2
...
nghttp2_session_client_new2 and nghttp2_session_server_new2 take
additional parameters which specifies session options.
nghttp2_set_option is somewhat crumsy because of type checking.
Now we use nghttp2_opt_set, which specifies individual options with
types. We changed the value of nghttp2_opt, so this change will
require re-compile.
2013-11-08 00:12:39 +09:00
Tatsuhiro Tsujikawa
e684b8149b
nghttpd: Fix -c option
2013-11-06 23:32:32 +09:00
Tatsuhiro Tsujikawa
be5d08647e
nghttpd: Add -c, --header-table-size option
2013-11-05 23:44:20 +09:00
Tatsuhiro Tsujikawa
b1905c5815
nghttpx: More replacement of spdy with http2
2013-11-04 18:22:29 +09:00
Tatsuhiro Tsujikawa
0fcd14300a
nghttpx: Rename PROTO_SPDY with PROTO_HTTP2 for backend protocol name
2013-11-04 18:15:56 +09:00
Tatsuhiro Tsujikawa
ba3db66cec
nghttpx: Replace "spdy" in option name with "http2"
2013-11-04 18:14:05 +09:00
Tatsuhiro Tsujikawa
f3d71aa5bb
nghttpx: Rename Spdy{Session,DownstreamConnection} to Http2{*}
2013-11-04 17:53:57 +09:00
Tatsuhiro Tsujikawa
a483105e11
nghttpx: Set read/write timeout for HTTP/2 backend as well
2013-11-04 17:22:52 +09:00
Tatsuhiro Tsujikawa
69967aeef8
nghttpx: Add --client-private-key-file and --client-cert-file options
2013-11-02 23:34:25 +09:00
Tatsuhiro Tsujikawa
5bb7066474
nghttpx: Add --verify-client-cacert option
...
Using --cacert to load certificate for client certificate authentication
is problematic since, --cacert is also used for client mode.
This commit adds --verify-client-cacert option which specify the CA
certficate file used only for client certificate validation.
This change also removes the default certficate load function for
client certificate validation.
2013-11-02 21:41:05 +09:00
Tatsuhiro Tsujikawa
41208950ec
nghttpx: Disable push in HTTP/2 backend
2013-11-02 16:59:59 +09:00
Tatsuhiro Tsujikawa
02acfd7d70
nghttpx: Add --verify-client option
...
This option requires client certificate and successful verification.
Use --cacert option to add CA certificates as necessary.
2013-11-02 01:10:18 +09:00
Tatsuhiro Tsujikawa
1835bda02e
nghttp, nghttpd: Add --color option to force colored log output
2013-11-01 23:06:53 +09:00
Tatsuhiro Tsujikawa
d9f5451810
nghttpx: Add SETTINGS ACK timeout to HTTP/2 backend connections
2013-10-31 21:45:17 +09:00
Tatsuhiro Tsujikawa
e0fe939951
nghttpx: Add SETTINGS timeout timer to Http2Upstream
2013-10-31 00:44:23 +09:00
Tatsuhiro Tsujikawa
3ea28863e4
nghttpx: Set "dconn_ is null" log in INFO
2013-10-30 01:26:28 +09:00
Tatsuhiro Tsujikawa
dfa1194804
Add new API to return effective recv data/win size for connection
...
Using this feature, connection level flow control is now enabled
in nghttpx.
2013-10-30 00:51:01 +09:00
Tatsuhiro Tsujikawa
b75455dd96
nghttpx: Remove recv data length calculation in HTTP/2 code
2013-10-30 00:10:28 +09:00
Tatsuhiro Tsujikawa
6c23c34d77
Add new API to return effective received data length and local window size
2013-10-30 00:07:35 +09:00
Tatsuhiro Tsujikawa
9b6a0e5875
nghttpx: Fix stream hang with request body
...
The end of request stream is not detected correct place.
Also Downstream::end_upload_data() is not called.
2013-10-30 00:00:58 +09:00
Tatsuhiro Tsujikawa
0ced4741d2
nghttpx: Remove flow control error detection code
...
Now flow control error detection is handled by the library
2013-10-29 22:46:38 +09:00
Tatsuhiro Tsujikawa
535329779c
nghttp: Add --header-table-size option
2013-10-29 21:34:22 +09:00
Tatsuhiro Tsujikawa
dc61f705df
nghttp, nghttpd: Add SETTINGS timeout handling
...
SETTINGS timeout is 10 seconds for now.
2013-10-27 23:02:39 +09:00
Tatsuhiro Tsujikawa
5ace898392
Update error code
2013-10-27 19:31:24 +09:00
Tatsuhiro Tsujikawa
a46ccdb144
Apply initiated SETTINGS changes on reception of ACK
2013-10-27 19:22:51 +09:00
Tatsuhiro Tsujikawa
2afa9f75f5
src/HttpServer: Fix compile error
2013-10-27 17:00:41 +09:00
Tatsuhiro Tsujikawa
5ca8f147f2
nghttpx: Code cleanup
2013-10-27 16:25:50 +09:00
Tatsuhiro Tsujikawa
67553d47e0
nghttpx: Use :authority and host instead of :host
2013-10-27 16:25:50 +09:00
Tatsuhiro Tsujikawa
c4ae19e2a0
nghttp, nghttpd: Use :authority and host instead of :host
2013-10-27 16:25:50 +09:00
Tatsuhiro Tsujikawa
8f8c841df0
Merge branch 'master' into hpack-exp
2013-10-25 22:51:51 +09:00
Tatsuhiro Tsujikawa
896db5b24f
API change: Add flags parameter to all submit_* functions
...
The nghttp2_submit_{request,response} family do not get this change.
2013-10-25 22:50:24 +09:00
Tatsuhiro Tsujikawa
b193069110
Merge branch 'master' into hpack-exp
2013-10-23 23:23:51 +09:00
Tatsuhiro Tsujikawa
8c855c5567
src: Use std::vector to store name/value pairs
2013-10-23 23:18:24 +09:00
Tatsuhiro Tsujikawa
5add90489f
Protocol ID change for HPACK experiment
2013-10-16 01:19:06 +09:00
Tatsuhiro Tsujikawa
e85418f045
Fix local window size adjustments
...
Now shrinking local window size properly limits the amount of
WINDOW_UPDATE value so that shrinked window is honored.
2013-10-12 17:02:37 +09:00
Tatsuhiro Tsujikawa
2e7edf88bc
nghttp: Add -W option to specify connection level window size bits
2013-10-10 22:04:37 +09:00
Tatsuhiro Tsujikawa
154a0014ef
nghttp: Fix typo in help message
2013-10-10 21:25:53 +09:00
Tatsuhiro Tsujikawa
6249038cc0
src: Print headers in PUSH_PROMISE
2013-10-10 21:24:54 +09:00
Tatsuhiro Tsujikawa
f355187176
nghttpx: Fix missing extension HTTP status code in response
2013-10-02 23:29:44 +09:00
Tatsuhiro Tsujikawa
c7ce6d811e
src/shrpx_config.cc: Code cleanup
2013-10-02 23:13:25 +09:00
Tatsuhiro Tsujikawa
d90e0d4262
src/HtmlParser: Code cleanup
2013-10-02 23:08:47 +09:00
Tatsuhiro Tsujikawa
a9ba00914e
nghttpx: Log error_code when submitting RST_STREAM
2013-09-30 00:13:04 +09:00
Tatsuhiro Tsujikawa
8e9f08f81d
nghttp: Assign different priority according to the resource type
2013-09-29 18:58:46 +09:00
Tatsuhiro Tsujikawa
31ae1fe660
app_helper.cc: Handle NGHTTP2_COMPRESSION_ERROR in strstatus
2013-09-28 22:57:12 +09:00
Tatsuhiro Tsujikawa
bfe7a9af00
nghttp: Fix crash if attrs parameter of get_attr() is nullptr
2013-09-26 22:56:26 +09:00
Tatsuhiro Tsujikawa
55b8a0b777
shrpx_http2_upstream: Use std::unique_ptr for pre_upstream_
2013-09-26 21:46:35 +09:00
Tatsuhiro Tsujikawa
3368c8b378
nghttpx: Fix wrong version ID in Upgrade response header field
2013-09-26 21:46:03 +09:00
Tatsuhiro Tsujikawa
c5912341ad
nghttpx: Fix crash on upgrade success
2013-09-26 21:39:19 +09:00