Tatsuhiro Tsujikawa
717e7ae8b2
nghttpx: Add --frontend-http3-read-timeout option
...
Add --frontend-http3-read-timeout option. QUIC idle timeout option
will be added later.
2021-08-27 18:29:06 +09:00
Tatsuhiro Tsujikawa
bed00fb8e1
nghttpx: Use buf.size()
2021-08-27 18:20:17 +09:00
Tatsuhiro Tsujikawa
2010401b81
nghttpx: Send APPLICATION_CLOSE on app read timeout
2021-08-27 18:19:44 +09:00
Tatsuhiro Tsujikawa
80c9d46b70
Update doc
2021-08-26 22:10:02 +09:00
Tatsuhiro Tsujikawa
1517c77d9c
h2load: Do not use legacy QUIC transport_parameters code point
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
51bf79bb8c
nghttpx: Add --http2-altsvc option
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
d88eadff13
nghttpx: Make sure each quic frontend endpoint has a unique address
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
0d35e8e15e
nghttpx: Do not allow quic on UNIX domain socket for now
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
a0066a1ccf
nghttpx: Send NEW_TOKEN and very token from client
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
7a5082e8c4
nghttpx: Clean up confusing dcid/scid mixup
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
dfc345756c
nghttpx: Send Retry packet
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
137da6adf6
nghttpx: Generate and set QUIC secrets
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
8563ec5a7a
nghttpx: Add options to specify eBPF program file path and disable eBPF
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
8ac4bee3bc
nghttpx: Add eBPF program to steer QUIC datagram to a correct socket
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
579fb478b5
nghttpx: Fix heap-use-after-free on initialization failure
2021-08-26 13:26:37 +09:00
Tatsuhiro Tsujikawa
33c580ebbf
Forward QUIC packet to the correct worker
2021-08-23 22:21:48 +09:00
Tatsuhiro Tsujikawa
29694e2945
nghttpx: Fix build error regarding RAND_bytes
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
9fe08d3913
nghttpx: Fix build without mruby
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
c07a0d9005
Allow HTTP/3 in cmake build
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
cbd45478e0
Cleanup flags/libs order
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
6f243108e9
nghttpx: Fix CI build error
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
102d960106
nghttpx: Compile without UDP_SEGMENT
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
4eced8a393
Build without HTTP/3 support
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
f46984d218
nghttpx: Enable QUIC 0RTT
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
44663a7e6e
nghttpx: Handle backend reset and early response
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
446124f378
nghttpx: Process request body
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
c45f2085d5
nghttpx: Fix veccnt assertion
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
3abf62b41a
nghttpx: Send stateless reset token in TP
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
9b2982510e
nghttpx: Send stateless reset
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
48bb1ebe01
nghttpx: Add configuration to enable ngtcp2 logging (no cmd-line opt yet)
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
fe4c6e4c56
nghttpx: Generate stateless reset secret
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
37bd9ffc48
nghttpx: Implement http_reset_stream and http_send_stop_sending
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
b0548b4944
nghttpx: Complete HTTP request and response
2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa
12425556c1
nghttpx: Extend Downstream stream_id to 64 bits
2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa
3ed2da562b
nghttpx: Add HTTP3 skeleton and minor SSL_CTX fix
2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa
354f46d8c5
nghttpx: Add QUIC timeouts
2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa
e70f0db83c
nghttpx: QUIC handshake now works
2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa
49b8c56fde
nghttpx: Use existing QUIC error object
2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa
940fdd5573
nghttpx: Read quic packet
2021-08-21 18:34:04 +09:00
Tatsuhiro Tsujikawa
ef53db201e
nghttpx: Create QUIC SSL_CTX
...
We choose an easier route to duplicate SSL_CTX for QUIC.
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
aeb0b0728d
nghttpx: Add QUICConnectionHandler and HTTP3Upstream skeleton
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
8b2746abf1
nghttpx: Add QUICListener
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
01da060496
nghttpx: Create quic server socket
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
20cbd269c4
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
7c2cd43dfa
Compile with the latest ngtcp2 and nghttp3
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
de5feff720
Compile with the latest nghttp3
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
7342de837d
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
e914b50d16
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
f79554f918
Count outgoing packets
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
213cc9c4b5
Enlarge receive buffer
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
05f3b8fa0f
Adopt ngtcp2_crypto_recv_crypto_data_cb
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
bc53624133
Do not specify max_udp_payload_size for now
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
5944d034da
Avoid std::ostringstream
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
df400feb61
make clang-format
2021-08-21 18:33:39 +09:00
Hajime Fujita
48e10c57da
h2load: Add qlog output support
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
1eb818b64c
QUIC UDP GSO
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
e584d9cd2e
Measure the number of UDP datagrams sent and received
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
09a2e50fc2
Support both h3 and h3-29 ALPN and their corresponding QUIC versions
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
35d8ef33ef
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
f1ff2af47a
Deal with 0 length HTTP data write case
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
d2d2c31ec7
Follow ngtcp2_conn_writev_stream specification change
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
95102c1c6c
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
fa8c16ae01
Compile with the latest ngtcp2 and nghttp3
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
7ca2a8213d
h2load: Enable --data for HTTP/3
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
1c8e5046e5
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
6b4be30c64
Cap --window-bits to 26 for QUIC
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
6ce952ad4a
Set X25519 as default
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
5ae62dd9d7
Cap --window-bits to 23 for QUIC
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
51987107a2
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
e4a8c4813c
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
3d708f7dc4
Compile with the latest ngtcp2
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
10ec8c9558
Compile with the latest ngtcp2
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
3900f758ea
QUIC needs termination without session
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
a3346fbad8
Compile with latest ngtcp2
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
813d5e1ddf
Compile with latest ngtcp2
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
acb661df72
Fix bug for platform which does not have SOCK_NONBLOCK
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
4bc7710de9
Fix compile error
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
b8c1f4f138
Compile with latest ngtcp2
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
387b67472c
Compile latest ngtcp2 crypto lib
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
b2c099bac6
Use ngtcp2_conn_handle_expiry
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
1acebb1cc4
draft-28
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
8d89a8dcb0
Assert ndatalen
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
a60a34331b
Revert "Ensure complete packet is written"
...
This reverts commit c19046b09f8e66713f0e067f986ed92d676eb6b6.
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
749015eb86
Ensure complete packet is written
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
4b45142e72
Fix compile error with the latest ngtcp2
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
2722119776
Handle stream limit increment
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
0b61e46f95
draft-25
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
5c0da486b9
Remove unused member function declaration
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
9701e5e6e4
Fix compile error
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
a93eb8b8f5
Optimize QUIC write
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
c591ab5e6f
Only count STREAM data as bytes_total
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
b3fbebed55
Use correct type
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
4621f88441
Follow ngtcp2 API update
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
747edb3a99
quic draft-24
2021-08-21 18:33:38 +09:00
Lucas Pardue
73fd20a608
Add SSLKEYLOGFILE support
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
78c2c33b9e
Compile with the latest ngtcp2
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
610add1f59
Send SNI
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
f7414700f4
Small adjustment of successful HTTP/3 error code
...
Non-zero successful error code is a bit annoying because ngtcp2 does
not know it. Enforcing successful application error code to 0 is a
lot simpler.
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
53a860a5bf
Simplify write_quic
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
1aae450303
Handle sending just fine
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
b3a2f8837c
Avoid setting 0 to repeat field
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
33d2a93294
Add missing acked_stream_data_offset callback
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
2da0db70de
Fix return value
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
ff7067f3a3
Compile with the latest ngtcp2 and ngtcp2_crypto_openssl
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
6b8b152444
Remove error handling which does not happen
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
3dbe3b3e7f
Follow ngtcp2 API changes and use libngtcp2_crypto_openssl
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
7aa4bff97b
quic: Support TLS_AES_128_CCM_SHA256
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
6002fac9f1
h2load: Add --tls13-ciphers option
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
c3eb7e1634
Handle preferred address
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
05a6ee2b49
Show ngtcp2 debug log with --verbose
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
94d76c042d
h2load: Add --groups option
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
23ccaa6191
Always call write_quic when timer expires
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
476e9d0a48
h3-22
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
7cd5ed6fc6
Handle Retry
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
750c23f319
quic: Configure settings with options
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
bb36df8b2e
h2load: Fix possible deadlock
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
9c748d20d5
[WIP] Add QUIC to h2load
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa
80c9c705b8
Merge pull request #1607 from nghttp2/dnf
...
Add "dnf" (= "do not forward") parameter to backend option
2021-08-14 17:35:20 +09:00
Tatsuhiro Tsujikawa
138419d232
Add "dnf" (= "do not forward") parameter to backend option
2021-08-14 17:16:21 +09:00
lhuang04
c2d4a53b67
Fix prototype mismatch for function 'file_read_callback'
...
Summary:
The [data_flags](https://github.com/lhuang04/nghttp2/blob/master/src/HttpServer.cc#L1078 ) is defined as `uint32_t*` in definition, but delared as [int*](https://github.com/lhuang04/nghttp2/blob/master/src/HttpServer.h#L245 ) in the prototype.
```
stderr: error: no previous prototype for function 'file_read_callback' [-Werror,-Wmissing-prototypes]
ssize_t file_read_callback(nghttp2_session *session, int32_t stream_id,
^
```
Test Plan:
Reviewers:
Subscribers:
Tasks:
Tags:
2021-08-07 07:24:21 -07:00
Tatsuhiro Tsujikawa
29cbf8b83f
clang-format-12
2021-08-04 15:04:58 +09:00
Tatsuhiro Tsujikawa
fa16e66a6d
nghttpx: Fix max distance in weight group/address cycle comparison
2021-07-14 23:26:33 +09:00
Tatsuhiro Tsujikawa
40af31da4c
nghttpx: Set connect_blocker and live_check after shuffling addresses
2021-07-14 23:09:28 +09:00
Tatsuhiro Tsujikawa
43a47aa08b
Do not return HPE_USER from where it is prohibited
2021-05-13 13:59:44 +09:00
Tatsuhiro Tsujikawa
cef458c31c
Replace black-list with block-list
...
nghttpx --no-http2-cipher-black-list and
--client-no-http2-cipher-black-list are deprecated and replaced with
--no-http2-cipher-block-list and --client-no-http2-cipher-block-list
respectively.
2021-04-02 22:35:37 +09:00
Tatsuhiro Tsujikawa
617a5766a2
Replace master with main
2021-04-02 22:08:19 +09:00
Tatsuhiro Tsujikawa
f1d6733554
Initialize Config rps field
2021-03-10 13:45:20 +09:00
Tatsuhiro Tsujikawa
5f3bcb1f58
Add precious variables for libev and jemalloc and use JEMALLOC_CFLAGS
2021-03-06 22:32:17 +09:00
Tatsuhiro Tsujikawa
e406a2c15e
Update doc
2021-02-23 17:41:27 +09:00
Tatsuhiro Tsujikawa
6cdc13d6c6
h2load: Add --rps option
2021-02-23 16:40:17 +09:00
Tatsuhiro Tsujikawa
92944f7847
h2load: Allow unit in -D option
2021-02-23 15:31:54 +09:00
Tatsuhiro Tsujikawa
276792a812
Remove unnecessary function
...
on_stream_close is called after on_frame_not_send_callback with
success=false without this function.
2021-02-23 14:32:43 +09:00
Tatsuhiro Tsujikawa
2f2b211766
Add LIBTOOL_LDFLAGS configure variable
2021-02-21 21:32:48 +09:00
Tatsuhiro Tsujikawa
40679cf638
Merge pull request #1553 from nghttp2/nghttpx-fix-accesslog-method
...
nghttpx: Remove trailing white space after $method log variable
2021-02-08 23:02:19 +09:00
Tatsuhiro Tsujikawa
50a1121d81
nghttpx: Remove trailing white space after $method log variable
2021-02-08 22:22:05 +09:00
Jan Kundrát
5b9892a902
docs: asio: fix some typos
...
Really just a s/pusedo/pseudo/g and s/exluced/excluded/g.
2021-01-15 00:39:39 +01:00
Tatsuhiro Tsujikawa
d32e20bcaa
nghttpx: Make sure that Pool gets cleared when all buffers are returned
2020-12-16 23:27:58 +09:00
Tatsuhiro Tsujikawa
81fb015391
nghttpx: Choose ECDSA cert if compatible signature algorithm available
2020-12-13 23:40:43 +09:00
Tatsuhiro Tsujikawa
6787423edc
nghttpx: Add workaround to include ':' in backend pattern
2020-11-27 22:15:46 +09:00
Tatsuhiro Tsujikawa
da7959c2e8
nghttpx: Deal with the case when h2 backend is retired before it is initialized
2020-11-15 11:19:07 +09:00
Tatsuhiro Tsujikawa
4e3c61ef4d
nghttpx: Add accesslog variables to record request path without query
...
This commit the following variables to construct request line without
including query component:
* $method
* $path
* $path_without_query
* $protocol_version
2020-09-19 23:58:37 +09:00
Tatsuhiro Tsujikawa
7b4de401d2
nghttpx: Check worker wide blocker before creating new downstream connection
2020-09-19 23:22:14 +09:00
Tatsuhiro Tsujikawa
7df73a5d90
nghttpx: mrb_run was removed
2020-09-02 22:12:45 +09:00
Tatsuhiro Tsujikawa
d5550e946d
Amend f1d8547b29
...
Better handling of tls and early data buffer
2020-07-14 19:47:08 +09:00
Tatsuhiro Tsujikawa
62411f5a6e
nghttpx: Set client_handler to special frontend objects
2020-07-14 01:13:29 +09:00
Tatsuhiro Tsujikawa
e9465f0ee5
Revert "nghttpx: Fix ubsan error"
...
This reverts commit 14dfeee4ed
.
2020-07-14 01:13:29 +09:00
Tatsuhiro Tsujikawa
14dfeee4ed
nghttpx: Fix ubsan error
2020-07-14 00:12:07 +09:00
Tatsuhiro Tsujikawa
f1d8547b29
nghttpx: Fix stall when TLS follows after proxy protocol
...
This fixes that nghttpx stalls when TLS handshake and data follow
after proxy protocol header and no extra read notification is
triggered (e.g., just small 1 HTTP request).
2020-07-13 23:39:17 +09:00
Tatsuhiro Tsujikawa
abe80e371e
nghttpx: Fix logging integer
2020-06-10 20:56:33 +09:00
Tatsuhiro Tsujikawa
854e9fe395
nghttpx: Always call init_forwarded_for
...
Always call init_forwarded_for to get the default when source address
in PROXY protocol is ignored. This ensures that forwarded header
field has the same value as x-forwarded-for.
2020-04-18 17:16:45 +09:00