Date: Thu, 08 Mar 2001 12:52:31 +0900 From: itojun@iijlab.net To: wietse@porcupine.org (Wietse Venema) Cc: Jonathan Lemon <jlemon@flugsvamp.com>, Arjan.deVet@adv.iae.nl, net@freebsd.org, postfix-users@postfix.org Subject: Re: [itojun@iijlab.net: accept(2) behavior with tcp RST right after handshake] Message-ID: <6251.984023551@coconut.itojun.org> In-Reply-To: wietse's message of Wed, 07 Mar 2001 16:20:35 EST. <20010307212035.8170EBC070@spike.porcupine.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>Several parts of Postfix do: connect() write() close(), where the >close() may happen before the server has accept()ed the connection. >Due to an incompatible change in FreeBSD 4.2-STABLE, this causes >accept() after close() to fail. The already written data is lost. >This is a bad incompatible change. see SUSv2 and XNET 5.2 spec for accept(), and Stevens (unix network programming vol 1 2nd ed) section 5.11. http://www.opengroup.org/onlinepubs/007908799/xns/accept.html 4.3BSD behavior was very wrong (described in Stevens). old freebsd behavior (return 0-length sockaddr) was also wrong, it kills a set of applications including sendmail and BIND910. new freebsd behavior (ECONNABORTED) is at least SUSv2 conformant, and I expect it to be the behavior of other stacks. itojun To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6251.984023551>