Daniel Stenberg
9e154297ff
shrpx: make nghttpx -v show ngtcp2 and nghttp3 version as well
...
... if HTTP/3 support is built in.
2021-11-05 18:38:39 +09:00
Tatsuhiro Tsujikawa
c4828dbd7c
h2load: Fix assertion failure with the latest ngtcp2
2021-11-03 21:23:26 +09:00
Tatsuhiro Tsujikawa
089fc81d72
Change qlog file extension to .sqlog
...
Change qlog file extension to .sqlog because upstream ngtcp2 moves to
JSON-SEQ streaming qlog format.
2021-10-29 21:59:54 +09:00
Tatsuhiro Tsujikawa
c20d175ff2
Guard RLIMIT_MEMLOCK usage
2021-10-29 21:39:17 +09:00
Tatsuhiro Tsujikawa
f8474b25f0
nghttpx: Reduce dgram size if sendmsg fails with EINVAL or EMSGSIZE
2021-10-18 22:37:16 +09:00
Tatsuhiro Tsujikawa
65d3c9047f
Replace TLSv23_method with TLS_method
2021-10-17 17:21:09 +09:00
Tatsuhiro Tsujikawa
8c36971ea9
Compile with OPENSSL_NO_DEPRECATED and fix memory leaks
2021-10-17 17:12:14 +09:00
Tatsuhiro Tsujikawa
9d41896663
nghttpx: Rename --frontend-quic-server-id to --quic-server-id
2021-10-17 14:48:46 +09:00
Tatsuhiro Tsujikawa
0cc7c598ff
src: TLS_DEFAULT_CIPHERSUITES was deprecated in OpenSSL 3.0.0
2021-10-17 14:30:27 +09:00
Tatsuhiro Tsujikawa
1ce9efc644
nghttpx: Set SCT data when built with boringssl
2021-10-15 23:06:24 +09:00
Tatsuhiro Tsujikawa
7055501efd
src: Enable HTTP/3 with boringssl
2021-10-15 22:50:34 +09:00
Tatsuhiro Tsujikawa
c790ee64a4
src: Prefer #ifdef for a single condition
2021-10-15 22:50:26 +09:00
Tatsuhiro Tsujikawa
9fb05d5ea2
Fix compile error under mac os
2021-10-15 19:54:08 +09:00
Tatsuhiro Tsujikawa
3742acaf39
nghttpx: Fix wrong SSL_CTX object usage
2021-10-15 18:19:07 +09:00
Tatsuhiro Tsujikawa
d8282de229
nghttpx: Respect !tls-no-postpone-early-data with boringssl
2021-10-15 00:13:49 +09:00
Tatsuhiro Tsujikawa
3a721a9dd5
nghttpx: Send session ticket after handshake with boringssl
2021-10-15 00:13:49 +09:00
Tatsuhiro Tsujikawa
0b6092446b
src: Compile with boringssl for non-http3 build
2021-10-14 23:44:27 +09:00
Tatsuhiro Tsujikawa
fa7a916ef3
nghttpx: Store initial_rtt in ev_tstamp for consistency
2021-10-10 17:34:58 +09:00
Tatsuhiro Tsujikawa
69c4187100
nghttpx: Add --frontend-quic-initial-rtt option
2021-10-10 17:24:02 +09:00
Tatsuhiro Tsujikawa
d7af5924ff
nghttpx: Extend QUIC server ID to 4 bytes
2021-10-10 16:05:48 +09:00
Tatsuhiro Tsujikawa
cb6aea9aa9
Compile with -DNDEBUG
2021-10-06 21:28:00 +09:00
Tatsuhiro Tsujikawa
f4290c6497
Fix compile error
2021-10-04 23:23:03 +09:00
Tatsuhiro Tsujikawa
086b85b8f9
nghttpx: Unload BPF program after setting up all QUIC listeners
2021-10-04 22:39:31 +09:00
Tatsuhiro Tsujikawa
abee658a60
nghttpx: Make sure that ngtcp2_conn_update_pkt_tx_time is called
2021-10-02 19:22:53 +09:00
Tatsuhiro Tsujikawa
87bdc21667
nghttpx: Add --worker-process-grace-shutdown-period option
2021-10-02 18:55:51 +09:00
Tatsuhiro Tsujikawa
0266c458a3
nghttpx: Add --max-worker-processes option
2021-09-29 22:12:10 +09:00
Tatsuhiro Tsujikawa
d9c7631dcb
Fix compile error
2021-09-29 21:05:46 +09:00
Tatsuhiro Tsujikawa
df064fa2ba
nghttpx: Unload BPF objects on reload to avoid running out of memlock
2021-09-29 19:33:16 +09:00
Tatsuhiro Tsujikawa
318e0c8447
Guard msghdr_get_local_addr with ENABLE_HTTP3 macro
2021-09-28 22:35:53 +09:00
Tatsuhiro Tsujikawa
19b4da6401
nghttpx: Support h3-29
2021-09-26 16:00:47 +09:00
Tatsuhiro Tsujikawa
886dc93f18
nghttpx: Fail h3 connection attempt if no ALPN is negotiated
2021-09-26 16:00:47 +09:00
Tatsuhiro Tsujikawa
f6da0d342a
nghttpx: Fix crash if no keying materials are specified in file
2021-09-24 18:19:01 +09:00
Tatsuhiro Tsujikawa
7271537a15
nghttpx: Add --rlimit-memlock option
2021-09-24 18:13:38 +09:00
Tatsuhiro Tsujikawa
d0e8efac4d
nghttpx: Fix bug that reading QUIC secret file fails without line separator
2021-09-24 17:50:28 +09:00
Tatsuhiro Tsujikawa
308c73bfa2
nghttpx: Read QUIC keying materials from file
...
Add --frontend-quic-secret-file to read QUIC keying materials from
file. --frontend-quic-connection-id-encryption-key was removed in
favor of this new option.
2021-09-23 11:18:07 +09:00
Tatsuhiro Tsujikawa
c40309ae8e
nghttpx: optarg should be allocated per configuration
2021-09-23 11:01:01 +09:00
Tatsuhiro Tsujikawa
1c7a4ecc7f
nghttpx: Rename generate_encrypted_quic_connection_id to generate_quic_connection_id
2021-09-21 23:09:03 +09:00
Tatsuhiro Tsujikawa
80cc623eb2
nghttpx: Allocate server id in Connection ID
2021-09-21 23:08:55 +09:00
Tatsuhiro Tsujikawa
657d94b992
Fix compile error with libressl
2021-09-21 19:48:38 +09:00
Tatsuhiro Tsujikawa
6a099ee50a
nghttpx: QUIC requires TLS
2021-09-18 19:27:47 +09:00
Tatsuhiro Tsujikawa
9a6b623c25
Update doc
2021-09-18 15:19:15 +09:00
Tatsuhiro Tsujikawa
fd107ab47c
nghttpx: Refactor quic
2021-09-17 19:35:31 +09:00
Tatsuhiro Tsujikawa
1320d7efab
nghttpx: Do not accept new connection during graceful shutdown period
2021-09-17 18:30:16 +09:00
Tatsuhiro Tsujikawa
7cdc6cfa6d
nghttpx: Store Retry in CloseWait to rate limit its transmission
2021-09-17 17:52:05 +09:00
Tatsuhiro Tsujikawa
e167e07a9a
nghttpx: Check that HTTP response message finished safely
2021-09-16 22:00:36 +09:00
Tatsuhiro Tsujikawa
8f9744c07b
nghttpx: Pass hashed_scid_ to CloseWait
2021-09-15 23:40:46 +09:00
Tatsuhiro Tsujikawa
684a219e39
nghttpx: Tweak close wait handling
2021-09-15 23:07:46 +09:00
Tatsuhiro Tsujikawa
0961295a82
nghttpx: Transform odcid into hashed cid
2021-09-15 22:19:52 +09:00
Tatsuhiro Tsujikawa
fd060eb9f1
nghttpx: Connection ID encryption
2021-09-15 21:31:03 +09:00
Tatsuhiro Tsujikawa
1feeda4514
nghttpx: Fix bug that worker process never exit
2021-09-15 21:00:41 +09:00
Tatsuhiro Tsujikawa
6d29de0f1e
Fix compile error
2021-09-14 17:22:25 +09:00
Tatsuhiro Tsujikawa
74162850f0
nghttpx: Compile with the latest nghttp3
2021-09-14 16:45:11 +09:00
Tatsuhiro Tsujikawa
8903bd1e8a
nghttpx: Deal with error from ngtcp2_conn_read_pkt
2021-09-13 23:09:38 +09:00
Tatsuhiro Tsujikawa
8f419a4869
nghttpx: Add --frontend-quic-congestion-controller option
2021-09-13 21:35:46 +09:00
Tatsuhiro Tsujikawa
4541134c88
Add missing include
2021-09-13 21:19:00 +09:00
Tatsuhiro Tsujikawa
b5e5972c2a
Update doc
2021-09-12 18:11:11 +09:00
Tatsuhiro Tsujikawa
525d59fdf6
Remove util::make_hostport returning std::string
2021-09-12 18:07:54 +09:00
Tatsuhiro Tsujikawa
00f65afe20
nghttpx: Fix incorrect quic frontend address matching
2021-09-12 18:07:54 +09:00
Tatsuhiro Tsujikawa
fc402f5804
Cleanup
2021-09-12 16:55:56 +09:00
Tatsuhiro Tsujikawa
f74b6d9a43
nghttpx: Add --frontend-quic-require-token option
2021-09-12 15:04:54 +09:00
Tatsuhiro Tsujikawa
ccaf2333ca
nghttpx: Enable websocket over h3
2021-09-11 17:56:25 +09:00
Tatsuhiro Tsujikawa
0066bf8eed
h2load: Cleanup
2021-09-11 17:00:11 +09:00
Tatsuhiro Tsujikawa
bc8f88f5fa
Compile with the latest ngtcp2
2021-09-11 16:57:14 +09:00
Tatsuhiro Tsujikawa
10c9d917ad
Fix compile error
2021-09-10 22:55:33 +09:00
Tatsuhiro Tsujikawa
cc5f752f2d
nghttpx: Use secure random to create websocket nonce
2021-09-10 22:43:03 +09:00
Tatsuhiro Tsujikawa
39b1a51ff4
Compile with the latest ngtcp2
2021-09-09 23:41:27 +09:00
Tatsuhiro Tsujikawa
a2e2e46af3
Build with OpenSSL v3.0.0
2021-09-09 18:35:35 +09:00
Tatsuhiro Tsujikawa
9d53a7e0a6
Fix compile error
2021-09-07 14:55:30 +09:00
Tatsuhiro Tsujikawa
7ea57eaa18
h2load: Add --max-udp-payload-size option
2021-09-07 14:42:35 +09:00
Tatsuhiro Tsujikawa
1657a425c1
Build with the latest ngtcp2
2021-09-07 13:40:41 +09:00
Tatsuhiro Tsujikawa
e929e92245
nghttpx: Fix typo
2021-09-06 20:59:11 +09:00
Tatsuhiro Tsujikawa
5994e48b28
nghttpx: Add more logging for token validation
2021-09-06 20:58:35 +09:00
Tatsuhiro Tsujikawa
50662c9c9e
nghttpx: Guard TLS1_3_VERSION
2021-09-06 20:07:38 +09:00
Tatsuhiro Tsujikawa
addd614e94
nghttpx: Add qlog support
2021-09-06 20:06:38 +09:00
Tatsuhiro Tsujikawa
fbb228050a
nghttpx: Fix uninitialized dnf fields
2021-09-06 00:12:04 +09:00
Tatsuhiro Tsujikawa
9bda8e266e
nghttpx: Remove BoringSSL early data for QUIC for now
2021-09-05 22:37:20 +09:00
Tatsuhiro Tsujikawa
d977005126
nghttpx: Disable session cache for QUIC since it solely uses ticket
2021-09-05 22:36:43 +09:00
Tatsuhiro Tsujikawa
8b579bc7d0
nghttpx: Always renew TLS ticket for TLSv1.3
2021-09-05 22:26:45 +09:00
Tatsuhiro Tsujikawa
ab16a11aa3
nghttpx: Add --frontend-quic-early-data, disable early data by default
2021-09-05 21:39:45 +09:00
Tatsuhiro Tsujikawa
85347e12de
nghttpx: Rate limit Stateless Reset transmission
2021-09-05 19:23:50 +09:00
Tatsuhiro Tsujikawa
67afbbbaa6
nghttpx: Use ngtcp2_cid as a hash key
2021-09-05 19:00:26 +09:00
Tatsuhiro Tsujikawa
b743ee21f0
nghttpx: Implement closing and draining state
2021-09-05 18:01:27 +09:00
Tatsuhiro Tsujikawa
72702a042e
Cleanup
2021-09-05 17:47:50 +09:00
Tatsuhiro Tsujikawa
649c69fa9e
nghttpx: Do not send CONNECTION_CLOSE on idle timeout
2021-09-04 19:04:22 +09:00
Tatsuhiro Tsujikawa
47edc33b0d
nghttpx: Use ULOG
2021-09-04 17:48:02 +09:00
Tatsuhiro Tsujikawa
2afad0c650
nghttpx: Use ngtcp2_conn_get_client_initial_dcid
2021-09-04 17:43:24 +09:00
Tatsuhiro Tsujikawa
fb53a6a686
Follow the latest ngtcp2 change
2021-09-04 17:37:00 +09:00
Tatsuhiro Tsujikawa
c2e29ad06f
nghttpx: Enforce worker-frontend-connections for QUIC
2021-08-31 19:48:26 +09:00
Tatsuhiro Tsujikawa
ef3066a1bd
nghttpx: Update doc
2021-08-31 19:24:41 +09:00
Tatsuhiro Tsujikawa
65db5b94e4
nghttpx: Document "quic" parameter
2021-08-31 19:24:41 +09:00
Tatsuhiro Tsujikawa
54fd0efdfe
nghttpx: Return error if quic param is specified when quic is disabled
2021-08-31 17:15:44 +09:00
Tatsuhiro Tsujikawa
f0d1e50d5a
cmake: Build bpf
2021-08-31 17:15:37 +09:00
Tatsuhiro Tsujikawa
e01d61484d
Fix compile error with cmake
2021-08-31 16:49:55 +09:00
Tatsuhiro Tsujikawa
51f83087f2
nghttpx: Add missing HTTP/3 timer handling
2021-08-31 14:19:31 +09:00
Tatsuhiro Tsujikawa
17012654e1
nghttpx: Add HTTP/3 graceful shutdown
2021-08-31 14:06:59 +09:00
Tatsuhiro Tsujikawa
e998d125ab
nghttpx: Send CONNECTION_CLOSE if Retry token validation failed
2021-08-31 13:23:52 +09:00
Tatsuhiro Tsujikawa
95601d3179
nghttpx: Utilize the latest ngtcp2 features
2021-08-31 12:13:06 +09:00
Tatsuhiro Tsujikawa
0566a5833b
nghttpx: Fix infinite loop
2021-08-30 18:39:28 +09:00
Tatsuhiro Tsujikawa
58d81dbc52
nghttpx: Send Stateless Reset in response to Short packet only for now
2021-08-29 21:08:41 +09:00
Tatsuhiro Tsujikawa
2b4dc4496f
nghttpx: Forward QUIC UDP datagram to lingering worker in graceful shutdown
...
Forward QUIC UDP datagram to lingering worker process which is in
graceful shutdown. Both SIGHUP and SIGUSR2 work. To make this work
correctly, eBPF is required.
2021-08-29 18:35:41 +09:00