fix: add transport connection number limit on listener #200
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Tentacle has not previously made any restrictions on the number of transport connections, which may lead to fd attacks. The good news is that the consequence of the fd attack is only that the listening service will be closed, and it will not affect the established connection. But we should fix it.
The fd create on std::sys::net, and it will call by
tokio::tcplistener::poll_accpet
, their calling relationship is as follows:tokio -> mio -> std net -> std sys common -> std sys net -> std sys fd -> syscall