You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Configuration: Resource Limits] Legacy listener safety settings are accepted but have no runtime effect #122
C#
public int ParserAccumulationMaxBytes { get; set; } = 262144;
C#
public int AwaitingReceiptAckTimeoutSeconds { get; set; } = 30;
C#
public int MaxQueuedFoundPayloadBytes { get; set; } = 67108864;
The runtime projection includes only one of those three:
C#
Listener: new BackFillerListenerRuntimeOptions(
TimeSpan.FromSeconds(listener.TlsHandshakeTimeoutSeconds),
TimeSpan.FromSeconds(listener.IoProgressTimeoutSeconds),
listener.MaxQueuedFoundPayloadBytes,
listener.MaxActiveConnections),
The actual session uses a fixed protocol limit:
C#
private const int MaximumCommandOctets = 512;
Description
Production reference searches found:
ParserAccumulationMaxBytes is validated but not consumed by the listener.
AwaitingReceiptAckTimeoutSeconds is validated but not projected into runtime options.
MaxQueuedFoundPayloadBytes is projected but has no consuming enforcement path.
The current listener speaks NNTP, writes articles sequentially, and commits after local write completion. It does not implement the older Found/ReceiptAck exchange implied by these settings.
This is not evidence of unbounded command buffering or a missing NNTP receipt acknowledgment. The risk is operational: administrators can adjust apparently meaningful resource controls without changing behavior.
Recommendation
Deprecate or reject unsupported settings and document the actual controls. Preserve the RFC command limit and existing delivery semantics rather than introducing an acknowledgment or payload queue merely to satisfy obsolete configuration names.
Validation
Add configuration-contract tests distinguishing active settings from deprecated ones. Verify that each advertised active limit demonstrably affects runtime behavior.
Activity