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

From: Eugene Grosbein <eugen_at_grosbein.net>
Date: Wed, 08 Dec 2021 07:50:08 UTC
08.12.2021 13:43, Gleb Popov 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.

If they are parent/child, you could try using socketpair().