* Re: [gentoo-portage-dev] [PATCH] process: Unshare UTS namespace, and set hostname to 'localhost'
@ 2020-03-27 19:10 99% ` Zac Medico
0 siblings, 0 replies; 1+ results
From: Zac Medico @ 2020-03-27 19:10 UTC (permalink / raw
To: gentoo-portage-dev, Michał Górny
[-- Attachment #1.1: Type: text/plain, Size: 1808 bytes --]
On 3/27/20 9:05 AM, Michał Górny wrote:
> Use UTS namespace to override hostname when network-sandbox is enabled.
> Set it to 'localhost' as that has a better chance of being present
> in /etc/hosts. This fixes tests in some packages that try to connect
> to localhost via hostname obtained using gethostname(), e.g. docker-py,
> and suffer resolution problems due to the system hostname not being
> defined in /etc/hosts.
> ---
> lib/portage/process.py | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/lib/portage/process.py b/lib/portage/process.py
> index c1fc4bcf6..0f9789acb 100644
> --- a/lib/portage/process.py
> +++ b/lib/portage/process.py
> @@ -348,12 +348,14 @@ def spawn(mycommand, env=None, opt_name=None, fd_pipes=None, returnpid=False,
> if unshare_net or unshare_ipc or unshare_mount or unshare_pid:
> # from /usr/include/bits/sched.h
> CLONE_NEWNS = 0x00020000
> + CLONE_NEWUTS = 0x04000000
> CLONE_NEWIPC = 0x08000000
> CLONE_NEWPID = 0x20000000
> CLONE_NEWNET = 0x40000000
>
> if unshare_net:
> - unshare_flags |= CLONE_NEWNET
> + # UTS namespace to override hostname
> + unshare_flags |= CLONE_NEWNET | CLONE_NEWUTS
> if unshare_ipc:
> unshare_flags |= CLONE_NEWIPC
> if unshare_mount:
> @@ -704,6 +706,8 @@ def _exec(binary, mycommand, opt_name, fd_pipes,
> noiselevel=-1)
> os._exit(1)
> if unshare_net:
> + # use 'localhost' to avoid hostname resolution problems
> + socket.sethostname('localhost')
> _configure_loopback_interface()
> except AttributeError:
> # unshare() not supported by libc
>
Looks good with latest changes in
https://github.com/gentoo/portage/pull/539. Please merge.
--
Thanks,
Zac
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 343 bytes --]
^ permalink raw reply [relevance 99%]
Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-03-27 16:05 [gentoo-portage-dev] [PATCH] process: Unshare UTS namespace, and set hostname to 'localhost' Michał Górny
2020-03-27 19:10 99% ` Zac Medico
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox