Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Dec 2025 12:18:04 -0800
From:      Gleb Smirnoff <glebius@freebsd.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Mark Johnston <markj@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: e967a2a03677 - main - sockets: remove compat shim for divert(4)
Message-ID:  <aUWy_L-wO0XcI5Do@cell.glebi.us>
In-Reply-To: <aUWuHb-l6SGV3CV-@kib.kiev.ua>
References:  <693a275a.2e7b3.1858af56@gitrepo.freebsd.org> <aTo89YdeZByEuZov@kib.kiev.ua> <aUVralcxtt3d8plJ@nuc> <aUWP0F-5QH5DMxZn@cell.glebi.us> <aUWRwsk5Xly_KLV5@kib.kiev.ua> <aUWUaawaU8RbsS_l@cell.glebi.us> <aUWuHb-l6SGV3CV-@kib.kiev.ua>

index | next in thread | previous in thread | raw e-mail

On Fri, Dec 19, 2025 at 09:57:17PM +0200, Konstantin Belousov wrote:
K> We are discussing different things altogether.
K> 
K> I am saying that you are breaking binary compatibility, and asking why.
K> I do not see a reason.
K> 
K> It has no relation to the fact that there are other ways to get the same
K> behaviour from the system.  The removal of that three lines breaks existing
K> binaries.  Also it does not matter that e.g. newer versions of some apps
K> do not use that feature (feature as in binary interface, not a system
K> behaviour).  The existing binaries must continue to work.

We already have had this argument before for a different kind of issue -
POLLINIGNEOF.  The existence of such binaries is like existence the the God.
You can't prove they exist.  I can't prove they do not exist. You advocate for
the compat shim to exist forever.  I advocate to limit it existence to some
countable number of years.

For this particular case all open source software had been addressed.  There
are no known shareware binaries in the wild that used AF_INET/IPPROTO_DIVERT.
Those hypothethical binaries that we can't prove/refute existence of in some
corporate environments would print a warning on 14.x and on 15.x providing a
time to their owners to recompile.  If we speculate that somewhere in the
universe exists a corporate body that uses AF_INET/IPPROTO_DIVERT tuple in
their internal software and have lost its source code, they have a solution.
The solution is a tiny preloaded library that would intercept socket(2).  Of
course you may say that somewhere in the world exists a closed ecosystem that
uses AF_INET/IPPROTO_DIVERT in a binary AND the sources for the binary were
lost AND the binary is statically compiled.  If you decide to go that deep into
the rabbit hole, I would reply that owners of such a binary should bit hack it
to use the correct tuple before call to socket(2).

-- 
Gleb Smirnoff


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aUWy_L-wO0XcI5Do>