Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Dec 2021 10:38:19 +1030
From:      Daniel O'Connor via freebsd-hackers <freebsd-hackers@freebsd.org>
To:        Gleb Popov <arrowd@freebsd.org>
Cc:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: What to use in place of abstract unix sockets?
Message-ID:  <F0BE714E-E25B-4A49-AA6E-B0E906374446@dons.net.au>
In-Reply-To: <CALH631kYAz%2B_=p6VUhxzx0tz8eox804PCK5A9POxQkZTdThZCQ@mail.gmail.com>
References:  <CALH631kYAz%2B_=p6VUhxzx0tz8eox804PCK5A9POxQkZTdThZCQ@mail.gmail.com>

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


> On 8 Dec 2021, at 17:13, Gleb Popov <arrowd@freebsd.org> wrote:
> I'm porting a software that does the following things on Linux:
>=20
> 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.
>=20
> =46rom 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.
>=20
> 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.

If the parent knows where the child will chroot it could create a unix =
domain socket under that directory somewhere.

--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
 -- Andrew Tanenbaum




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F0BE714E-E25B-4A49-AA6E-B0E906374446>