What to use in place of abstract unix sockets?

From: Gleb Popov <arrowd_at_freebsd.org>
Date: Wed, 08 Dec 2021 06:43:41 UTC
Hello hackers.

I'm porting a software that does the following things on Linux:

1. Binds an abstract UDS (the socket name starts with '\0')
2. Launches a "client" process.
3. "Client" uses chroot() to constrain itself in a sort of jail.
4. "Client" connects to the abstract UDS.

From what I can tell, this works because abstract UDS's do not use the
filesystem namespace, which is why "client" can connect out of the
chroot'ed environment.

What can I do to make this software work for FreeBSD? Simply using regular
UDS instead of abstract ones doesn't work for obvious reasons - the
"client" can't find the socket file.

Thanks in advance.