Commit Graph

8474 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
7434a37016 Remove redundant semicolon 2025-09-28 12:08:38 +09:00
Tatsuhiro Tsujikawa
a2c47748f0 Merge pull request #2533 from nghttp2/iterators
src: Use std::ranges::begin and std::ranges::end consistently
2025-09-25 22:23:20 +09:00
Tatsuhiro Tsujikawa
1784c1c0d1 src: Use std::ranges::begin and std::ranges::end consistently 2025-09-25 21:39:50 +09:00
Tatsuhiro Tsujikawa
59a9534a2d Merge pull request #2532 from nghttp2/adopt-nghttp3_conn_read_stream2
src: Adopt nghttp3_conn_read_stream2
2025-09-25 20:31:28 +09:00
Tatsuhiro Tsujikawa
7fcbcd786e src: Adopt nghttp3_conn_read_stream2
Adopt nghttp3_conn_read_stream2 which requires nghttp3 v1.12.0.  To
pass the current timestamp, ngtcp2_conn_get_timestamp is used, which
requires ngtcp2 v1.16.0.
2025-09-25 18:56:05 +09:00
Tatsuhiro Tsujikawa
4e0738d24a Merge pull request #2531 from nghttp2/bump-ngtcp2
Bump ngtcp2 and its dependencies
2025-09-25 18:49:18 +09:00
Tatsuhiro Tsujikawa
1e0413f4a6 Bump ngtcp2 and its dependencies 2025-09-25 17:51:17 +09:00
Tatsuhiro Tsujikawa
06e7219d10 Merge pull request #2530 from nghttp2/examples-consistent-cond-macro-comments
examples: Consistent conditional macro comments
2025-09-24 23:35:58 +09:00
Tatsuhiro Tsujikawa
c06c069126 examples: Consistent conditional macro comments 2025-09-24 22:44:11 +09:00
Tatsuhiro Tsujikawa
d8ed2559f6 Merge pull request #2529 from nghttp2/sgi-daemonize
src: Move sgi _daemonize to util::daemonize
2025-09-24 21:52:41 +09:00
Tatsuhiro Tsujikawa
d829be3517 src: Move sgi _daemonize to util::daemonize
Move sgi _daemonize to util::daemonize so that we do not need to
handle sgi case in the multiple places.  Because we have no test
environment for sgi machine, the flags adjustment is omitted.  This is
not a problem now because we only call util::daemonize with zeros.
2025-09-24 21:26:49 +09:00
Tatsuhiro Tsujikawa
6aa9f6c72e Merge pull request #2528 from nghttp2/src-consistent-cond-macro-comments
src: Consistent conditional macro comments
2025-09-24 20:55:10 +09:00
Tatsuhiro Tsujikawa
4181fffc02 src: Consistent conditional macro comments 2025-09-24 20:29:56 +09:00
Tatsuhiro Tsujikawa
8f8eef40e8 Merge pull request #2527 from nghttp2/lib-consistent-cond-macro-comments
lib: Consistent conditional macro comments
2025-09-23 15:01:54 +09:00
Tatsuhiro Tsujikawa
3a95bf47f3 lib: Consistent conditional macro comments
Make conditional macro comments consistent.

- Repeat condition in closing #endif.
- Use #ifdef for a single macro.  Do not use #if defined(...) in this
  case.  Use defined(...) form when repeating condition in #endif.
- Apply De Morgan when negating conditions in #else.
2025-09-23 14:30:52 +09:00
Tatsuhiro Tsujikawa
c218d441ea Merge pull request #2526 from nghttp2/nullptr
src: Use nullptr in C++ code
2025-09-23 00:29:01 +09:00
Tatsuhiro Tsujikawa
1952b166e9 src: Use nullptr in C++ code 2025-09-22 22:47:05 +09:00
Tatsuhiro Tsujikawa
bcfb5d8305 Merge pull request #2525 from nghttp2/nghttpx-cert-type-constexpr
nghttpx: Define NGHTTP2_CERT_TYPE as constexpr
2025-09-22 21:45:04 +09:00
Tatsuhiro Tsujikawa
37fb82621c nghttpx: Define NGHTTP2_CERT_TYPE as constexpr 2025-09-22 20:55:09 +09:00
Tatsuhiro Tsujikawa
00bd05edcc Merge pull request #2524 from nghttp2/nghttpx-drop-tlsv1.1
nghttpx: Drop TLSv1.0 and TLSv1.1 support
2025-09-21 19:14:07 +09:00
Tatsuhiro Tsujikawa
45c67616b9 nghttpx: Drop TLSv1.0 and TLSv1.1 support
Nowadays, people always use TLSv1.3.  TLSv1.2 may be used for a
particular situation where TLSv1.3 is not available due to TLS stack
limitation.  The large companies started to drop TLSv1.1 and earlier
versions.  I do not feel keeping their support without a strong
reason, and I could not find any.
2025-09-21 18:49:15 +09:00
Tatsuhiro Tsujikawa
d94ce2a557 Merge pull request #2523 from nghttp2/nghttpx-consistent-servername-cb-behavior
nghttpx: Make servername_callback behavior consistent
2025-09-21 18:05:33 +09:00
Tatsuhiro Tsujikawa
8a5c731533 nghttpx: Make servername_callback behavior consistent
Make servername_callback behavior consistent across all supported TLS
stacks.  RFC 6066 does not provide any guidance or requirement when a
server must not acknowledge Server Name Indication.
2025-09-21 17:25:22 +09:00
Tatsuhiro Tsujikawa
6dfb3bdb8f Merge pull request #2522 from nghttp2/nghttpx-wolfssl-support-mldsa-cert-select
nghttpx: Support ML-DSA certificate selection with wolfSSL
2025-09-21 17:24:43 +09:00
Tatsuhiro Tsujikawa
43649c8004 nghttpx: Support ML-DSA certificate selection with wolfSSL 2025-09-21 16:45:32 +09:00
Tatsuhiro Tsujikawa
b35fa94ba5 Merge pull request #2521 from nghttp2/nghttpx-refactor-cert-type-detection
nghttpx: Select a certificate in a single pass
2025-09-21 15:08:32 +09:00
Tatsuhiro Tsujikawa
ee6565feb7 nghttpx: Select a certificate in a single pass
Refactored the certificate selection to select the certificate in a
single pass.  Cache the type of certificate to reduce the overhead.
2025-09-21 14:39:09 +09:00
Tatsuhiro Tsujikawa
7caa11f09e Merge pull request #2520 from nghttp2/nghttpx-cert-select-fast-path
nghttpx: Add the fast path when selecting a certificate
2025-09-20 19:38:42 +09:00
Tatsuhiro Tsujikawa
cb73b18a53 nghttpx: Add the fast path when selecting a certificate 2025-09-20 18:59:23 +09:00
Tatsuhiro Tsujikawa
4da70b34d1 Merge pull request #2519 from nghttp2/nghttpx-wolfssl-cert-select
nghttpx: Select certificate with wolfSSL
2025-09-20 18:58:50 +09:00
Tatsuhiro Tsujikawa
cd868f00b9 nghttpx: Select certificate with wolfSSL
This change adds the certificate selection with the supported
signature algorithms for wolfSSL in a way similar to BoringSSL.
wolfSSL does not support ML-DSA certificate as of this writing.
2025-09-20 18:29:50 +09:00
Tatsuhiro Tsujikawa
9fc31cfd16 Merge pull request #2518 from nghttp2/nghttpx-boringssl-cert-select
nghttpx: Select certificate with BoringSSL
2025-09-20 18:23:05 +09:00
Tatsuhiro Tsujikawa
e9f04ae0ad nghttpx: Select certificate with BoringSSL
Previously, the certificate selection in nghttpx depending on the
supported signature algorithm is dedicated to OpenSSL.  This change
brings the same capability to the BoringSSL build.  BoringSSL does not
support ML-DSA certificate as of this writing.
2025-09-20 17:55:25 +09:00
Tatsuhiro Tsujikawa
5e75f0ac81 Merge pull request #2517 from nghttp2/nghttpx-cert-select-pkey-base-id
nghttpx: Select ECDSA cert based on EVP_PKEY_base_id
2025-09-20 11:52:36 +09:00
Tatsuhiro Tsujikawa
8c3f077c5e nghttpx: Select ECDSA cert based on EVP_PKEY_base_id
We once refactored this with the shared curves, but it seems that it
is not entirely correct for this.  Perhaps, the usage of
X509_get_signature_nid was incorrect.
2025-09-20 11:09:55 +09:00
Tatsuhiro Tsujikawa
9cbe936a25 Merge pull request #2516 from nghttp2/nghttpx-ml-dsa-cert-select
nghttpx: Prefer ML-DSA certificate over ECDSA
2025-09-19 23:32:08 +09:00
Tatsuhiro Tsujikawa
b815972b03 nghttpx: Prefer ML-DSA certificate over ECDSA 2025-09-19 23:00:53 +09:00
Tatsuhiro Tsujikawa
59b6d0d1d9 Merge pull request #2515 from nghttp2/nghttpx-supported-groups
nghttpx: Add groups option
2025-09-19 20:59:27 +09:00
Tatsuhiro Tsujikawa
028eeeefeb nghttpx: Add groups option
The groups option takes the list of the supported groups.  This
deprecates ecdh-curves option.  If ecdh-curves option is used, it is
treated as if groups option is specified.
2025-09-19 19:29:04 +09:00
Tatsuhiro Tsujikawa
1feb3679fe Merge pull request #2514 from nghttp2/groups-list
Use SSL_CTX_set1_groups_list
2025-09-19 19:24:03 +09:00
Tatsuhiro Tsujikawa
b00d8da2e2 Use SSL_CTX_set1_groups_list
Replace SSL_CTX_set1_curves_list with SSL_CTX_set1_groups_list.
Remove the workaround for wolfSSL because the bug has been fixed.
2025-09-19 18:45:04 +09:00
Tatsuhiro Tsujikawa
9df3962d08 Merge pull request #2513 from nghttp2/nghttpd-supported-groups
nghttpd: Make the supported groups configurable
2025-09-19 18:43:24 +09:00
Tatsuhiro Tsujikawa
304bfcbb70 nghttpd: Make the supported groups configurable
Use the same default list of groups as h2load.
2025-09-19 18:06:21 +09:00
Tatsuhiro Tsujikawa
280845e52e Merge pull request #2511 from nghttp2/dependabot/go_modules/golang.org/x/net-0.44.0
build(deps): bump golang.org/x/net from 0.43.0 to 0.44.0
2025-09-16 00:05:32 +09:00
dependabot[bot]
bdc5d5a6d1 build(deps): bump golang.org/x/net from 0.43.0 to 0.44.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.43.0 to 0.44.0.
- [Commits](https://github.com/golang/net/compare/v0.43.0...v0.44.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 14:39:06 +00:00
Tatsuhiro Tsujikawa
c9ff3599de Bump library version due to the patch release 2025-09-15 20:52:45 +09:00
Tatsuhiro Tsujikawa
15912bf810 Merge pull request #2510 from nghttp2/remove-glitch-from-invalid-stream2
Remove session_update_glitch_ratelim called from deep inside the chain
2025-09-15 20:25:59 +09:00
Tatsuhiro Tsujikawa
9e65104b00 Remove session_update_glitch_ratelim called from deep inside the chain
Calling session_update_glitch_ratelim from
session_handle_invalid_stream2 makes handling error quite difficult
because it might be called in nested function calls.  It seems to me
that adding that is accidental.
2025-09-15 18:58:05 +09:00
Tatsuhiro Tsujikawa
80ecefebb5 Merge pull request #2509 from nghttp2/fix-assertion-failure
Fix assertion failure
2025-09-15 18:24:32 +09:00
Tatsuhiro Tsujikawa
43b4369fba Fix assertion failure
Fix assertion failure due to the missing check for NGHTTP2_IB_IGN_ALL
state.  Add tests.
2025-09-15 17:56:17 +09:00