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)
Upstream-commit: 32ad78b0430079dcc53c245826a244afa2d9b6b6
Component: engine
This commit is contained in:
Dan Walsh
2014-04-03 09:32:29 -04:00
parent f8b0436ea5
commit 9870b5b4e4
+7 -5
View File
@@ -312,13 +312,10 @@ func GetLxcContexts() (processLabel string, fileLabel string) {
if !SelinuxEnabled() {
return "", ""
}
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"
lxcPath := fmt.Sprintf("%s/contexts/lxc_contexts", GetSELinuxPolicyRoot())
in, err := os.Open(lxcPath)
if err != nil {
goto exit
return "", ""
}
defer in.Close()
@@ -352,6 +349,11 @@ func GetLxcContexts() (processLabel string, fileLabel string) {
}
}
}
if processLabel == "" || fileLabel == "" {
return "", ""
}
exit:
mcs := IntToMcs(os.Getpid(), 1024)
scon := NewContext(processLabel)