Tatsuhiro Tsujikawa
8dc47c6750
Fix resource leaks
2014-07-18 00:31:32 +09:00
Tatsuhiro Tsujikawa
39498beffd
examples: Fix possible division by zero
2014-07-18 00:09:05 +09:00
Tatsuhiro Tsujikawa
8235bb136b
doc: Add HPACK API tutorial
2014-06-29 23:45:49 +09:00
Tatsuhiro Tsujikawa
ae74a18624
examples: Fix libevent-server which could not send error reply
2014-06-18 13:11:01 +09:00
Tatsuhiro Tsujikawa
85a43cfa66
examples: Check return value of evbuffer_drain
2014-06-18 13:06:05 +09:00
Tatsuhiro Tsujikawa
b78a51da0e
Support graceful shutdown using multiple GOAWAY
...
Add last_stream_id parameter to nghttp2_submit_goaway(). To terminate
connection immediately with application chosen last stream ID,
nghttp2_session_terminate_session2() was added.
2014-06-18 11:35:08 +09:00
Tatsuhiro Tsujikawa
9b174bf5c9
Fix compile error with -Wshorten-64-to-32
...
The original patch was contributed by Alexis La Goutte
2014-06-11 23:37:16 +09:00
Tatsuhiro Tsujikawa
e8de437d5c
Return new stream ID from nghttp2_submit_{request, headers, push_promise}
...
Previously stream ID was assigned just before HEADERS or PUSH_PROMISE
was serialized and nghttp2_submit_{request, headers, push_promise} did
not return stream ID. The application has to check assigned stream ID
using before_frame_send_callback. Now it is apparent that priority is
meant to DATA transfer only. Also application can reorder the
requests if it wants. Therefore we can assign stream ID in
nghttp2_submit_* functions and return stream ID from them. With this
change, now application does not have to check stream ID using
before_frame_send_callback and its code will be simplified.
2014-05-07 23:24:07 +09:00
Tatsuhiro Tsujikawa
4f027c1562
libnghttp2: Remove dependency to zlib
...
We inherited gzip compression API from spdylay codebase. In spdylay,
the cost of having such API is almost free because spdylay requires
zlib for header compression. nghttp2 no longer uses gzip to header
compression. zlib dependency exists just for gzip compression API,
which is not an essential. So we decided to move gzip code to under
src and remove zlib dependency from libnghttp2 itself. As nghttp2
package, we depend on zlib to compile tools under src.
2014-05-06 23:10:50 +09:00
Tatsuhiro Tsujikawa
9ca63de9e8
examples: Zero clear callbacks
2014-05-01 10:46:08 +09:00
Tatsuhiro Tsujikawa
813c750c12
Merge branch 'clang' of https://github.com/alagoutte/nghttp2 into alagoutte-clang
2014-05-01 10:45:38 +09:00
Alexis La Goutte
66ed7f6a59
Fix build when use Clang
...
libevent-server.c:552:43: error: missing field 'recv_callback' initializer [-Werror,-Wmissing-field-initializers]
2014-04-30 17:31:33 +02:00
Alexis La Goutte
8ca2f6aa92
Fix build when use Clang
...
libevent-client.c:355:43: error: missing field 'recv_callback' initializer [-Werror,-Wmissing-field-initializers]
2014-04-30 17:31:29 +02:00
Alexis La Goutte
fa2fbe944f
Fix GCC build with -Werror
...
libevent-server.c:691:8: error: C++ style comments are not allowed in ISO C90
2014-04-30 17:09:06 +02:00
Tatsuhiro Tsujikawa
660c536275
Extend namelen and valuelen in nghttp2_nv to size_t
2014-04-30 23:08:34 +09:00
Tatsuhiro Tsujikawa
1b79114d2d
Fix compiler warnings
2014-04-30 22:16:21 +09:00
Tatsuhiro Tsujikawa
e7ad3633c7
nghttp2_data_source_read_callback: Replace eof with uint32_t *data_flags
...
Replace int *eof with uint32_t *data_flags so that we can easily
extend functionality if we have to (but we don't do if possible).
2014-04-05 17:59:24 +09:00
Tatsuhiro Tsujikawa
c9f90924a9
Add flags parameter to nghttp2_on_header_callback
2014-04-02 02:10:35 +09:00
Tatsuhiro Tsujikawa
24cb90806d
Add flags to nghttp2_nv structure
...
This is preliminary change for upcoming HPACK updates. The flags are
used to determine the name/value pair is indexable or not.
2014-04-01 23:17:50 +09:00
Tatsuhiro Tsujikawa
60a2c260a5
Define NGHTTP2_CLIENT_CONNECTION_PREFACE macro
...
NGHTTP2_CLIENT_CONNECTION_PREFACE has the same content with
NGHTTP2_CLIENT_CONNECTION_HEADER, which is now obsoleted by
NGHTTP2_CLIENT_CONNECTION_PREFACE.
2014-03-30 21:02:25 +09:00
Tatsuhiro Tsujikawa
ab2dc5967d
Replace HTTP/2.0 with HTTP/2
2014-03-30 19:26:37 +09:00
Tatsuhiro Tsujikawa
f7162ab702
Implement dependency based priority
2014-03-30 01:24:16 +09:00
Tatsuhiro Tsujikawa
46f5d4b1c4
examples: Check stream_data is null
2014-02-20 21:30:05 +09:00
Tatsuhiro Tsujikawa
e186e01933
Replace on_end_headers_callback with on_begin_headers_callback
...
Previously, there is inconsistency when on_frame_recv_callback
is called between HEADERS/PUSH_PROMISE and the other frames.
For former case, it is called before header block, in latter
case, it is called after whole frame is received. To make it
consistent, we call on_frame_recv_callback for HEADERS/PUSH_PROMISE
after its frame is fully received. Since on_frame_recv_callback
can signal the end of header block, we replaced on_end_headers_callback
with on_begin_headers_callback, which is called when the reception
of the header block is started.
2014-01-29 21:23:13 +09:00
Tatsuhiro Tsujikawa
67d4cb6367
examples: Log disconnected in delete_http2_session_data
2014-01-18 01:17:09 +09:00
Tatsuhiro Tsujikawa
2cc28863e9
examples: Fix crash if port is not in request URI
2014-01-18 01:13:04 +09:00
Tatsuhiro Tsujikawa
0b14319675
doc, examples: Update tutorial and examples
2014-01-18 00:06:24 +09:00
Tatsuhiro Tsujikawa
37d41313d3
examples: Fix build failure with android NDK
2014-01-12 21:43:55 +09:00
Tatsuhiro Tsujikawa
a47abdba9b
Update .gitignore
2014-01-11 01:05:42 +09:00
Tatsuhiro Tsujikawa
0e9390d5ad
Move http-parser to third-party dir and fix `make distcheck`
2014-01-11 00:36:20 +09:00
Tatsuhiro Tsujikawa
46b3a7e1b3
examples: Remove EXTRA_DIST
2014-01-11 00:22:23 +09:00
MATSUMOTO Ryosuke
87f4f1d4f5
Fix :host header bug
2013-12-31 20:51:34 +09:00
Tatsuhiro Tsujikawa
a94fb43bb9
examples: Code cleanup, cut request path after '?'
2013-12-26 21:45:29 +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
286345a2ef
examples/libevent-client.c: Fix memory leak, use nghttp2_session_fail_session
2013-12-25 00:29:36 +09:00
Tatsuhiro Tsujikawa
946d3150ba
examples: Add minimum error handling for API functions
2013-12-24 21:30:49 +09:00
Tatsuhiro Tsujikawa
9fc9ef9a40
examples: Refactor a bit
2013-12-24 19:55:26 +09:00
Tatsuhiro Tsujikawa
0fb7e430d7
examples: Set TCP_NODELAY option
2013-12-24 00:01:44 +09:00
Tatsuhiro Tsujikawa
4e01ed1a95
examples: Add libevent-server.c
2013-12-23 23:49:30 +09:00
Tatsuhiro Tsujikawa
e04e6ccdf9
examples: Remove false README.rst
2013-12-22 19:28:26 +09:00
Tatsuhiro Tsujikawa
dcfd9b22fc
examples: Add libevent-client, requires libevent for examples
2013-12-22 19:26:32 +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
6ea91e57e0
Adjust struct/class alignment
2013-12-06 23:17:38 +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
588fd3bda7
src, examples: Update .gitignore
2013-09-08 15:33:17 +09:00
Tatsuhiro Tsujikawa
d960cf8953
Add const to read-only nghttp2_frame* parameter in callbacks
2013-09-03 21:24:14 +09:00
Tatsuhiro Tsujikawa
27c0f76afb
examples: Remove unused source files
2013-09-02 22:55:37 +09:00
Tatsuhiro Tsujikawa
666ab068ff
examples: Rewrite client example
2013-09-02 22:55:37 +09:00
Tatsuhiro Tsujikawa
0edce70343
Rebranding nghttp2
2013-07-13 00:43:06 +09:00
Tatsuhiro Tsujikawa
ba8bc5cae7
spdycli: Fix missing last by with IPv6 addr and check argc
2013-02-14 21:15:41 +09:00
Tatsuhiro Tsujikawa
50bff9e647
spdycli: Handle error return from connect_to()
2013-01-25 22:58:07 +09:00
Tatsuhiro Tsujikawa
4d0db62f1d
examples: Remove unused htparse
2012-12-08 00:38:53 +09:00
Tatsuhiro Tsujikawa
a28e1c6e7d
Add src/.gitignore and edit examples/.gitignore
2012-10-06 00:01:13 +09:00
Tatsuhiro Tsujikawa
e69947a054
Removed trailing spaces
2012-10-01 21:51:24 +09:00
Tatsuhiro Tsujikawa
3acfae37bb
examples: Add README
2012-09-10 22:45:33 +09:00
Tatsuhiro Tsujikawa
b0fcd68783
Move spdycat, spdyd and shrpx from examples to src
...
To distinguish the to-be-installed programs and non-installable
example source code, the former programs, spdycat, spdydyd and shrpx,
were moved to src directory. spdynative was removed from Makefile
because it does not appeal to any users much.
2012-09-10 21:39:51 +09:00
Tatsuhiro Tsujikawa
5634c7ffdc
shrpx: Ignore response body if HTTP status code is 1xx, 204 or 304
2012-09-09 17:45:06 +09:00
Tatsuhiro Tsujikawa
bafcbfde88
Remove unused zlib.h header file from spdylay.h
2012-08-22 00:14:02 +09:00
Tatsuhiro Tsujikawa
0be5ac6ffb
spdycat: use locale-free strieq instead strcasecmp
2012-08-21 23:22:33 +09:00
Tatsuhiro Tsujikawa
cdded94305
spdycat: wrap line longer than 79 chars
2012-08-21 22:02:35 +09:00
Tatsuhiro Tsujikawa
ccf225641e
spdycat: disallow empty header name with -H
2012-08-21 21:39:33 +09:00
Stephen Ludin
2266b102e3
Adding arbitrary headers form the command line
2012-08-21 21:28:06 +09:00
Tatsuhiro Tsujikawa
a69b61c40c
shrpx: add --ciphers option to specify allowed cipher list
2012-08-20 21:50:03 +09:00
Tatsuhiro Tsujikawa
fce4be9555
shrpx: Change default values of -f and -b option
...
-f now defaults to 0.0.0.0,3000. -b now defaults to 127.0.0.1,80.
2012-08-03 22:20:59 +09:00
Tatsuhiro Tsujikawa
0b3eca7d40
shrpx: Fix netbsd compile warning
2012-08-02 02:07:51 +09:00
Tatsuhiro Tsujikawa
fd9f5991f5
shrpx: Fill initial values for flags
2012-08-02 01:32:33 +09:00
Tatsuhiro Tsujikawa
4623413a99
shrpx: Added --backlog option
2012-08-02 01:28:59 +09:00
Tatsuhiro Tsujikawa
0c10528ca3
shrpx: Add syslog support
2012-08-02 01:20:18 +09:00
Tatsuhiro Tsujikawa
7962c1bf6c
shrpx: drop root priviledgs after loading private key
2012-08-02 00:29:37 +09:00
Tatsuhiro Tsujikawa
75c9840644
shrpx:: Use LOG() instead of std::cerr
2012-08-02 00:26:24 +09:00
Tatsuhiro Tsujikawa
1dd61d5973
shrpx: Support configuration file
...
By default, configuration file is /etc/shrpx/shrpx.conf. It can be
overridden using --conf option. See shrpx.conf.sample to know how to
write shrpx.conf. The configurations given in shrpx.conf will be
overridden by the options specified in cmmand-line.
2012-08-02 00:06:41 +09:00
Tatsuhiro Tsujikawa
f3587e1591
shrpx: Added --pid-file and --user option
...
--pid-file option saves PID to the specified file. user option is
--used to drop root privileges.
2012-08-01 01:55:31 +09:00
Tatsuhiro Tsujikawa
05e6d527b1
Fix compile error on netbsd
...
Include config.h from sources under examples. Added kevent.udata type
check.
2012-07-27 22:11:13 +09:00
Tatsuhiro Tsujikawa
51c4f4f5b0
shrpx: Added --frontend-spdy-window-bits option
2012-07-26 23:18:37 +09:00
Tatsuhiro Tsujikawa
f89112b5e9
shrpx: Added --backend-keep-alive-timeout option
2012-07-26 23:08:51 +09:00
Tatsuhiro Tsujikawa
17802de7f7
spdyd: Use SSL_CTX_use_certificate_chain_file
2012-07-26 21:46:05 +09:00
Tatsuhiro Tsujikawa
24453cf0bd
Don't add X-Forwarded-Spdy in SPDY proxy mode
2012-07-24 00:08:12 +09:00
Tatsuhiro Tsujikawa
75f93d8333
shrpx: Check spdylay_session_want_{read,write}
2012-07-19 01:59:55 +09:00
Tatsuhiro Tsujikawa
4bc200f9dc
Added simple accesslog
2012-07-18 01:08:05 +09:00
Tatsuhiro Tsujikawa
b7335a949f
shrpx: Log stream id for spdy connection
2012-07-18 00:16:52 +09:00
Tatsuhiro Tsujikawa
c7fe718dcf
Added read/write timeout options for both upstream and downstream
2012-07-18 00:13:11 +09:00
Tatsuhiro Tsujikawa
f10848febd
shrpx: Handle the case when evbuffer_add() returned -1
2012-07-17 00:12:31 +09:00
Tatsuhiro Tsujikawa
a95981f3da
shrpx: Check the fatal error inside downstream http-parser callback
2012-07-16 23:55:08 +09:00
Tatsuhiro Tsujikawa
f56cfc920e
shrpx: fixed read/write timeouts of upstream are interchanged.
2012-07-16 23:48:02 +09:00
Tatsuhiro Tsujikawa
6fb76831c0
shrpx: Increased default downstream timeout to 60s
2012-07-16 23:43:43 +09:00
Tatsuhiro Tsujikawa
0f5a37fa2a
shrpx: Added error handling when error_reply() failed
2012-07-16 23:29:48 +09:00
Tatsuhiro Tsujikawa
e817995063
shrpx: Log fatal error in spdy upstream
2012-07-16 23:03:07 +09:00
Tatsuhiro Tsujikawa
2afc50bf49
shrpx: Specify long enough timeout to emulate removing timeout
...
It seems that specifying NULL to bufferevent_set_timeouts() does not
remove timeout, which is described in bufferevent book (but it is not
described in header). As a workaround, we specify long enough timeout
to emulate removing timeout.
2012-07-16 18:42:42 +09:00
Tatsuhiro Tsujikawa
d36f9f1c5b
shrpx: Load certificate chain from file
2012-07-16 18:31:52 +09:00
Tatsuhiro Tsujikawa
06eac680e8
Prefer SPDY/2 for spdy proxy connection
...
Chrome SPDY/3 flow control does not work well in spdy proxy
connection.
2012-07-15 21:39:19 +09:00
Tatsuhiro Tsujikawa
7f2b9ae75d
Ensure that upstream->send() is called in callback.
...
Log error string in case of network error
2012-07-15 21:15:28 +09:00
Tatsuhiro Tsujikawa
317ad6f4ad
Fixed free() for new. Any 2xx status means success in CONNECT response
2012-07-15 03:32:05 +09:00
Tatsuhiro Tsujikawa
7465289919
Enable SSL/TLS session caching. Share SSL_CTX access workers.
2012-07-14 23:24:03 +09:00
Tatsuhiro Tsujikawa
06ed17ff26
shrpx: fixed timeout change is not triggered when tunneling.
...
For upstream timeout, it seems OpenSSL backed bufferevent does not
remove timeout. Set large timeout as a workaround.
2012-07-14 21:47:28 +09:00
Tatsuhiro Tsujikawa
17699b1fdf
shrpx: Create absoluteURI only when path starts with '/'
2012-07-14 17:36:55 +09:00
Tatsuhiro Tsujikawa
3fc0e4dd6b
spdycat: Use TLSv1_client_method
...
Jetty refuses connection if SSLv23_client_method is used.
2012-07-13 23:05:24 +09:00
Tatsuhiro Tsujikawa
a47feb22cb
Don't prepend scheme and host to path if path starts with scheme.
...
This is just a sanity check in caes of path contains absoluteURI.
2012-07-12 23:44:30 +09:00
Tatsuhiro Tsujikawa
e5249538a6
Added --add-x-forwarded-for option.
...
This option append X-Forwarded-For header field to the downstream
request.
2012-07-12 23:39:11 +09:00
Tatsuhiro Tsujikawa
63adaad93a
Updated usage
2012-07-11 22:13:36 +09:00
Tatsuhiro Tsujikawa
e5de9c9708
Issue RST_STREAM if the remote end of tunnel is closed.
2012-07-11 19:48:07 +09:00