Thanks for replying.

I'll pull the collective pant-legs of comp.unix.programmer if I get
too far off topic.  ;)

On Wed, Jul 09, 2003 at 10:42:02PM -0400, Carson Gaspar wrote:
> Any UDP server that does not explicitly bind its return socket to the 
> destination IP address of the original packet is broken. Fix the broken 
> code.

Noted.  (I read an abstract version of that statement in RFC1122.)
However, even with a reply datagram from the request's specific
destination IP address, there's no way to send a reply from the
expected port, so this would still fail the filter state check.

As an example, suppose I have some program spawned from inetd (bound
to INADDR_ANY) as dgram/wait.  Either I could use the existing
socket with dgrams sourced from the right port with the potentially
wrong address (whatever the primary address on the interface is),
or I could create a new socket, bind it to the request's destination
address, and send with whatever ephemeral port the OS assigns.  An
attempt to bind to the original service port would fail w/ EADDRINUSE.

Right?

TIA!

-- 
ryan beasley                            <[EMAIL PROTECTED]>
GPG ID: 0x16EFBD48

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to