* udp bind & udp_port_rover behavior
@ 2004-03-22 15:47 Marc de la Gueronniere
0 siblings, 0 replies; only message in thread
From: Marc de la Gueronniere @ 2004-03-22 15:47 UTC (permalink / raw)
To: linux-kernel
Hi,
I came across strange problems while porting an udp-based application.
These problems originated from very weak assumptions (no source ip/port
checking, no stream ID,...) in this application. These weaknesses are
exposed by the behavior of the udp_port_rover/udp_v4_get_port mechanism
i.e. udp_port_rover is not incremented after allocation which can cause
the immediate reallocation of a port that was just freed causing
potentially the reception of packets that were not meant for the
application opening the new port. While there is no doubt in my mind
that the application is clearly at fault, incrementing the rover feels
like a safer behavior. If a port is immediately reused this will cause:
-ICMP port unreachable message to not be sent, while the old receiving
end has died.
-any UDP applications not doing source checking to likely receive random
packets, triggering weird bugs that did not happen on other platforms.
Marc
PS: please CC me directly as I am not currently subscribed to the list.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-03-22 15:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-22 15:47 udp bind & udp_port_rover behavior Marc de la Gueronniere
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome