Commit Graph

8474 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
7bf98f2729 Update doc 2025-08-17 21:39:52 +09:00
Tatsuhiro Tsujikawa
e434b74e50 Merge pull request #2480 from nghttp2/robust-error-handling
Make error handling robust
2025-08-17 18:12:44 +09:00
Tatsuhiro Tsujikawa
7784fa979d Make error handling robust
Stream errors are now promoted to connection errors.  This means that
an event that previously just resets a single stream now closes a
connection entirely.  The promoted errors are mostly implementation
errors.  Some involve HTTP fields, but they are already treated stream
error.  People who care about that should have already raised any
issues.  We do not have any outstanding related issues now, so it
seems OK to treat it as connection error.

We have some contradictory specifications around
nghttp2_on_invalid_header and nghttp2_on_invalid_header2 callbacks.
nghttp2_on_invalid_header says that if it is omitted, a stream is
reset.  Meanwhile, nghttp2_on_invalid_header2 says that if it is
omitted, invalid field is silently ignored.  In actual implementation,
if both omitted, we treat it as stream error.  In practice, it is
often required not to bail out if invalid header is received.  In this
change, if both callbacks are omitted, invalid field is silently
ignored as the documentation of nghttp2_on_invalid_header2 says.  The
connection error promotion is applied here as well.  So if invalid
field is received, and callback returns
NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE, it is treated as connection
error.
2025-08-17 16:50:49 +09:00
Tatsuhiro Tsujikawa
8391ae7a57 Merge pull request #2478 from nghttp2/fix-gha-android-build
GHA: Run android workflow on branches event
2025-08-09 18:36:27 +09:00
Tatsuhiro Tsujikawa
d63d2568b7 GHA: Run android workflow on branches event 2025-08-09 17:00:29 +09:00
Tatsuhiro Tsujikawa
d8d94e7a69 Merge pull request #2475 from nghttp2/rewrite-is_hex_string
src: Rewrite util::is_hex_string
2025-07-29 18:06:51 +09:00
Tatsuhiro Tsujikawa
ef3b25e152 src: Rewrite util::is_hex_string 2025-07-29 17:36:46 +09:00
Tatsuhiro Tsujikawa
52ae8b7d9f Merge pull request #2474 from nghttp2/mem-free
lib: Use nghttp2_mem_free
2025-07-25 18:59:14 +09:00
Tatsuhiro Tsujikawa
d204cd0880 lib: Use nghttp2_mem_free 2025-07-25 18:30:51 +09:00
Tatsuhiro Tsujikawa
32a5793b02 Merge pull request #2473 from geoffhill/patch-1
Use allocator-aware free in failure path
2025-07-25 18:27:41 +09:00
Tatsuhiro Tsujikawa
b81979f35b Merge pull request #2472 from nghttp2/dependabot/go_modules/github.com/quic-go/quic-go-0.54.0
Bump github.com/quic-go/quic-go from 0.53.0 to 0.54.0
2025-07-24 20:51:16 +09:00
Geoff Hill
808271a5a9 Use allocator-aware free in failure path
This change avoids free(3) from stdlib in favor of nghttp2_mem_free() for freeing a buffer in an error path. The buffer is allocated with nghttp2_mem_malloc().
2025-07-23 10:41:05 -07:00
dependabot[bot]
4bfd528d44 Bump github.com/quic-go/quic-go from 0.53.0 to 0.54.0
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-version: 0.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 16:57:05 +00:00
Tatsuhiro Tsujikawa
2fefe482bf Merge pull request #2471 from nghttp2/dependabot/go_modules/golang.org/x/net-0.42.0
Bump golang.org/x/net from 0.41.0 to 0.42.0
2025-07-16 18:39:22 +09:00
dependabot[bot]
1c2ba03f94 Bump golang.org/x/net from 0.41.0 to 0.42.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.41.0 to 0.42.0.
- [Commits](https://github.com/golang/net/compare/v0.41.0...v0.42.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 17:26:26 +00:00
Tatsuhiro Tsujikawa
5edfa62c7b Merge pull request #2468 from nghttp2/dependabot/go_modules/github.com/quic-go/quic-go-0.53.0
Bump github.com/quic-go/quic-go from 0.52.0 to 0.53.0
2025-07-01 21:06:26 +09:00
Tatsuhiro Tsujikawa
efad89d9d2 Merge pull request #2469 from nghttp2/map-seed
Map seed
2025-07-01 20:27:22 +09:00
Tatsuhiro Tsujikawa
a8dfe825d0 src: Specify nghttp2_rand_callback 2025-07-01 19:25:33 +09:00
Tatsuhiro Tsujikawa
a9b0230e57 Add nghttp2_rand_callback
Add nghttp2_rand_callback.  Seed nghttp2_map with the unpredictable
value from the callback.
2025-07-01 19:25:33 +09:00
Tatsuhiro Tsujikawa
01b16f64f4 Port ngtcp2_map changes 2025-07-01 18:25:24 +09:00
dependabot[bot]
b41ca012b4 Bump github.com/quic-go/quic-go from 0.52.0 to 0.53.0
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.52.0 to 0.53.0.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.52.0...v0.53.0)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-version: 0.53.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 17:49:27 +00:00
Tatsuhiro Tsujikawa
d2b58bd0cd Merge pull request #2467 from nghttp2/pmtudisc-probe
src: Adopt IP_PMTUDISC_PROBE
2025-06-29 18:03:23 +09:00
Tatsuhiro Tsujikawa
fc43fc1805 src: Adopt IP_PMTUDISC_PROBE
It seems that IP_PMTUDISC_PROBE works in some advertent situations.
2025-06-29 17:37:55 +09:00
Tatsuhiro Tsujikawa
1616d9ef05 Merge pull request #2465 from nghttp2/ngtcp2-map-port
Port ngtcp2 map changes
2025-06-21 19:01:20 +09:00
Tatsuhiro Tsujikawa
05b29df6eb Port ngtcp2 map changes 2025-06-21 18:34:09 +09:00
Tatsuhiro Tsujikawa
9f0c59d6dd Merge pull request #2463 from nghttp2/android-docker-avoid-tag-event
Do not trigger android workflow on tag event
2025-06-17 21:58:51 +09:00
Tatsuhiro Tsujikawa
af02195b60 Do not trigger android workflow on tag event 2025-06-17 21:35:43 +09:00
Tatsuhiro Tsujikawa
0f46173c2d Bump package version 2025-06-17 19:18:12 +09:00
Tatsuhiro Tsujikawa
ac22e0efe3 Update manual pages v1.66.0 2025-06-17 18:56:00 +09:00
Tatsuhiro Tsujikawa
031ae82552 Bump package and library versions 2025-06-17 18:52:43 +09:00
Tatsuhiro Tsujikawa
6b3e58127d Update AUTHORS 2025-06-17 18:46:32 +09:00
Tatsuhiro Tsujikawa
5e576bda7d Merge pull request #2462 from nghttp2/nghttpx-preserve-weightgroup-cycle
nghttpx: Preserve WeightGroup cycles between backend replaces
2025-06-16 21:28:02 +09:00
Tatsuhiro Tsujikawa
6039258f01 nghttpx: Preserve WeightGroup cycles between backend replaces
Preserve cycle in WeightGroups if name and weight of WeightGroups
under a single pattern do not change after replacing backends via
backendconfig API call.  It does not matter if backend addresses under
those groups are changed.
2025-06-16 20:59:10 +09:00
Tatsuhiro Tsujikawa
121e401166 Merge pull request #2460 from nghttp2/dependabot/go_modules/golang.org/x/net-0.41.0
Bump golang.org/x/net from 0.40.0 to 0.41.0
2025-06-10 08:25:19 +09:00
dependabot[bot]
67ab8145c7 Bump golang.org/x/net from 0.40.0 to 0.41.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.40.0 to 0.41.0.
- [Commits](https://github.com/golang/net/compare/v0.40.0...v0.41.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 14:45:27 +00:00
Tatsuhiro Tsujikawa
68b663eaba Merge pull request #2459 from nghttp2/conf-file-check-error
nghttpx: Check error when reading the configuration file
2025-06-09 21:17:43 +09:00
Tatsuhiro Tsujikawa
c9f3166c4d nghttpx: Check error when reading the configuration file 2025-06-09 20:33:42 +09:00
Tatsuhiro Tsujikawa
eafb876a5b Merge pull request #2458 from nghttp2/quic-secret-getline
nghttpx: Use std::getline to read QUIC secrets
2025-06-09 20:32:31 +09:00
Tatsuhiro Tsujikawa
c8790efadf nghttpx: Use std::getline to read QUIC secrets 2025-06-09 19:42:02 +09:00
Tatsuhiro Tsujikawa
fbcf341878 Merge pull request #2457 from nghttp2/thread-local
Remove the availability check for thread_local
2025-06-09 19:24:52 +09:00
Tatsuhiro Tsujikawa
1adb1d9bb7 Remove the availability check for thread_local 2025-06-09 18:51:39 +09:00
Tatsuhiro Tsujikawa
c9bf55f125 Merge pull request #2455 from starrify/nghttpd-support-sslkeylogfile
nghttpd: Support SSLKEYLOGFILE
2025-06-09 18:51:02 +09:00
Tatsuhiro Tsujikawa
2b07607cac Merge pull request #2456 from nghttp2/as-string-view
Use as_string_view to simplify the construction
2025-06-09 18:29:23 +09:00
Peng-Yu Chen
556fa9f781 nghttpd: Support SSLKEYLOGFILE 2025-06-09 10:18:05 +01:00
Tatsuhiro Tsujikawa
827da803f6 Use as_string_view to simplify the construction 2025-06-09 18:04:20 +09:00
Tatsuhiro Tsujikawa
b1496253d0 Merge pull request #2454 from nghttp2/replace-stringref-with-stringview
Replace stringref with stringview
2025-06-08 22:27:07 +09:00
Tatsuhiro Tsujikawa
811608bef8 Update script 2025-06-08 21:36:23 +09:00
Tatsuhiro Tsujikawa
db304adf70 Remove unnecessary casts and some adjustments 2025-06-08 21:19:59 +09:00
Tatsuhiro Tsujikawa
ef94a3be9a Replace StringRef with std::string_view 2025-06-08 21:00:56 +09:00
Tatsuhiro Tsujikawa
2f283177f7 Merge pull request #2453 from nghttp2/src-refactor
Src refactor
2025-06-08 18:00:53 +09:00