Remove hard coding of SELinux labels on systems without proper selinux policy.

If a system is configured for SELinux but does not know about docker or
containers, then we want the transitions of the policy to work.  Hard coding
the labels causes docker to break on older Fedora and RHEL systems

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
This commit is contained in:
Dan Walsh 2014-04-01 09:24:24 -04:00
parent 74349e02c6
commit cecd7a37bf

View file

@ -313,12 +313,9 @@ func GetLxcContexts() (processLabel string, fileLabel string) {
return "", "" return "", ""
} }
lxcPath := fmt.Sprintf("%s/content/lxc_contexts", GetSELinuxPolicyRoot()) lxcPath := fmt.Sprintf("%s/content/lxc_contexts", GetSELinuxPolicyRoot())
fileLabel = "system_u:object_r:svirt_sandbox_file_t:s0"
processLabel = "system_u:system_r:svirt_lxc_net_t:s0"
in, err := os.Open(lxcPath) in, err := os.Open(lxcPath)
if err != nil { if err != nil {
goto exit return "", ""
} }
defer in.Close() defer in.Close()
@ -352,6 +349,11 @@ func GetLxcContexts() (processLabel string, fileLabel string) {
} }
} }
} }
if processLabel == "" || fileLabel == "" {
return "", ""
}
exit: exit:
mcs := IntToMcs(os.Getpid(), 1024) mcs := IntToMcs(os.Getpid(), 1024)
scon := NewContext(processLabel) scon := NewContext(processLabel)