Re: What to use in place of abstract unix sockets?

From: Bakul Shah <bakul_at_iitbombay.org>
Date: Sat, 11 Dec 2021 17:48:23 UTC
On Dec 7, 2021, at 10:44 PM, Gleb Popov <arrowd@freebsd.org> wrote:
> 
> 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.

Can you not pass one end of unix domain socketpair via sendmsg/recvmsg?