Commit Graph

2 Commits

Author SHA1 Message Date
ump45nose
df0e9ba5ac plugin/grpc_server: both limits accept zero, not only positive integers (#8660)
The syntax block said POSITIVE_INTEGER for both options, but plugin/grpc_server/setup.go:51 and :67 reject only val < 0 with the message "must be a non-negative integer", plugin/grpc_server/setup_test.go:53-67 feeds "max_streams 0" and "max_connections 0" with shouldErr false, and README.md:22-23 itself says "Set to 0 for unbounded" for both.

Signed-off-by: yuwk <1729065730@qq.com>
2026-10-20 17:17:49 -07:00
Ville Vesilehto
0d8cbb1a6b Merge commit from fork
Add configurable resource limits to prevent potential DoS vectors
via connection/stream exhaustion on gRPC, HTTPS, and HTTPS/3 servers.

New configuration plugins:
- grpc_server: configure max_streams, max_connections
- https: configure max_connections
- https3: configure max_streams

Changes:
- Use netutil.LimitListener for connection limiting
- Use gRPC MaxConcurrentStreams and message size limits
- Add QUIC MaxIncomingStreams for HTTPS/3 stream limiting
- Set secure defaults: 256 max streams, 200 max connections
- Setting any limit to 0 means unbounded/fallback to previous impl

Defaults are applied automatically when plugins are omitted from
config.

Includes tests and integration tests.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-12-17 19:08:59 -08:00