Messages in this thread | | | Subject | Re: Dynamic IP hack (PR#294) | From | Eric Schenk <> | Date | 18 Oct 1998 12:47:46 -0700 |
| |
kuznet@ms2.inr.ac.ru writes: > If I did bind() to a saddr nobody is allowed to rewrite this address. > It is critical: if some appl. did bind, it does not want that connection were > initiated with another address. > > I still assume, that someone, who enabled this sysctl has no > such applications, so that it is not fatal, but must be commented > and made optional.
Indeed, this is one of the reasons I was never particularly enamoured of this hack back when it was introduced into the 2.0.x series. There is also the case where the app does not do a bind(), but does a getsockname() on a socket that has already had a non-blocking connect() performed on it. If the local address is rewritten before the connect finishes, then the results of getsockname() could be wrong.
It seems to be the case that neither of these things occur very much in practice. I still don't know what the right answer is to this problem (after think about it on and off for close to 4 years). Frankly the real problem is that the internet was never designed to allow for dynamic IP addresses, and anything we do to hack them in results in one problem or another. Anyway, I don't like this solution much, but I can't offer the right solution either.
I think the best we can manage right now is to make it take some effort to enable this option, and label it with clear warnings that some applications could break when the option is in use.
Cheers,
-- Eric Schenk www: http://www.loonie.net/~eschenk email: eschenk@loonie.net, eschenk@home.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |