Tatsuhiro Tsujikawa
a1bb48770c
nghttpx: Add tests for PROXY protocol handling
2015-09-06 23:11:07 +09:00
Tatsuhiro Tsujikawa
d05b77b36c
nghttpx: More logging for PROXY protocol handling
2015-09-06 21:44:45 +09:00
Tatsuhiro Tsujikawa
ce53bd239e
nghttpx: Implement PROXY protocol version 1
...
Use --accept-proxy-protocol to enable PROXY protocol handling
2015-09-06 21:30:19 +09:00
Tatsuhiro Tsujikawa
39287314d3
nghttpx: Fix missing `break`
2015-09-06 18:34:10 +09:00
Tatsuhiro Tsujikawa
c30d252f94
nghttpx: Show warning if certain feature is not compiled in
2015-09-06 16:59:57 +09:00
Tatsuhiro Tsujikawa
1b63e6d478
nghttpx: Call request phase hook for pushed resource as well
2015-09-06 15:21:36 +09:00
Tatsuhiro Tsujikawa
28defbfb4a
nghttpx: Allow link header server push for HTTP/2 backend as well
2015-09-06 15:12:20 +09:00
Tatsuhiro Tsujikawa
1df682140c
nghttpx: Don't do mruby push with --no-server-push option
2015-09-06 00:06:48 +09:00
Tatsuhiro Tsujikawa
ef1595672c
nghttpx: Add Request#push in mruby scripting
...
Refactor Http2Upstream so that we can share code between link header
field based push and mruby push.
2015-09-06 00:05:07 +09:00
Tatsuhiro Tsujikawa
77958eab46
Merge branch 'master' into nghttpx-mruby
2015-09-05 19:04:04 +09:00
Tatsuhiro Tsujikawa
8f41accf41
nghttpx: Don't initiate push if client disabled push
2015-09-05 19:02:55 +09:00
Tatsuhiro Tsujikawa
e19d5efced
nghttpx: Allow absolute URI in Link header field for push
2015-09-05 19:01:02 +09:00
Tatsuhiro Tsujikawa
69c3e2114a
Again fix mruby build properly; pass CC, CXX and LD to build_config.rb
2015-09-05 18:22:46 +09:00
Tatsuhiro Tsujikawa
d076d54f67
nghttpx: Don't add mruby related CPPFLAGS and LDFLAGS if it is disabled
...
Setting unused -L really makes libtool get angry
2015-09-05 18:03:05 +09:00
Tatsuhiro Tsujikawa
aba7e9e7f9
Add mruby as submodule; disable mruby by default for now
2015-09-05 17:49:10 +09:00
Tatsuhiro Tsujikawa
4ac7152f94
nghttpx: Fix build failure without mruby
2015-09-05 01:32:26 +09:00
Tatsuhiro Tsujikawa
b4709b9e8c
nghttpx: Fix crash without mruby script
2015-09-05 01:20:32 +09:00
Tatsuhiro Tsujikawa
21e1af2ae7
nghttpx: Delete replaced header fields
2015-09-05 01:18:18 +09:00
Tatsuhiro Tsujikawa
226a09b04a
nghttpx: Use gc arena save/restore when creating headers hash
2015-09-05 01:14:17 +09:00
Tatsuhiro Tsujikawa
587f37a597
nghttpx: Remove unused includes
2015-09-05 01:12:51 +09:00
Tatsuhiro Tsujikawa
97f488a5c7
nghttpx: Add Env.phase method
2015-09-05 01:11:20 +09:00
Tatsuhiro Tsujikawa
45e0d42c51
nghttpx: Check allowed operations per phase
2015-09-05 01:07:29 +09:00
Tatsuhiro Tsujikawa
bddc4a0a04
nghttpx: Rewrite API; introduce Env object
2015-09-05 00:53:42 +09:00
Tatsuhiro Tsujikawa
a9338f1c0e
nghttpx: Fix hang when error page is sent on response phase hook error
2015-09-04 22:34:40 +09:00
Tatsuhiro Tsujikawa
4ad00200a2
Merge branch 'master' into nghttpx-mruby
2015-09-04 22:22:06 +09:00
Tatsuhiro Tsujikawa
6b38f7e0d2
nghttpx: Fix crash with multi workers and QUIT signal
2015-09-04 22:21:10 +09:00
Tatsuhiro Tsujikawa
d8ca0a8d47
nghttpx: Add clear_headers and add_header methods to Request and Response
2015-09-04 02:53:02 +09:00
Tatsuhiro Tsujikawa
9e685a2734
nghttpx: Various test failures
2015-09-04 02:47:25 +09:00
Tatsuhiro Tsujikawa
d722a09581
nghttpx: Rename mruby script options
2015-09-04 01:19:57 +09:00
Tatsuhiro Tsujikawa
5967667e9e
nghttpx: Allow empty path assignment in mruby code
2015-09-04 01:00:27 +09:00
Tatsuhiro Tsujikawa
d044c58558
nghttpx: Detect mruby presence and guard mruby related code with ifdef
2015-09-04 00:54:41 +09:00
Tatsuhiro Tsujikawa
200217d8ea
nghttpx: Store empty string to path for server-wide OPTIONS request
...
This change is required to show path attribute to mruby script. It is
desirable to construct URI from parts. Just checking method and path
is "*" is awkward.
2015-09-04 00:14:09 +09:00
Tatsuhiro Tsujikawa
02bb2c3e83
nghttpx: Create authority from host or authority-form for CONNECT request
2015-09-03 23:36:49 +09:00
Tatsuhiro Tsujikawa
ad65121496
nghttpx: Fix assertion error because of empty scheme
2015-09-03 22:52:33 +09:00
Tatsuhiro Tsujikawa
3235b88253
nghttpx: Fix assertion error because of empty scheme
2015-09-03 22:51:24 +09:00
Tatsuhiro Tsujikawa
5e3ab6da5a
nghttpx: Perhaps this looks right, but not sure
2015-09-03 22:44:41 +09:00
Tatsuhiro Tsujikawa
6f9c9f8518
nghttpx: Fix assertion failure when response was commited early
2015-09-03 22:41:51 +09:00
Tatsuhiro Tsujikawa
65f2b16132
nghttpx: More freedom for custom response headers
2015-09-03 22:29:16 +09:00
Tatsuhiro Tsujikawa
05a761b628
nghttpx: Add Request.remote_addr which returns client remote address
2015-09-03 02:02:28 +09:00
Tatsuhiro Tsujikawa
14f5240d8f
nghttpx: Update doc
2015-09-03 01:37:47 +09:00
Tatsuhiro Tsujikawa
baadec5ef4
nghttpx: Add response mruby hook
2015-09-03 01:33:52 +09:00
Tatsuhiro Tsujikawa
d20229d9b9
nghttpx: Handle block is not passed
2015-09-03 00:43:42 +09:00
Tatsuhiro Tsujikawa
e06af02573
nghttpx: Add Response mruby object
2015-09-03 00:40:14 +09:00
Tatsuhiro Tsujikawa
5cd34920b7
nghttpx: Add Request class accessors
2015-09-02 23:22:33 +09:00
Tatsuhiro Tsujikawa
e436caf0bb
nghttpx: Don't forward request if response was commited in mruby hook
2015-09-02 23:22:26 +09:00
Tatsuhiro Tsujikawa
f0d41a5ac2
nghttpx: Handle nil given to request.set_header as value
2015-09-02 22:41:48 +09:00
Tatsuhiro Tsujikawa
068529586d
nghttpx: Split up request class definition to dedicated files
2015-09-02 22:38:57 +09:00
Tatsuhiro Tsujikawa
45cdb10c46
nghttpx: Use ruby block to run request hook
2015-09-02 22:25:04 +09:00
Tatsuhiro Tsujikawa
2170d958d5
nghttpx: Return copied string for safety
2015-09-02 21:14:49 +09:00
Tatsuhiro Tsujikawa
9d78691936
nghttpx: Fix copy-and-paste bug
2015-09-02 21:14:20 +09:00
Tatsuhiro Tsujikawa
1508c50a45
nghttpx: Add basic infrastructure for mruby support
2015-09-02 02:45:15 +09:00
Tatsuhiro Tsujikawa
e7bc269e97
Merge branch 'master' into LPardue-issue-339
2015-09-02 02:35:36 +09:00
Tatsuhiro Tsujikawa
e2557059e5
h2load: Fix crash with --timing-script option
2015-09-02 02:34:32 +09:00
Tatsuhiro Tsujikawa
0c4e26fd24
Merge branch 'issue-339' of https://github.com/LPardue/nghttp2 into LPardue-issue-339
2015-09-02 02:24:10 +09:00
Lucas Pardue
3002674bac
h2load: Improve checking for timing script imput, prevent false positive in certain situations
2015-09-01 17:15:41 +00:00
Tatsuhiro Tsujikawa
e1f7643c92
nghttpx: Fix memory leak
2015-09-02 02:07:29 +09:00
Tatsuhiro Tsujikawa
d70eb14ce0
nghttpx: Drop connection before TLS finish if h2 requirement is not fulfilled
2015-08-31 23:30:40 +09:00
Tatsuhiro Tsujikawa
36d562927f
nghttpx: Use nghttp2::ssl::DEFAULT_CIPHER_LIST for backend TLS connection
2015-08-23 23:03:29 +09:00
Tatsuhiro Tsujikawa
4a99853021
nghttpd: Fix crash without SSL/TLS
2015-08-21 22:50:15 +09:00
Tatsuhiro Tsujikawa
4b4a0f7492
nghttpd: GOAWAY if SSL/TLS requirements for HTTP/2 are not met
2015-08-20 21:21:56 +09:00
Tatsuhiro Tsujikawa
1006caf8e9
Merge branch 'master' of https://github.com/thinred/nghttp2 into thinred-master
2015-08-20 19:11:07 +09:00
Tatsuhiro Tsujikawa
780a0381ba
h2load: Exit if --timing-script and -r option is used together
2015-08-20 19:07:03 +09:00
Tatsuhiro Tsujikawa
2423b21c71
Merge branch 'issue-332' of https://github.com/LPardue/nghttp2 into LPardue-issue-332
2015-08-20 18:53:10 +09:00
Lucas Pardue
08bf8a8f1a
Move input file validation. Timing script auto nreqs scale correctly with nclients.
2015-08-19 15:23:43 +00:00
Tatsuhiro Tsujikawa
1c12606e70
nghttpx: Don't allow blacked listed cipher suites for HTTP/2 connection
2015-08-19 23:42:43 +09:00
Tatsuhiro Tsujikawa
836b1de0d5
h2load: Remove trailing white spaces
2015-08-19 21:19:42 +09:00
Tatsuhiro Tsujikawa
12cecaa030
h2load: Remove trailing spaces and left conflict marker
2015-08-19 00:32:11 +09:00
Lucas Pardue
cd4758227d
Add Timing-script and base URI support
2015-08-18 15:16:50 +00:00
Tatsuhiro Tsujikawa
9da6c88d25
h2load: Use ev_timer_init
2015-08-18 21:34:33 +09:00
Tatsuhiro Tsujikawa
04aaaa3821
h2load: Remove trailing white spaces
2015-08-18 21:32:47 +09:00
Nora
727ba4906c
h2load adding timeout options
2015-08-18 01:52:22 -04:00
Tatsuhiro Tsujikawa
627d04fe6b
nghttpd: Return date header field for 304
2015-08-17 23:49:01 +09:00
Tatsuhiro Tsujikawa
165cab7a29
nghttpd: Support HEAD request
2015-08-17 23:47:35 +09:00
Tatsuhiro Tsujikawa
8ce8b2af46
src: Remove unused Memchunk::shrink
2015-08-15 00:57:58 +09:00
Tatsuhiro Tsujikawa
b37834c584
h2load: Use default Config values to show help
2015-08-14 23:22:26 +09:00
Tatsuhiro Tsujikawa
d197d115dc
h2load: Use floating point duration cast
2015-08-14 22:44:14 +09:00
nshoemaker
e1621584fa
Fixing -r > -n check for when -n is not specified.
2015-08-13 05:09:40 -07:00
Tomasz Buchert
97566ce4e3
nghttpx: make early copy of stderr
2015-08-13 11:01:37 +02:00
Tomasz Buchert
900dcf4ced
nghttpx: remove Android-specific code
2015-08-12 20:17:03 +02:00
Tomasz Buchert
06a0f3480e
nghttpx: better handle /dev/stderr and /dev/stdout
2015-08-12 20:16:57 +02:00
Tatsuhiro Tsujikawa
473311269d
nghttpx: Drop connection if client TLS handshake packet is too large
2015-08-13 01:24:59 +09:00
Tatsuhiro Tsujikawa
b8f05c89bd
nghttpx: App data in SSL is Connection, not ClientHandler
2015-08-13 00:42:59 +09:00
Tatsuhiro Tsujikawa
e91a576179
nghttpx: Rewrite TLS async handshake using memchunk buffers
2015-08-13 00:42:59 +09:00
Tatsuhiro Tsujikawa
2277cc771a
Merge branch 'openssl_no_ec' of https://github.com/yuki-kodama/nghttp2 into yuki-kodama-openssl_no_ec
2015-08-13 00:32:15 +09:00
Tatsuhiro Tsujikawa
f8c30d0229
nghttpx: Fix heap-use-after-free
2015-08-12 21:14:18 +09:00
yuuki-kodama
53b5ffa103
Guard ecdh use with !OPENSSL_NO_EC @asio_server_tls_context.cc
2015-08-12 15:32:54 +09:00
Tatsuhiro Tsujikawa
b384b76f66
nghttpx: Fix hmac_keylen should be 16 for aes-128-cbc
2015-08-12 00:38:07 +09:00
Tatsuhiro Tsujikawa
b406d2da9e
h2load: Stop timeout_watcher in Worker dtor
2015-08-11 23:51:08 +09:00
Tatsuhiro Tsujikawa
dd97b53554
h2load: Fix division by zero if -r > -n
2015-08-11 23:49:34 +09:00
Tatsuhiro Tsujikawa
0f7e84bb62
h2load: Always initialize timeout_watcher
2015-08-11 23:44:22 +09:00
Tatsuhiro Tsujikawa
81add96b1e
src: Fix bug in get_uint64
2015-08-11 23:42:32 +09:00
Tatsuhiro Tsujikawa
020e66b9da
nghttpx: Start read watcher after handshake
2015-08-11 23:14:48 +09:00
Tatsuhiro Tsujikawa
d2a63a88a0
nghttpx: Fix stall if read buffer has app data when handshake finished
2015-08-11 22:37:15 +09:00
Tatsuhiro Tsujikawa
8410f684fb
nghttpx: Drop connection if client hello is too large
2015-08-10 00:29:43 +09:00
Tatsuhiro Tsujikawa
ff44e211ed
nghttpx: Fix tls handshake bug
...
This fixes 2 things:
1. potential busy loop
2. disabling ticket is not working after resumption
2015-08-09 18:33:49 +09:00
Tatsuhiro Tsujikawa
2e7cee0faa
h2load: Code cleanup
2015-08-09 01:05:15 +09:00
Tatsuhiro Tsujikawa
50eac7bdf0
h2load: Fix -r does not work without -C option
2015-08-09 00:24:17 +09:00
Tatsuhiro Tsujikawa
846da5fb3f
h2load: Update doc
2015-08-08 23:44:47 +09:00
Tatsuhiro Tsujikawa
3e53cd189c
clang-format-3.5
2015-08-08 23:36:02 +09:00
Tatsuhiro Tsujikawa
0bbff5b738
nghttpx: Continue if push was failed
2015-07-31 21:25:43 +09:00
Tatsuhiro Tsujikawa
a152c6346d
Fix build error with Android NDK
2015-07-30 22:57:25 +09:00
Tatsuhiro Tsujikawa
c379b46a26
Remove monotonic_clock replacement macro for gcc-4.6
2015-07-29 21:19:33 +09:00
Tatsuhiro Tsujikawa
6446660113
nghttpx: Make record size timeout more durable to high load situation
2015-07-29 20:57:11 +09:00
Tatsuhiro Tsujikawa
d0a37d59a5
nghttpx: Disable TLS session ticket if ticket key is not available
2015-07-29 20:38:49 +09:00
Tatsuhiro Tsujikawa
a73cfd5f7b
nghttpx: Add reference to manual section for session resumption
2015-07-29 00:00:43 +09:00
Tatsuhiro Tsujikawa
a1288a5826
nghttpx: Rename --tls-ticket-cipher as --tls-ticket-key-cipher
2015-07-28 23:49:37 +09:00
Tatsuhiro Tsujikawa
80d96590c5
nghttpx: Update doc
2015-07-28 23:43:32 +09:00
Tatsuhiro Tsujikawa
6ad332b801
nghttpx: Call disconnect() when memcached connection cannot be made
2015-07-28 21:19:27 +09:00
Tatsuhiro Tsujikawa
f1b163a32c
nghttpx: Log notice level when TLS ticket key was retrieved from memcached
2015-07-28 02:19:14 +09:00
Tatsuhiro Tsujikawa
4d7be08585
nghttpx: Do some macro dance for IOV_MAX
2015-07-28 01:26:34 +09:00
Tatsuhiro Tsujikawa
a6fdca730d
nghttpx: Add options to set maximum retry and failure when getting ticket keys
2015-07-28 01:17:29 +09:00
Tatsuhiro Tsujikawa
4949dd4888
nghttpx: Add --tls-ticket-key-memcached-interval option
2015-07-28 01:02:33 +09:00
Tatsuhiro Tsujikawa
2f2a300e83
nghttpx: Add TLS ticket key sharing among nghttpx instances using memcached
2015-07-28 00:54:44 +09:00
Tatsuhiro Tsujikawa
a4a9cfd650
nghttpx: Change session cache key prefix
2015-07-27 21:18:12 +09:00
Tatsuhiro Tsujikawa
bb228c27de
Merge branch 'master' into memcached
...
Conflicts:
src/shrpx_ssl.cc
2015-07-27 21:16:02 +09:00
Tatsuhiro Tsujikawa
7152e0f6b8
nghttpx: Fix bug that decrypt only key is not considered
2015-07-27 21:13:02 +09:00
Tatsuhiro Tsujikawa
72cfdbc0fa
nghttpx: Fix compile error on travis (again)
2015-07-27 02:28:36 +09:00
Tatsuhiro Tsujikawa
f472e6ff48
nghttpx: Fix compile error on travis
2015-07-27 02:22:27 +09:00
Tatsuhiro Tsujikawa
1708d2e69e
nghttpx: Add doc
2015-07-27 02:14:52 +09:00
Tatsuhiro Tsujikawa
e3cdfd12ea
nghttpx: Use std::array for TicketKey
2015-07-27 02:12:07 +09:00
Tatsuhiro Tsujikawa
cd25c6846e
nghttpx: Create struct Address which holds struct sockaddr_union and length
2015-07-27 01:41:10 +09:00
Tatsuhiro Tsujikawa
efcd43a367
nghttpx: Don't enable read timer while connecting to HTTP/1 server
2015-07-27 01:18:52 +09:00
Tatsuhiro Tsujikawa
90b4b48c7e
nghttpx: Add shared session cache using memcached
2015-07-26 23:33:06 +09:00
Nora Shoemaker
12013508bf
Running clang-format
2015-07-24 15:35:11 -07:00
Nora Shoemaker
85e4151bca
manual merge
2015-07-24 15:17:22 -07:00
Nora Shoemaker
278247faa9
Starting a second earlier
2015-07-24 14:34:53 -07:00
Tatsuhiro Tsujikawa
adec2c06bf
nghttpx: Set SSL/TLS session timeout to 12 hours
2015-07-24 23:59:19 +09:00
Tatsuhiro Tsujikawa
6c8243f6d2
nghttpd: Add verbose output when SSL/TLS session is reused
2015-07-24 23:40:44 +09:00
Tatsuhiro Tsujikawa
afbb99ecf7
nghttpx: Enable session resumption on HTTP/2 backend
2015-07-24 23:40:27 +09:00
Tatsuhiro Tsujikawa
abce7c7210
nghttpd: Fix the bug that 304 response has non-empty body
2015-07-24 23:25:10 +09:00
Nora Shoemaker
ec617ae6e5
Getting rid of unused fields in config
2015-07-23 11:21:12 -07:00
Nora Shoemaker
d6786f75cb
Getting rid of unused fields in Worker
2015-07-23 11:01:09 -07:00
Nora Shoemaker
584f5f3734
Do not allow -r > -t
2015-07-23 10:37:51 -07:00
Nora Shoemaker
a04c67bcd6
Getting rid of print statements
2015-07-23 10:30:55 -07:00
Nora Shoemaker
8325c6ccdf
setting request number correctly:
2015-07-23 10:20:18 -07:00
Nora Shoemaker
30235f8809
Assigning clients to workers proportional to rate
2015-07-23 09:37:44 -07:00
Tatsuhiro Tsujikawa
9b63fc011e
nghttpx: Open log files by default configuration
2015-07-24 00:32:19 +09:00
Tatsuhiro Tsujikawa
cab6c7871c
nghttpx: Don't rewrite host header field by default
...
In reverse proxy usage, backend server most likely wants to see the
original header field. So this commit turns off host header rewrite
by default. --no-host-rewrite option is deprecated, and if it is
used, warning message is displayed. --host-rewrite option is added to
enable host rewrite.
2015-07-23 23:54:56 +09:00
Tatsuhiro Tsujikawa
04bd25d468
nghttpx: Simplify ticket handling between workers just using mutex
2015-07-23 23:13:29 +09:00
Tatsuhiro Tsujikawa
cd2c751f82
nghttpx: Generate new ticket key every 1hr and its life time is now 12hrs
2015-07-23 21:14:38 +09:00
Nora Shoemaker
65df3c63bf
Adding new rate and connection allocation to threads
2015-07-22 16:41:58 -07:00
Tatsuhiro Tsujikawa
44cbc785fc
nghttpx: Don't reuse backend connection if it is not clean
2015-07-22 21:41:16 +09:00
Nora Shoemaker
916e27489f
rate now working
2015-07-21 16:53:46 -07:00
Nora Shoemaker
650e463a49
First try with something working, still need to clean and test
2015-07-21 11:28:12 -07:00
Nora Shoemaker
52152ad96d
Can make h2load, but running into recursive loop problem
2015-07-21 11:06:33 -07:00
Tatsuhiro Tsujikawa
921e393dcd
src: Use <PATH> instead of <FILE> in usage text
2015-07-20 23:50:05 +09:00
Tatsuhiro Tsujikawa
0ec1b98f27
nghttpx: Reorder config fields
2015-07-20 23:15:01 +09:00
Tatsuhiro Tsujikawa
a8574fdef2
nghttpx: Use Use std::string instead of std::unique_ptr<char[]> for tls config
2015-07-20 23:15:01 +09:00
Tatsuhiro Tsujikawa
dd8ce1e9d2
nghttpx: Use std::unique_ptr<char[]> instead of raw char pointer
2015-07-20 21:37:23 +09:00
Tatsuhiro Tsujikawa
ca3444c34c
Fix compile error/warnings with gcc-4.7
2015-07-19 20:50:14 +09:00