Merge pull request #166 from gitido/fixes

Go1.5 compatibility fix
This commit is contained in:
Mrunal Patel 2015-08-03 13:51:26 -07:00
commit ce0a339632
3 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,10 @@
// +build linux,!go1.5
package libcontainer
import "syscall"
// GidMappingsEnableSetgroups was added in Go 1.5, so do nothing when building
// with earlier versions
func enableSetgroups(sys *syscall.SysProcAttr) {
}

View File

@ -164,6 +164,7 @@ func (c *linuxContainer) newInitProcess(p *Process, cmd *exec.Cmd, parentPipe, c
// user mappings are not supported // user mappings are not supported
return nil, err return nil, err
} }
enableSetgroups(cmd.SysProcAttr)
// Default to root user when user namespaces are enabled. // Default to root user when user namespaces are enabled.
if cmd.SysProcAttr.Credential == nil { if cmd.SysProcAttr.Credential == nil {
cmd.SysProcAttr.Credential = &syscall.Credential{} cmd.SysProcAttr.Credential = &syscall.Credential{}

View File

@ -0,0 +1,11 @@
// +build linux,go1.5
package libcontainer
import "syscall"
// Set the GidMappingsEnableSetgroups member to true, so the process's
// setgroups proc entry wont be set to 'deny' if GidMappings are set
func enableSetgroups(sys *syscall.SysProcAttr) {
sys.GidMappingsEnableSetgroups = true
}