diff options
author | Giuseppe Scrivano <gscrivan@redhat.com> | 2020-06-10 14:52:08 +0200 |
---|---|---|
committer | Giuseppe Scrivano <gscrivan@redhat.com> | 2020-06-10 14:52:10 +0200 |
commit | 6c27e27b8c263696c78d540a87918c6482507310 (patch) | |
tree | 4c66476843bd08d9cfdc40da65156b4bbd99aec6 | |
parent | a389eab8d116f406aba6a4fd1dd5a545e536e88b (diff) | |
download | podman-6c27e27b8c263696c78d540a87918c6482507310.tar.gz podman-6c27e27b8c263696c78d540a87918c6482507310.tar.bz2 podman-6c27e27b8c263696c78d540a87918c6482507310.zip |
container: do not set hostname when joining uts
do not set the hostname when joining an UTS namespace, as it could be
owned by a different userns.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
-rw-r--r-- | libpod/container_internal_linux.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go index e0cd39ee5..e3ca3f6b2 100644 --- a/libpod/container_internal_linux.go +++ b/libpod/container_internal_linux.go @@ -392,7 +392,7 @@ func (c *Container) generateSpec(ctx context.Context) (*spec.Spec, error) { } for _, i := range c.config.Spec.Linux.Namespaces { - if i.Type == spec.UTSNamespace { + if i.Type == spec.UTSNamespace && i.Path == "" { hostname := c.Hostname() g.SetHostname(hostname) g.AddProcessEnv("HOSTNAME", hostname) @@ -591,7 +591,8 @@ func (c *Container) addNamespaceContainer(g *generate.Generator, ns LinuxNS, ctr if specNS == spec.UTSNamespace { hostname := nsCtr.Hostname() - g.SetHostname(hostname) + // Joining an existing namespace, cannot set the hostname + g.SetHostname("") g.AddProcessEnv("HOSTNAME", hostname) } |