connect(2) behavior with unreacheable hosts

Mike Silbersack silby at silby.com
Sun Apr 13 17:27:45 PDT 2003


On Sat, 12 Apr 2003, M. Warner Losh wrote:

> In message: <20030413030500.GA64896 at pit.databus.com>
>             Barney Wolff <barney at pit.databus.com> writes:
> : On Sat, Apr 12, 2003 at 08:49:12PM -0600, M. Warner Losh wrote:
> : > In message: <109.225ca595.2bc723f2 at aol.com>
> : >             BelletJr at aol.com writes:
> : > : Why does not connect(2) return any error when trying to connect to a host
> : > : unreachable because of an infinite loop in the routes? No time-out occurs and
> : > : the value 0 is returned by connect(2).
> : >
> : > Hmmmmm, you are correct.  I was sure that you were nuts, but on
> : > -current the following program returns no error at all...  Telnet
> : > shows the same behavior.  This is clearly wrong.
> :
> : It's not just current; stable behaves exactly the same.  The problem is
> : that the icmp time-exceeded packet gets translated into an error code
> : of 0, which confuses things.  I've filed a PR with a suggested fix:
> : http://www.freebsd.org/cgi/query-pr.cgi?pr=50839
>
> Ah.  I see.  I wonder if any of the net folks can review this...
>
> Warner

EPLATEFULL, but it sounds correct...

Barney, have you tried doing some sort of test where sendmail or ftpd
tries making a connection to a TTL exceeded IP?  I'm curious if they
handle the situation gracefully or not.  (If they don't, then maybe this
is serious enough to require security branch merges.)

Mike "Silby" Silbersack


More information about the freebsd-net mailing list