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
Tatsuhiro Tsujikawa
e8cefa9238
Handle too long upstream request headers
2012-06-05 22:13:22 +09:00
Tatsuhiro Tsujikawa
be1c6bb968
Removed commented send()
2012-06-05 21:25:05 +09:00
Jim Morrison
b1c0287c84
Enable writing partial buffers.
2012-06-04 13:01:36 -07:00
Tatsuhiro Tsujikawa
c04c09ff3e
Avoid too large buffering in upstream output.
2012-06-05 03:11:43 +09:00
Tatsuhiro Tsujikawa
fad7f51f8d
Initial commit of shrpx: SPDY/HTTPS to HTTP reverse proxy
...
Put libhtparse in examples/htparse
2012-06-04 23:48:31 +09:00
Tatsuhiro Tsujikawa
08f76b09e3
Aded included <functional> from spdy.h
2012-05-25 21:55:15 +09:00