Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Mar 2022 21:53:55 +0000
From:      bugzilla-noreply@freebsd.org
To:        net@FreeBSD.org
Subject:   [Bug 262172] UNIX Domain bind() - distinguish between random garbage and alive listening socket
Message-ID:  <bug-262172-7501-Q1hiXG5Wu2@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-262172-7501@https.bugs.freebsd.org/bugzilla/>
References:  <bug-262172-7501@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D262172

--- Comment #5 from firk@cantconnect.ru ---
Even disabled by default, it may be used by aware applications in the follo=
wing
way:

EADDRINUSE -> assume really busy address, print an error and fail,
EEXIST -> remove stale socket and try again,
EFTYPE -> print an error about wrong path and fail

When the feature is disabled, application will just fail on all three cases=
 (a
lot of application behaves in this way already), but when the feature is
enabled, it will handle stale sockets properly.

As for unaware applications:
1) most of them just fails on any bind error,
2) some of them tries to cleanup stale socket before bind, or after any bind
error,
3) some of them tries to cleanup stale socket on EADDRINUSE and displays a
error for all other codes.

Third type of applications may be broken due to this change, and they are t=
he
only reason for disabling it by default.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-262172-7501-Q1hiXG5Wu2>