github.com/cloudfoundry-attic/garden-linux@v0.333.2-candidate/containerizer/capabilities_step.go (about)

     1  package containerizer
     2  
     3  import "fmt"
     4  
     5  //go:generate counterfeiter -o fake_capabilities/FakeCapabilities.go . Capabilities
     6  type Capabilities interface {
     7  	Limit(bool) error
     8  }
     9  
    10  type CapabilitiesStep struct {
    11  	Drop         bool
    12  	Capabilities Capabilities
    13  }
    14  
    15  func (step *CapabilitiesStep) Run() error {
    16  	if !step.Drop {
    17  		return nil
    18  	}
    19  
    20  	if err := step.Capabilities.Limit(false); err != nil {
    21  		return fmt.Errorf("containerizer: limitting capabilities: %s\n", err)
    22  	}
    23  
    24  	return nil
    25  }