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
Tatsuhiro Tsujikawa
a143133d43
Use http_parser for tunneling connection transparently
2012-07-11 18:46:00 +09:00
Tatsuhiro Tsujikawa
12ab6863c4
Use http-parser instead of htparse
2012-07-11 18:32:04 +09:00
Tatsuhiro Tsujikawa
9fd49121ee
Added http-parser
2012-07-11 18:31:32 +09:00
Tatsuhiro Tsujikawa
2c5f40b175
Added SPDY proxy mode.
...
To enable SPDY proxy, use --spdy-proxy option. At time of this
writing, the only browser which supports SSL/SPDY proxy is Chrome.
Removed Location and Host header field rewrite.
2012-07-11 16:20:16 +09:00
Tatsuhiro Tsujikawa
db8a62c0d7
htparse: enhancements and bug fixes
...
CONNECT method supported. Fixed _str8cmp and _str9cmp comparison.
Support no content-length case. Fixed hook_uri_run args. Run
hook_on_hdrs_complete if no header field is present. Supported empty
header value. Case insensitive match for particular header values
(e.g., keep-alive).
2012-07-11 16:02:08 +09:00
Tatsuhiro Tsujikawa
fe5dfe533f
Updated htparse
2012-07-01 18:37:12 +09:00
Piotr Sikora
ebfc313a26
spdycat: add support for Server Name Indication (SNI).
...
Signed-off-by: Piotr Sikora <piotr.sikora@frickle.com>
2012-06-25 15:05:12 +00:00
Tatsuhiro Tsujikawa
27dd0b7405
Don't forward keep-alive, connection and proxy-connection header fields
2012-06-15 20:56:30 +09:00
Tatsuhiro Tsujikawa
9d84db230d
Enclose downstream IPv6 numeric address in hostport with square blackets
2012-06-14 23:01:47 +09:00
Tatsuhiro Tsujikawa
14d1a5a547
Reverted accidental chagnes in spdycat.cc
2012-06-14 20:07:00 +09:00
Tatsuhiro Tsujikawa
9893b7e2b0
Modify Location header field if redirect URI refers to downstream
2012-06-13 00:08:28 +09:00
Tatsuhiro Tsujikawa
eb9458bba9
Adjust read/write timeout depending on the request/response state
2012-06-12 23:02:01 +09:00
Tatsuhiro Tsujikawa
22f5bb3ebb
Added implementation note for deletion of downstream
2012-06-12 22:43:28 +09:00
Tatsuhiro Tsujikawa
6702d34651
Enable EV_READ for downstream connection.
...
Removed Downstream::force_resume_read() calls. Added missing delete
downstream in shrpx_spdy_upstream.cc. In on_stream_close_callback,
delete downstream even if response state != MSG_COMPLETE. This may
cause segmentaiton fault.
2012-06-12 21:56:41 +09:00
Tatsuhiro Tsujikawa
0ffa4bcb46
Added missing shrpx.h and shrpx_error.h to shrpx_SOURCES
2012-06-11 23:36:02 +09:00
Tatsuhiro Tsujikawa
7b8768bd3a
Fixed compile error with --enable-maintainer-mode
2012-06-11 23:12:23 +09:00
Tatsuhiro Tsujikawa
d8637958dd
Added missing \r\n after chunk
2012-06-10 02:51:42 +09:00
Tatsuhiro Tsujikawa
1fa784c709
Handle Expect: 100-continue
2012-06-10 02:33:34 +09:00
Tatsuhiro Tsujikawa
e871768d84
Disable read for downstream by default to avoid timeout before request
2012-06-10 01:46:33 +09:00
Tatsuhiro Tsujikawa
c29dd0b80f
Added SPDY/3 flow control
2012-06-10 01:36:30 +09:00
Tatsuhiro Tsujikawa
c2785955ca
HTTPS: Flow control in request chain
2012-06-10 00:50:50 +09:00
Tatsuhiro Tsujikawa
bff22fd1e9
Check upstream header length only in Downstream::INITIAL state.
2012-06-10 00:30:44 +09:00
Tatsuhiro Tsujikawa
9d19e2bfe9
Rewrite connection pooling
2012-06-09 23:14:00 +09:00
Tatsuhiro Tsujikawa
183cce1707
Use bitmask instead of std::vector
2012-06-08 22:52:08 +09:00
Tatsuhiro Tsujikawa
6df709b441
Added -pthread to AM_LDFLAGS for examples
2012-06-08 22:44:09 +09:00
Tatsuhiro Tsujikawa
f2a6b3c9d6
Set OpenSSL locking_function.
2012-06-08 22:41:24 +09:00
Tatsuhiro Tsujikawa
1199db690e
gcc-4.7 fix
2012-06-08 21:40:03 +09:00
Tatsuhiro Tsujikawa
5ea6ea476e
Rewritten to_uint32 using shift
2012-06-08 02:10:02 +09:00
Tatsuhiro Tsujikawa
01c6f7af4c
Code cleanup
2012-06-08 00:39:55 +09:00
Tatsuhiro Tsujikawa
17025a96d9
SPDY: Use keep-alive connection to downstream server
2012-06-08 00:36:19 +09:00
Tatsuhiro Tsujikawa
695dd50612
HTTPS: Keep-Alive connection to downstream servers.
...
Reset status = 0 when entering s_status state in htparse_run
2012-06-07 23:42:11 +09:00
Tatsuhiro Tsujikawa
9303cca430
Send back Connection: keep-alive for the request with http/1.0 keep-alive
2012-06-07 22:40:42 +09:00
Tatsuhiro Tsujikawa
7319620160
Added SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION and TCP_NODELAY
2012-06-07 22:39:57 +09:00
Tatsuhiro Tsujikawa
3a39745784
Add via header field to SPDY upstream response
2012-06-07 02:29:00 +09:00
Tatsuhiro Tsujikawa
c240368ee5
Change severity level of getaddrinfo failure to INFO
2012-06-07 02:16:30 +09:00
Tatsuhiro Tsujikawa
5f5fb18b77
Option value fixes.
...
Set -n default value to 1. Show missing default values. Use -c value
in SPDY session.
2012-06-07 02:09:59 +09:00
Tatsuhiro Tsujikawa
673f9c7df0
Merge branch 'rproxy'
2012-06-07 01:59:20 +09:00
Tatsuhiro Tsujikawa
18f557f743
Conditional compilation with libevent-openssl
...
Require Libevent-openssl 2.0.8 because we use
evconnlistener_set_error_cb().
2012-06-07 01:43:02 +09:00
Tatsuhiro Tsujikawa
b189e291a9
Added htparse library
...
htparse is written by Mark Ellzey and part of libevhtp.
https://github.com/ellzey/libevhtp
The included code are modified by me for bugfixes.
See my fork:
https://github.com/tatsuhiro-t/libevhtp/tree/master/htparse
2012-06-07 01:43:02 +09:00
Tatsuhiro Tsujikawa
e37ec7b765
Append Via header field. Don't modify Server header field.
2012-06-07 01:43:02 +09:00
Tatsuhiro Tsujikawa
908ec2e695
Made -D option work. Get private key and certificate file from cmd-line
2012-06-07 01:43:02 +09:00
Tatsuhiro Tsujikawa
8e0a1c91a3
Added command-line options
2012-06-07 01:43:02 +09:00
Tatsuhiro Tsujikawa
8da4938031
Listen both on IPv6 and IPv4 if possible
2012-06-07 01:43:02 +09:00
Tatsuhiro Tsujikawa
28ed887463
Don't sleep. Just log the error
2012-06-06 21:44:08 +09:00
Tatsuhiro Tsujikawa
faee23a925
Fixed assertion failure. Resume downstream read on SPDY stream close.
2012-06-06 21:39:55 +09:00
Tatsuhiro Tsujikawa
4ac689526b
Don't modify user-agent
2012-06-06 21:11:54 +09:00
Tatsuhiro Tsujikawa
ac84b68189
Enable SSL partial write
2012-06-06 21:10:13 +09:00
Tatsuhiro Tsujikawa
117a39d35b
Zeroed wev
2012-06-06 02:30:20 +09:00
Tatsuhiro Tsujikawa
71a3a70c02
Handle error when fd runs out
...
The default log level is now WARNING.
2012-06-06 02:23:07 +09:00
Tatsuhiro Tsujikawa
8f1c49e75c
Added multi thread support
2012-06-06 01:26:04 +09:00
Tatsuhiro Tsujikawa
c0b564abe4
Tidied up
2012-06-05 22:55:19 +09:00
Tatsuhiro Tsujikawa
67669bf3ca
Delete downstream if SPDY stream has been already closed
2012-06-05 22:46:47 +09:00