bump gocapability

full diff: db04d3cc01...d98352740c

changes included:

  - syndtr/gocapability#14 capability: Deprecate NewPid and NewFile for NewPid2 and NewFile2
  - syndtr/gocapability#16 Fix capHeader.pid type

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2019-04-14 13:55:08 +02:00
parent b819d05fd0
commit 0fd02564a2
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
4 changed files with 70 additions and 17 deletions

View File

@ -38,7 +38,7 @@ github.com/Microsoft/hcsshim 8abdbb8205e4192c68b5f84c31197156f31be517
google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944
golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4 golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4
github.com/containerd/ttrpc f02858b1457c5ca3aaec3a0803eb0d59f96e41d6 github.com/containerd/ttrpc f02858b1457c5ca3aaec3a0803eb0d59f96e41d6
github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16 github.com/syndtr/gocapability d98352740cb2c55f81556b63d4a1ec64c5a319c2
gotest.tools v2.3.0 gotest.tools v2.3.0
github.com/google/go-cmp v0.2.0 github.com/google/go-cmp v0.2.0
go.etcd.io/bbolt v1.3.2 go.etcd.io/bbolt v1.3.2

View File

@ -60,13 +60,74 @@ type Capabilities interface {
Apply(kind CapType) error Apply(kind CapType) error
} }
// NewPid create new initialized Capabilities object for given pid when it // NewPid initializes a new Capabilities object for given pid when
// is nonzero, or for the current pid if pid is 0 // it is nonzero, or for the current process if pid is 0.
//
// Deprecated: Replace with NewPid2. For example, replace:
//
// c, err := NewPid(0)
// if err != nil {
// return err
// }
//
// with:
//
// c, err := NewPid2(0)
// if err != nil {
// return err
// }
// err = c.Load()
// if err != nil {
// return err
// }
func NewPid(pid int) (Capabilities, error) { func NewPid(pid int) (Capabilities, error) {
c, err := newPid(pid)
if err != nil {
return c, err
}
err = c.Load()
return c, err
}
// NewPid2 initializes a new Capabilities object for given pid when
// it is nonzero, or for the current process if pid is 0. This
// does not load the process's current capabilities; to do that you
// must call Load explicitly.
func NewPid2(pid int) (Capabilities, error) {
return newPid(pid) return newPid(pid)
} }
// NewFile create new initialized Capabilities object for given named file. // NewFile initializes a new Capabilities object for given file path.
func NewFile(name string) (Capabilities, error) { //
return newFile(name) // Deprecated: Replace with NewFile2. For example, replace:
//
// c, err := NewFile(path)
// if err != nil {
// return err
// }
//
// with:
//
// c, err := NewFile2(path)
// if err != nil {
// return err
// }
// err = c.Load()
// if err != nil {
// return err
// }
func NewFile(path string) (Capabilities, error) {
c, err := newFile(path)
if err != nil {
return c, err
}
err = c.Load()
return c, err
}
// NewFile2 creates a new initialized Capabilities object for given
// file path. This does not load the process's current capabilities;
// to do that you must call Load explicitly.
func NewFile2(path string) (Capabilities, error) {
return newFile(path)
} }

View File

@ -103,21 +103,17 @@ func newPid(pid int) (c Capabilities, err error) {
case linuxCapVer1: case linuxCapVer1:
p := new(capsV1) p := new(capsV1)
p.hdr.version = capVers p.hdr.version = capVers
p.hdr.pid = pid p.hdr.pid = int32(pid)
c = p c = p
case linuxCapVer2, linuxCapVer3: case linuxCapVer2, linuxCapVer3:
p := new(capsV3) p := new(capsV3)
p.hdr.version = capVers p.hdr.version = capVers
p.hdr.pid = pid p.hdr.pid = int32(pid)
c = p c = p
default: default:
err = errUnknownVers err = errUnknownVers
return return
} }
err = c.Load()
if err != nil {
c = nil
}
return return
} }
@ -492,10 +488,6 @@ func (c *capsV3) Apply(kind CapType) (err error) {
func newFile(path string) (c Capabilities, err error) { func newFile(path string) (c Capabilities, err error) {
c = &capsFile{path: path} c = &capsFile{path: path}
err = c.Load()
if err != nil {
c = nil
}
return return
} }

View File

@ -13,7 +13,7 @@ import (
type capHeader struct { type capHeader struct {
version uint32 version uint32
pid int pid int32
} }
type capData struct { type capData struct {