Repository navigation
linux: apply -s UDP state lists to UDP sockets - #376
Merged
Merged
Conversation
the IPv4 and IPv6 socket code checked every TCP and UDP record against the TCP state tables, so -s UDP:... did nothing and TCP state lists got applied to UDP sockets instead. check each record against its own protocol's tables. like on other dialects, a file is left out when only the other protocol has an inclusion list.
Contributor
|
I added complementary tests covering connected/unconnected UDP sockets, mixed TCP/UDP filters and protocol isolation for IPv4/IPv6: hugojosealmeida@38f759a They pass with your fix and fail against its parent. Feel free to cherry-pick the tests-only commit. Note that my IPv4/IPv6 tests pass with this PR and fail against its parent code, confirming coverage of UDP filtering and TCP/UDP isolation. |
Contributor
Author
|
thanks, that's way more thorough than mine. pulled your commit in as is |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
on linux
-s UDP:...is accepted but doesn't filter anything:-sUDP:^ESTABLISHEDwas ignored the same way, and combining-sTCP:LISTEN -sUDP:ESTABLISHEDlost the UDP socket. both the IPv4 and IPv6 paths check every record against the TCP state tables, even UDP ones. the fix moves that into a small helper that picks the right tables by protocol.extended
case-20-udp-socket-state.bashto cover-s UDP:ESTABLISHEDand^ESTABLISHED, it fails before and passes after.make checkis clean.