summaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
authorPaul Holzinger <pholzing@redhat.com>2021-09-16 12:37:06 +0200
committerMatthew Heon <matthew.heon@pm.me>2021-09-22 16:13:37 -0400
commitbe15a01c5e636d105d638c958a69420a21ac7ff4 (patch)
tree1845348873e62825d57484b2a85dbaec4a699582 /libpod
parentd27fcbdc21a4c5fc201997068f871cf1e91561a1 (diff)
downloadpodman-be15a01c5e636d105d638c958a69420a21ac7ff4.tar.gz
podman-be15a01c5e636d105d638c958a69420a21ac7ff4.tar.bz2
podman-be15a01c5e636d105d638c958a69420a21ac7ff4.zip
Only add 127.0.0.1 entry to /etc/hosts with --net=none
The check for net=none was wrong. It just assumed when we do not create the netns but have one set that we use the none mode. This however also applies to a container which joins the pod netns. To correctly check for the none mode use `config.NetMode.IsNone()`. Fixes #11596 Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Diffstat (limited to 'libpod')
-rw-r--r--libpod/container_internal_linux.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go
index 4194a0d93..89287efc9 100644
--- a/libpod/container_internal_linux.go
+++ b/libpod/container_internal_linux.go
@@ -2001,15 +2001,16 @@ func (c *Container) getHosts() string {
// Do we have a network namespace?
netNone := false
- for _, ns := range c.config.Spec.Linux.Namespaces {
- if ns.Type == spec.NetworkNamespace {
- if ns.Path == "" && !c.config.CreateNetNS {
- netNone = true
+ if c.config.NetNsCtr == "" && !c.config.CreateNetNS {
+ for _, ns := range c.config.Spec.Linux.Namespaces {
+ if ns.Type == spec.NetworkNamespace {
+ if ns.Path == "" {
+ netNone = true
+ }
+ break
}
- break
}
}
-
// If we are net=none (have a network namespace, but not connected to
// anything) add the container's name and hostname to localhost.
if netNone {