Tatsuhiro Tsujikawa
1ff9de4c87
nghttpx: Backend address selection with weight
2019-01-21 22:23:19 +09:00
Simon Frankenberger
34482ed4df
Fix compilation with boringssl
2019-01-18 20:12:57 +01:00
Tatsuhiro Tsujikawa
ab2aa5672b
Fix test failure
...
Now http_parser_parse_url returns nonzero if empty URI is given.
2019-01-17 23:16:49 +09:00
Tatsuhiro Tsujikawa
e9c9838cdc
nghttpx: Pool h1 backend connection per address
...
Pool HTTP/1.1 backend connection per address and reuse it only when
the next round robin index refers to this address. Previously if
there is a pooled connection, there is no round robin selection.
2019-01-14 22:20:58 +09:00
Tatsuhiro Tsujikawa
803d4ba948
Merge branch 'nghttpx-randomize-roundrobin-order'
2019-01-14 22:17:12 +09:00
Tatsuhiro Tsujikawa
732245e562
make clang-format
2019-01-12 00:11:31 +09:00
Tatsuhiro Tsujikawa
fdcdb21c38
nghttpx: Randomize backend address round robin order per thread
2019-01-11 22:36:45 +09:00
Tatsuhiro Tsujikawa
11d0533cfc
nghttpx: Ensure that cert serial does not exceed 20 bytes
2019-01-05 10:03:44 +09:00
Josh Braegger
5b2efc0a12
Fix getting long serial numbers for openssl < 1.1
...
From https://www.ietf.org/rfc/rfc5280.txt
> As noted in Section 4.1.2.2, serial numbers can be expected to
> contain long integers. Certificate users MUST be able to handle
> serialNumber values up to 20 octets in length. Conforming CAs MUST
> NOT use serialNumber values longer than 20 octets.
Without this, nghttpx will fatal.
jbraeg$ openssl x509 -in ~/test_certs/client.crt -serial -noout
serial=E0CFDFC7CEA10DF8AAF715C37FAEB410
jbraeg$ curl -k --key ~/test_certs/client.key --cert ~/test_certs/client.crt https://192.168.98.100:3000/ ; echo
curl: (56) Unexpected EOF
...
Assertion failed: n == b.size() (shrpx_tls.cc: get_x509_serial: 2051)
2019-01-03T20:25:21.289Z 1 1 f84316ae NOTICE (shrpx_log.cc:895) Worker process: [9] exited abnormally with status 0x06; exit status 0; signal Aborted(6)
2019-01-03T20:25:21.290Z 1 1 f84316ae NOTICE (shrpx.cc:4311) Shutdown momentarily
2019-01-03 13:20:29 -08:00
Tatsuhiro Tsujikawa
124c7848c0
nghttpx: Add missing return
2018-12-11 22:52:34 +09:00
Tatsuhiro Tsujikawa
f3f40840b3
nghttpx: Fix broken trailing slash handling
...
nghttpx allows a pattern with trailing slash to match a request path
without it. Previously, under certain pattern registration, this does
not work.
2018-12-09 17:07:28 +09:00
Jeff 'Raid' Baitis
2c1570595e
Fix for compilation against modern LibreSSL
2018-12-02 13:30:42 -08:00
Tatsuhiro Tsujikawa
302abf1b46
h2load: Fix compile error with gcc
2018-11-23 14:39:51 +09:00
Tatsuhiro Tsujikawa
089a03be42
h2load: Write log file with write(2)
2018-11-23 13:08:38 +09:00
dawg
d1b3a83f59
h2load: add an option to write per-request logs
2018-11-23 12:11:00 +09:00
Pedro Santos
6800d317e7
added access to the number of the current server port
2018-11-23 10:56:21 +09:00
Tatsuhiro Tsujikawa
f51e696e4a
asio: Add stop() to listen_and_serve doc
2018-11-18 17:30:35 +09:00
Tatsuhiro Tsujikawa
a433b132fc
Merge pull request #1260 from nghttp2/h2load-non-final-response
...
h2load: Handle HTTP/1 non-final response
2018-11-15 17:32:15 +09:00
Tatsuhiro Tsujikawa
6cad1b243b
nghttpx: Write mruby send_info early
2018-11-15 10:17:47 +09:00
Tatsuhiro Tsujikawa
3c393dca58
nghttpx: Fix assertion failure on mruby send_info with HTTP/1 frontend
2018-11-15 10:17:41 +09:00
Tatsuhiro Tsujikawa
172924457f
h2load: Handle HTTP/1 non-final response
2018-11-15 10:13:19 +09:00
Tatsuhiro Tsujikawa
dcbe0c690f
nghttpx: Simplify move ctor and operator
2018-11-02 15:40:53 +09:00
Tatsuhiro Tsujikawa
2996c28456
nghttpx: Cleanup
2018-11-02 15:16:36 +09:00
Tatsuhiro Tsujikawa
42e8ceb656
nghttpx: Convert API status code to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
1daf9ce8b7
nghttpx: Convert WorkerEventType to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
d68edf56c0
nghttpx: Convert MemcachedStatusCode to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
0c4e9fef29
nghttpx: Convert memcached op to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
571404c6e8
nghttpx: Convert MemcachedParseState to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
4d562b773b
nghttpx: Convert LogFragmentType to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
e62258713e
nghttpx: Convert connection check status to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
4bd075defd
nghttpx: Convert Http2Session state to enum class
2018-11-02 14:14:48 +09:00
Tatsuhiro Tsujikawa
b46a324943
nghttpx: Convert FreelistZone to enum class
2018-10-17 14:19:58 +09:00
Tatsuhiro Tsujikawa
4bd44b9cdf
nghttpx: Convert dispatch state to enum class
2018-10-17 14:19:58 +09:00
Tatsuhiro Tsujikawa
1b42110d4f
nghttpx: Make Downstream state enum class
2018-10-17 14:19:58 +09:00
Tatsuhiro Tsujikawa
0735ec55f3
nghttpx: Convert shrpx_connect_proto to enum class
2018-10-17 14:19:58 +09:00
Tatsuhiro Tsujikawa
00554779e1
nghttpx: Convert DNSResolverStatus to enum class
2018-10-17 14:19:58 +09:00
Tatsuhiro Tsujikawa
0963f38935
nghttpx: Convert SerialEventType to enum class
2018-10-17 14:19:58 +09:00
Tatsuhiro Tsujikawa
1abfa3ca5f
nghttpx: Make TLS handshake state enum class
2018-10-17 08:52:27 +09:00
Tatsuhiro Tsujikawa
f2159bc2c1
nghttpx: Convert UpstreamAltMode to enum class
2018-10-17 08:38:55 +09:00
Tatsuhiro Tsujikawa
b0eb68ee9e
nghttpx: Convert shrpx_forwarded_node_type to enum class
2018-10-16 23:10:17 +09:00
Tatsuhiro Tsujikawa
e7b7b037f6
nghttpx: Convert shrpx_cookie_secure to enum class
2018-10-16 23:06:59 +09:00
Tatsuhiro Tsujikawa
5e4f434fd8
nghttpx: Convert shrpx_session_affinity to enum class
2018-10-16 23:03:17 +09:00
Tatsuhiro Tsujikawa
20ea964f2f
nghttpx: Convert shrpx_proto to enum class
2018-10-16 22:59:34 +09:00
Tatsuhiro Tsujikawa
d105619bc3
src: Remove extra braces if possible
2018-10-15 23:46:33 +09:00
Tatsuhiro Tsujikawa
ec5729b1fa
Use std::make_unique
2018-10-15 23:02:44 +09:00
Tatsuhiro Tsujikawa
46576178a3
Don't send Transfer-Encoding to pre-HTTP/1.1 clients
2018-10-14 22:57:54 +09:00
Tatsuhiro Tsujikawa
5e925f873e
Update doc
2018-10-14 22:57:11 +09:00
Tatsuhiro Tsujikawa
153531d4d0
nghttpx: Use the same type as standard stream operator<<
2018-10-07 22:19:00 +09:00
Tatsuhiro Tsujikawa
7c8cb3a0ce
nghttpx: Improve CONNECT response status handling
2018-10-04 12:04:15 +09:00
Tatsuhiro Tsujikawa
aeb92bbbe2
nghttpx: Add read/write-timeout parameters to backend option
2018-09-30 12:32:43 +09:00
Tatsuhiro Tsujikawa
fc7489e044
nghttpx: Fix mruby parameter validation
2018-09-30 12:30:19 +09:00
Tatsuhiro Tsujikawa
87ac872fdc
nghttpx: Update doc
2018-09-30 12:28:43 +09:00
Tatsuhiro Tsujikawa
c278adde7a
nghttpx: Log error when mruby file cannot be opened
2018-09-30 12:23:01 +09:00
Tatsuhiro Tsujikawa
f94d720909
Merge pull request #1234 from nghttp2/nghttpx-rfc8441
...
nghttpx: Implement RFC 8441 Bootstrapping WebSocket with HTTP/2
2018-09-29 11:54:47 +09:00
Tatsuhiro Tsujikawa
02566ee383
nghttpx: Update doc
2018-09-29 11:42:37 +09:00
Tatsuhiro Tsujikawa
3002f31b1f
src: Add debug output for SETTINGS_ENABLE_CONNECT_PROTOCOL
2018-09-29 11:39:49 +09:00
Tatsuhiro Tsujikawa
d2a594a753
nghttpx: Implement RFC 8441 Bootstrapping WebSocket with HTTP/2
2018-09-29 11:35:41 +09:00
Tatsuhiro Tsujikawa
a42faf1cc2
nghttpx: Write TLS alert during handshake
2018-09-23 18:01:38 +09:00
Tatsuhiro Tsujikawa
88ff8c69a0
Update mruby 1.4.1
2018-09-16 22:54:09 +09:00
Tatsuhiro Tsujikawa
a63558a1eb
nghttpx: Call OCSP_response_get1_basic only when OCSP status is successful
2018-09-16 22:19:27 +09:00
Tatsuhiro Tsujikawa
3575a1325e
nghttpx: Fix crash with plain text HTTP
2018-09-15 12:16:23 +09:00
Tatsuhiro Tsujikawa
9c824b87fe
nghttpx: Get rid of std::stringstream from Log
2018-09-14 22:58:48 +09:00
Tatsuhiro Tsujikawa
ed7c9db2a6
nghttpx: Add mruby env.tls_handshake_finished
2018-09-09 22:59:35 +09:00
Tatsuhiro Tsujikawa
5b42815afb
nghttpx: Strip incoming Early-Data header field by default
2018-09-09 22:37:22 +09:00
Tatsuhiro Tsujikawa
cfe7fa9a75
nghttpx: Add --tls13-ciphers and --tls-client-ciphers options
2018-09-09 16:35:47 +09:00
Tatsuhiro Tsujikawa
cb8a9d58fd
src: Remove TLSv1.3 ciphers from DEFAULT_CIPHER_LIST
...
TLSv1.3 ciphers are treated differently from the ciphers for TLSv1.2
or earlier.
2018-09-09 15:53:04 +09:00
Tatsuhiro Tsujikawa
9b03c64f68
nghttpx: Should postpone early data by default
2018-09-08 19:22:30 +09:00
Tatsuhiro Tsujikawa
b8eccec62d
nghttpx: Disable OpenSSL anti-replay
2018-09-08 19:10:59 +09:00
Tatsuhiro Tsujikawa
9f21258720
Specify SSL_CTX_set_max_early_data and add an option to change max value
2018-09-08 17:59:28 +09:00
Tatsuhiro Tsujikawa
47f6012407
nghttpx: Add an option to postpone early data processing
2018-09-08 17:57:21 +09:00
Tatsuhiro Tsujikawa
770e44de4d
Implement draft-ietf-httpbis-replay-02
...
nghttpx sends early-data header field when forwarding requests which
are received in TLSv1.3 early data, and the TLS handshake is still in
progress.
2018-09-08 17:54:35 +09:00
Tatsuhiro Tsujikawa
2ab319c137
Don't hide error code from openssl
2018-09-08 17:54:35 +09:00
Tatsuhiro Tsujikawa
3992302432
Remove SSL_ERROR_WANT_WRITE handling
2018-09-08 17:54:35 +09:00
Tatsuhiro Tsujikawa
b30f312a70
Honor SSL_read semantics
2018-09-08 17:54:35 +09:00
Tatsuhiro Tsujikawa
c5cdb78a95
nghttpx: Add TLSv1.3 0-RTT early data support
2018-09-08 17:54:35 +09:00
Tatsuhiro Tsujikawa
e959e7338e
src: Refactor utos
2018-09-01 22:29:11 +09:00
Tatsuhiro Tsujikawa
fb9a204de2
nghttpx: Fix compile error without mruby
2018-08-31 21:58:35 +09:00
Tatsuhiro Tsujikawa
7417fd71a4
nghttpx: Per-pattern not per-backend
2018-08-28 17:50:01 +09:00
Tatsuhiro Tsujikawa
45acc922eb
clang-format
2018-08-27 21:34:18 +09:00
Tatsuhiro Tsujikawa
214d089910
Merge branch 'master' of https://github.com/akonskarm/nghttp2 into akonskarm-master
2018-08-27 21:30:36 +09:00
Tatsuhiro Tsujikawa
31fd707d0c
nghttpx: Fix broken healthmon frontend
2018-08-27 21:21:55 +09:00
Alexandros Konstantinakis-Karmis
9a2e38e058
fix code for reuse addr on asio client
2018-08-27 10:53:14 +03:00
Tatsuhiro Tsujikawa
6195d747ce
nghttpx: Share mruby context if it is compiled from same file
2018-08-24 23:11:21 +09:00
Tatsuhiro Tsujikawa
fb97f596e1
nghttpx: Allocate mruby file because fopen requires NULL terminated string
2018-08-24 23:08:15 +09:00
Tatsuhiro Tsujikawa
0ccc7a770d
nghttpx: Move blocked request data to request buffer for API request
2018-08-24 23:07:43 +09:00
Tatsuhiro Tsujikawa
32826466f5
nghttpx: Fix crash with API request
2018-08-24 23:07:16 +09:00
Tatsuhiro Tsujikawa
0422f8a844
nghttpx: Fix worker process crash with neverbleed write error
2018-08-24 22:22:53 +09:00
Tatsuhiro Tsujikawa
e329479a99
Merge pull request #1215 from nghttp2/mruby-per-backend
...
nghttpx: Support per-backend mruby script
2018-08-23 18:41:40 +09:00
Alexandros Konstantinakis-Karmis
866ac6ab27
add option reuse addr in local endpoint configuration of asio client
2018-08-23 18:19:10 +09:00
Tatsuhiro Tsujikawa
b574ae6aa2
nghttpx: Support per-backend mruby script
2018-08-23 18:13:29 +09:00
Tatsuhiro Tsujikawa
32d7883c47
nghttpx: Downstream::request_buf_full: take into account blocked_request_buf_
2018-08-23 10:55:42 +09:00
Tatsuhiro Tsujikawa
9b24e19763
nghttpx: Choose h1 protocol if headers have been sent to backend on retry
2018-08-22 23:20:13 +09:00
Tatsuhiro Tsujikawa
9d5b781df6
Fix stream reset if data from client is arrived before dconn is attached
2018-08-22 22:32:25 +09:00
Alexandros Konstantinakis-Karmis
c6d8c4013c
support definition of local endpoint for cleartext client session
2018-08-02 16:18:23 +09:00
Tatsuhiro Tsujikawa
880f948684
Enable IndentPPDirectives
2018-06-09 16:21:30 +09:00
Tatsuhiro Tsujikawa
fc94018b97
clang-format-6.0
2018-06-09 16:02:26 +09:00
Tatsuhiro Tsujikawa
388e785822
Fix typo
2018-06-03 13:10:32 +09:00
Tatsuhiro Tsujikawa
325612bcde
nghttp: Receive ORIGIN frame
2018-05-12 12:35:08 +09:00
Tatsuhiro Tsujikawa
3e4f257b91
asio: Support client side SNI
2018-05-03 20:29:16 +09:00
Tatsuhiro Tsujikawa
c65ca20a49
h2load: -r and --duration are mutually exclusive
2018-04-28 00:30:43 +09:00