port reuse problem with ftp

Raul Miller (rdm@tad.micro.umn.edu)
24 Apr 1996 19:34:45 GMT


I think this problem has been in the kernel for a while, but this is a
problem I see in 1.3.94:

If I use /usr/bin/ftp with any frequency, I some file transfers start
failing with status messages like:

425 Can't build data connection: Cannot assign requested address.

I think this is the port-reuse issue (where a port can not be reused
"for security reasons").

If the current behavior of /usr/bin/ftp is considered a bug in ftp,
I'd like a pointer to a version that doesn't have this problem. [And,
can I reasonably expect that arbitrary browser software won't be hit
by this problem?]

Also, I think I should point out that the rfcs which define tcp ports
suggest that a mechanism exists to reserve ports before a program
begins servicing them. [My impression of what the rfc would mean for
unix is a syscall mechanism where a port can be associated with a
process and all it's children, with a companion mechanism for
discarding the association, and that a reserved port would be
unavailable to a process that didn't have a reservation for it. Yes,
I know bind() currently does something like this, but in a very
limited fashion.]

Anyways, ftp ought to work reliably. [And, personally, I dislike
"security mechanisms" which make utility code less portable.]

[Then again, maybe I'm wrong about what I think is causing this?]

-- 
Raul