vendor: docker/docker 4634ce647cf2ce2c6031129ccd109e557244986f
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
		@@ -1,6 +1,6 @@
 | 
			
		||||
# cri dependencies
 | 
			
		||||
github.com/docker/distribution                      0d3efadf0154c2b8a4e7b6621fff9809655cc580
 | 
			
		||||
github.com/docker/docker                            d1d5f6476656c6aad457e2a91d3436e66b6f2251
 | 
			
		||||
github.com/docker/docker                            4634ce647cf2ce2c6031129ccd109e557244986f
 | 
			
		||||
github.com/opencontainers/selinux                   31f70552238c5e017d78c3f1ba65e85f593f48e0 # v1.3.3
 | 
			
		||||
github.com/tchap/go-patricia                        666120de432aea38ab06bd5c818f04f4129882c9 # v2.2.6
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								vendor/github.com/docker/docker/pkg/longpath/longpath.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/docker/docker/pkg/longpath/longpath.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,26 +0,0 @@
 | 
			
		||||
// longpath introduces some constants and helper functions for handling long paths
 | 
			
		||||
// in Windows, which are expected to be prepended with `\\?\` and followed by either
 | 
			
		||||
// a drive letter, a UNC server\share, or a volume identifier.
 | 
			
		||||
 | 
			
		||||
package longpath // import "github.com/docker/docker/pkg/longpath"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Prefix is the longpath prefix for Windows file paths.
 | 
			
		||||
const Prefix = `\\?\`
 | 
			
		||||
 | 
			
		||||
// AddPrefix will add the Windows long path prefix to the path provided if
 | 
			
		||||
// it does not already have it.
 | 
			
		||||
func AddPrefix(path string) string {
 | 
			
		||||
	if !strings.HasPrefix(path, Prefix) {
 | 
			
		||||
		if strings.HasPrefix(path, `\\`) {
 | 
			
		||||
			// This is a UNC path, so we need to add 'UNC' to the path as well.
 | 
			
		||||
			path = Prefix + `UNC` + path[1:]
 | 
			
		||||
		} else {
 | 
			
		||||
			path = Prefix + path
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return path
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/docker/docker/pkg/symlink/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/docker/docker/pkg/symlink/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -12,8 +12,6 @@ import (
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"github.com/docker/docker/pkg/system"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// FollowSymlinkInScope is a wrapper around evalSymlinksInScope that returns an
 | 
			
		||||
@@ -123,7 +121,7 @@ func evalSymlinksInScope(path, root string) (string, error) {
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return "", err
 | 
			
		||||
		}
 | 
			
		||||
		if system.IsAbs(dest) {
 | 
			
		||||
		if isAbs(dest) {
 | 
			
		||||
			b.Reset()
 | 
			
		||||
		}
 | 
			
		||||
		path = dest + string(filepath.Separator) + path
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/docker/docker/pkg/symlink/fs_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/docker/docker/pkg/symlink/fs_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -13,3 +13,5 @@ func evalSymlinks(path string) (string, error) {
 | 
			
		||||
func isDriveOrRoot(p string) bool {
 | 
			
		||||
	return p == string(filepath.Separator)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var isAbs = filepath.IsAbs
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								vendor/github.com/docker/docker/pkg/symlink/fs_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/docker/docker/pkg/symlink/fs_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,7 +7,6 @@ import (
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"github.com/docker/docker/pkg/longpath"
 | 
			
		||||
	"golang.org/x/sys/windows"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -77,7 +76,10 @@ func evalSymlinks(path string) (string, error) {
 | 
			
		||||
	return filepath.Clean(p), nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const utf8RuneSelf = 0x80
 | 
			
		||||
const (
 | 
			
		||||
	utf8RuneSelf   = 0x80
 | 
			
		||||
	longPathPrefix = `\\?\`
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func walkSymlinks(path string) (string, error) {
 | 
			
		||||
	const maxIter = 255
 | 
			
		||||
@@ -92,8 +94,8 @@ func walkSymlinks(path string) (string, error) {
 | 
			
		||||
 | 
			
		||||
		// A path beginning with `\\?\` represents the root, so automatically
 | 
			
		||||
		// skip that part and begin processing the next segment.
 | 
			
		||||
		if strings.HasPrefix(path, longpath.Prefix) {
 | 
			
		||||
			b.WriteString(longpath.Prefix)
 | 
			
		||||
		if strings.HasPrefix(path, longPathPrefix) {
 | 
			
		||||
			b.WriteString(longPathPrefix)
 | 
			
		||||
			path = path[4:]
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
@@ -123,7 +125,7 @@ func walkSymlinks(path string) (string, error) {
 | 
			
		||||
 | 
			
		||||
		// If this is the first segment after the long path prefix, accept the
 | 
			
		||||
		// current segment as a volume root or UNC share and move on to the next.
 | 
			
		||||
		if b.String() == longpath.Prefix {
 | 
			
		||||
		if b.String() == longPathPrefix {
 | 
			
		||||
			b.WriteString(p)
 | 
			
		||||
			b.WriteRune(filepath.Separator)
 | 
			
		||||
			continue
 | 
			
		||||
@@ -146,7 +148,7 @@ func walkSymlinks(path string) (string, error) {
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return "", err
 | 
			
		||||
		}
 | 
			
		||||
		if filepath.IsAbs(dest) || os.IsPathSeparator(dest[0]) {
 | 
			
		||||
		if isAbs(dest) {
 | 
			
		||||
			b.Reset()
 | 
			
		||||
		}
 | 
			
		||||
		path = dest + string(filepath.Separator) + path
 | 
			
		||||
@@ -167,3 +169,17 @@ func isDriveOrRoot(p string) bool {
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// isAbs is a platform-specific wrapper for filepath.IsAbs. On Windows,
 | 
			
		||||
// golang filepath.IsAbs does not consider a path \windows\system32 as absolute
 | 
			
		||||
// as it doesn't start with a drive-letter/colon combination. However, in
 | 
			
		||||
// docker we need to verify things such as WORKDIR /windows/system32 in
 | 
			
		||||
// a Dockerfile (which gets translated to \windows\system32 when being processed
 | 
			
		||||
// by the daemon. This SHOULD be treated as absolute from a docker processing
 | 
			
		||||
// perspective.
 | 
			
		||||
func isAbs(path string) bool {
 | 
			
		||||
	if filepath.IsAbs(path) || strings.HasPrefix(path, string(os.PathSeparator)) {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								vendor/github.com/docker/docker/pkg/system/path_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/docker/docker/pkg/system/path_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,24 +1,27 @@
 | 
			
		||||
package system // import "github.com/docker/docker/pkg/system"
 | 
			
		||||
 | 
			
		||||
import "syscall"
 | 
			
		||||
import "golang.org/x/sys/windows"
 | 
			
		||||
 | 
			
		||||
// GetLongPathName converts Windows short pathnames to full pathnames.
 | 
			
		||||
// For example C:\Users\ADMIN~1 --> C:\Users\Administrator.
 | 
			
		||||
// It is a no-op on non-Windows platforms
 | 
			
		||||
func GetLongPathName(path string) (string, error) {
 | 
			
		||||
	// See https://groups.google.com/forum/#!topic/golang-dev/1tufzkruoTg
 | 
			
		||||
	p := syscall.StringToUTF16(path)
 | 
			
		||||
	p, err := windows.UTF16FromString(path)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", err
 | 
			
		||||
	}
 | 
			
		||||
	b := p // GetLongPathName says we can reuse buffer
 | 
			
		||||
	n, err := syscall.GetLongPathName(&p[0], &b[0], uint32(len(b)))
 | 
			
		||||
	n, err := windows.GetLongPathName(&p[0], &b[0], uint32(len(b)))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", err
 | 
			
		||||
	}
 | 
			
		||||
	if n > uint32(len(b)) {
 | 
			
		||||
		b = make([]uint16, n)
 | 
			
		||||
		_, err = syscall.GetLongPathName(&p[0], &b[0], uint32(len(b)))
 | 
			
		||||
		_, err = windows.GetLongPathName(&p[0], &b[0], uint32(len(b)))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return "", err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return syscall.UTF16ToString(b), nil
 | 
			
		||||
	return windows.UTF16ToString(b), nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										68
									
								
								vendor/github.com/docker/docker/pkg/system/syscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										68
									
								
								vendor/github.com/docker/docker/pkg/system/syscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,7 +1,6 @@
 | 
			
		||||
package system // import "github.com/docker/docker/pkg/system"
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"syscall"
 | 
			
		||||
	"unsafe"
 | 
			
		||||
 | 
			
		||||
@@ -11,36 +10,36 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	OWNER_SECURITY_INFORMATION               = 0x00000001
 | 
			
		||||
	GROUP_SECURITY_INFORMATION               = 0x00000002
 | 
			
		||||
	DACL_SECURITY_INFORMATION                = 0x00000004
 | 
			
		||||
	SACL_SECURITY_INFORMATION                = 0x00000008
 | 
			
		||||
	LABEL_SECURITY_INFORMATION               = 0x00000010
 | 
			
		||||
	ATTRIBUTE_SECURITY_INFORMATION           = 0x00000020
 | 
			
		||||
	SCOPE_SECURITY_INFORMATION               = 0x00000040
 | 
			
		||||
	OWNER_SECURITY_INFORMATION               = windows.OWNER_SECURITY_INFORMATION     // Deprecated: use golang.org/x/sys/windows.OWNER_SECURITY_INFORMATION
 | 
			
		||||
	GROUP_SECURITY_INFORMATION               = windows.GROUP_SECURITY_INFORMATION     // Deprecated: use golang.org/x/sys/windows.GROUP_SECURITY_INFORMATION
 | 
			
		||||
	DACL_SECURITY_INFORMATION                = windows.DACL_SECURITY_INFORMATION      // Deprecated: use golang.org/x/sys/windows.DACL_SECURITY_INFORMATION
 | 
			
		||||
	SACL_SECURITY_INFORMATION                = windows.SACL_SECURITY_INFORMATION      // Deprecated: use golang.org/x/sys/windows.SACL_SECURITY_INFORMATION
 | 
			
		||||
	LABEL_SECURITY_INFORMATION               = windows.LABEL_SECURITY_INFORMATION     // Deprecated: use golang.org/x/sys/windows.LABEL_SECURITY_INFORMATION
 | 
			
		||||
	ATTRIBUTE_SECURITY_INFORMATION           = windows.ATTRIBUTE_SECURITY_INFORMATION // Deprecated: use golang.org/x/sys/windows.ATTRIBUTE_SECURITY_INFORMATION
 | 
			
		||||
	SCOPE_SECURITY_INFORMATION               = windows.SCOPE_SECURITY_INFORMATION     // Deprecated: use golang.org/x/sys/windows.SCOPE_SECURITY_INFORMATION
 | 
			
		||||
	PROCESS_TRUST_LABEL_SECURITY_INFORMATION = 0x00000080
 | 
			
		||||
	ACCESS_FILTER_SECURITY_INFORMATION       = 0x00000100
 | 
			
		||||
	BACKUP_SECURITY_INFORMATION              = 0x00010000
 | 
			
		||||
	PROTECTED_DACL_SECURITY_INFORMATION      = 0x80000000
 | 
			
		||||
	PROTECTED_SACL_SECURITY_INFORMATION      = 0x40000000
 | 
			
		||||
	UNPROTECTED_DACL_SECURITY_INFORMATION    = 0x20000000
 | 
			
		||||
	UNPROTECTED_SACL_SECURITY_INFORMATION    = 0x10000000
 | 
			
		||||
	BACKUP_SECURITY_INFORMATION              = windows.BACKUP_SECURITY_INFORMATION           // Deprecated: use golang.org/x/sys/windows.BACKUP_SECURITY_INFORMATION
 | 
			
		||||
	PROTECTED_DACL_SECURITY_INFORMATION      = windows.PROTECTED_DACL_SECURITY_INFORMATION   // Deprecated: use golang.org/x/sys/windows.PROTECTED_DACL_SECURITY_INFORMATION
 | 
			
		||||
	PROTECTED_SACL_SECURITY_INFORMATION      = windows.PROTECTED_SACL_SECURITY_INFORMATION   // Deprecated: use golang.org/x/sys/windows.PROTECTED_SACL_SECURITY_INFORMATION
 | 
			
		||||
	UNPROTECTED_DACL_SECURITY_INFORMATION    = windows.UNPROTECTED_DACL_SECURITY_INFORMATION // Deprecated: use golang.org/x/sys/windows.UNPROTECTED_DACL_SECURITY_INFORMATION
 | 
			
		||||
	UNPROTECTED_SACL_SECURITY_INFORMATION    = windows.UNPROTECTED_SACL_SECURITY_INFORMATION // Deprecated: use golang.org/x/sys/windows.UNPROTECTED_SACL_SECURITY_INFORMATION
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SE_UNKNOWN_OBJECT_TYPE = iota
 | 
			
		||||
	SE_FILE_OBJECT
 | 
			
		||||
	SE_SERVICE
 | 
			
		||||
	SE_PRINTER
 | 
			
		||||
	SE_REGISTRY_KEY
 | 
			
		||||
	SE_LMSHARE
 | 
			
		||||
	SE_KERNEL_OBJECT
 | 
			
		||||
	SE_WINDOW_OBJECT
 | 
			
		||||
	SE_DS_OBJECT
 | 
			
		||||
	SE_DS_OBJECT_ALL
 | 
			
		||||
	SE_PROVIDER_DEFINED_OBJECT
 | 
			
		||||
	SE_WMIGUID_OBJECT
 | 
			
		||||
	SE_REGISTRY_WOW64_32KEY
 | 
			
		||||
	SE_UNKNOWN_OBJECT_TYPE     = windows.SE_UNKNOWN_OBJECT_TYPE     // Deprecated: use golang.org/x/sys/windows.SE_UNKNOWN_OBJECT_TYPE
 | 
			
		||||
	SE_FILE_OBJECT             = windows.SE_FILE_OBJECT             // Deprecated: use golang.org/x/sys/windows.SE_FILE_OBJECT
 | 
			
		||||
	SE_SERVICE                 = windows.SE_SERVICE                 // Deprecated: use golang.org/x/sys/windows.SE_SERVICE
 | 
			
		||||
	SE_PRINTER                 = windows.SE_PRINTER                 // Deprecated: use golang.org/x/sys/windows.SE_PRINTER
 | 
			
		||||
	SE_REGISTRY_KEY            = windows.SE_REGISTRY_KEY            // Deprecated: use golang.org/x/sys/windows.SE_REGISTRY_KEY
 | 
			
		||||
	SE_LMSHARE                 = windows.SE_LMSHARE                 // Deprecated: use golang.org/x/sys/windows.SE_LMSHARE
 | 
			
		||||
	SE_KERNEL_OBJECT           = windows.SE_KERNEL_OBJECT           // Deprecated: use golang.org/x/sys/windows.SE_KERNEL_OBJECT
 | 
			
		||||
	SE_WINDOW_OBJECT           = windows.SE_WINDOW_OBJECT           // Deprecated: use golang.org/x/sys/windows.SE_WINDOW_OBJECT
 | 
			
		||||
	SE_DS_OBJECT               = windows.SE_DS_OBJECT               // Deprecated: use golang.org/x/sys/windows.SE_DS_OBJECT
 | 
			
		||||
	SE_DS_OBJECT_ALL           = windows.SE_DS_OBJECT_ALL           // Deprecated: use golang.org/x/sys/windows.SE_DS_OBJECT_ALL
 | 
			
		||||
	SE_PROVIDER_DEFINED_OBJECT = windows.SE_PROVIDER_DEFINED_OBJECT // Deprecated: use golang.org/x/sys/windows.SE_PROVIDER_DEFINED_OBJECT
 | 
			
		||||
	SE_WMIGUID_OBJECT          = windows.SE_WMIGUID_OBJECT          // Deprecated: use golang.org/x/sys/windows.SE_WMIGUID_OBJECT
 | 
			
		||||
	SE_REGISTRY_WOW64_32KEY    = windows.SE_REGISTRY_WOW64_32KEY    // Deprecated: use golang.org/x/sys/windows.SE_REGISTRY_WOW64_32KEY
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
@@ -62,9 +61,10 @@ var (
 | 
			
		||||
 | 
			
		||||
// OSVersion is a wrapper for Windows version information
 | 
			
		||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx
 | 
			
		||||
type OSVersion osversion.OSVersion
 | 
			
		||||
type OSVersion = osversion.OSVersion
 | 
			
		||||
 | 
			
		||||
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx
 | 
			
		||||
// TODO: use golang.org/x/sys/windows.OsVersionInfoEx (needs OSVersionInfoSize to be exported)
 | 
			
		||||
type osVersionInfoEx struct {
 | 
			
		||||
	OSVersionInfoSize uint32
 | 
			
		||||
	MajorVersion      uint32
 | 
			
		||||
@@ -83,16 +83,10 @@ type osVersionInfoEx struct {
 | 
			
		||||
// dockerd.exe must be manifested to get the correct version information.
 | 
			
		||||
// Deprecated: use github.com/Microsoft/hcsshim/osversion.Get() instead
 | 
			
		||||
func GetOSVersion() OSVersion {
 | 
			
		||||
	return OSVersion(osversion.Get())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (osv OSVersion) ToString() string {
 | 
			
		||||
	return fmt.Sprintf("%d.%d.%d", osv.MajorVersion, osv.MinorVersion, osv.Build)
 | 
			
		||||
	return osversion.Get()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsWindowsClient returns true if the SKU is client
 | 
			
		||||
// @engine maintainers - this function should not be removed or modified as it
 | 
			
		||||
// is used to enforce licensing restrictions on Windows.
 | 
			
		||||
func IsWindowsClient() bool {
 | 
			
		||||
	osviex := &osVersionInfoEx{OSVersionInfoSize: 284}
 | 
			
		||||
	r1, _, err := procGetVersionExW.Call(uintptr(unsafe.Pointer(osviex)))
 | 
			
		||||
@@ -106,7 +100,7 @@ func IsWindowsClient() bool {
 | 
			
		||||
 | 
			
		||||
// Unmount is a platform-specific helper function to call
 | 
			
		||||
// the unmount syscall. Not supported on Windows
 | 
			
		||||
func Unmount(dest string) error {
 | 
			
		||||
func Unmount(_ string) error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -127,7 +121,7 @@ func CommandLineToArgv(commandLine string) ([]string, error) {
 | 
			
		||||
 | 
			
		||||
	newArgs := make([]string, argc)
 | 
			
		||||
	for i, v := range (*argv)[:argc] {
 | 
			
		||||
		newArgs[i] = string(windows.UTF16ToString((*v)[:]))
 | 
			
		||||
		newArgs[i] = windows.UTF16ToString((*v)[:])
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return newArgs, nil
 | 
			
		||||
@@ -154,7 +148,7 @@ func GetSecurityDescriptorDacl(securityDescriptor *byte, daclPresent *uint32, da
 | 
			
		||||
	r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(securityDescriptor)), uintptr(unsafe.Pointer(daclPresent)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclDefaulted)), 0, 0)
 | 
			
		||||
	if r1 == 0 {
 | 
			
		||||
		if e1 != 0 {
 | 
			
		||||
			result = syscall.Errno(e1)
 | 
			
		||||
			result = e1
 | 
			
		||||
		} else {
 | 
			
		||||
			result = syscall.EINVAL
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/github.com/docker/docker/pkg/system/xattrs_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/docker/docker/pkg/system/xattrs_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -6,16 +6,24 @@ import "golang.org/x/sys/unix"
 | 
			
		||||
// and associated with the given path in the file system.
 | 
			
		||||
// It will returns a nil slice and nil error if the xattr is not set.
 | 
			
		||||
func Lgetxattr(path string, attr string) ([]byte, error) {
 | 
			
		||||
	// Start with a 128 length byte array
 | 
			
		||||
	dest := make([]byte, 128)
 | 
			
		||||
	sz, errno := unix.Lgetxattr(path, attr, dest)
 | 
			
		||||
	if errno == unix.ENODATA {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
 | 
			
		||||
	for errno == unix.ERANGE {
 | 
			
		||||
		// Buffer too small, use zero-sized buffer to get the actual size
 | 
			
		||||
		sz, errno = unix.Lgetxattr(path, attr, []byte{})
 | 
			
		||||
		if errno != nil {
 | 
			
		||||
			return nil, errno
 | 
			
		||||
		}
 | 
			
		||||
	if errno == unix.ERANGE {
 | 
			
		||||
		dest = make([]byte, sz)
 | 
			
		||||
		sz, errno = unix.Lgetxattr(path, attr, dest)
 | 
			
		||||
	}
 | 
			
		||||
	if errno != nil {
 | 
			
		||||
 | 
			
		||||
	switch {
 | 
			
		||||
	case errno == unix.ENODATA:
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	case errno != nil:
 | 
			
		||||
		return nil, errno
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										82
									
								
								vendor/github.com/docker/docker/vendor.conf
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										82
									
								
								vendor/github.com/docker/docker/vendor.conf
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
github.com/Azure/go-ansiterm                        d6e3b3328b783f23731bc4d058875b0371ff8109
 | 
			
		||||
github.com/Microsoft/hcsshim                        2226e083fc390003ae5aa8325c3c92789afa0e7a
 | 
			
		||||
github.com/Microsoft/hcsshim                        b3f49c06ffaeef24d09c6c08ec8ec8425a0303e2 # v0.8.7
 | 
			
		||||
github.com/Microsoft/go-winio                       6c72808b55902eae4c5943626030429ff20f3b63 # v0.4.14
 | 
			
		||||
github.com/docker/libtrust                          9cbd2a1374f46905c68a4eb3694a130610adc62a
 | 
			
		||||
github.com/golang/gddo                              72a348e765d293ed6d1ded7b699591f14d6cd921
 | 
			
		||||
@@ -12,25 +12,25 @@ github.com/konsorten/go-windows-terminal-sequences  f55edac94c9bbba5d6182a4be46d
 | 
			
		||||
github.com/mattn/go-shellwords                      36a9b3c57cb5caa559ff63fb7e9b585f1c00df75 # v1.0.6
 | 
			
		||||
github.com/sirupsen/logrus                          839c75faf7f98a33d445d181f3018b5c3409a45e # v1.4.2
 | 
			
		||||
github.com/tchap/go-patricia                        a7f0089c6f496e8e70402f61733606daa326cac5 # v2.3.0
 | 
			
		||||
golang.org/x/net                                    f3200d17e092c607f615320ecaad13d87ad9a2b3
 | 
			
		||||
golang.org/x/sys                                    c990c680b611ac1aeb7d8f2af94a825f98d69720
 | 
			
		||||
golang.org/x/net                                    0de0cce0169b09b364e001f108dc0399ea8630b3
 | 
			
		||||
golang.org/x/sys                                    d5e6a3e2c0ae16fc7480523ebcb7fd4dd3215489
 | 
			
		||||
github.com/docker/go-units                          519db1ee28dcc9fd2474ae59fca29a810482bfb1 # v0.4.0
 | 
			
		||||
github.com/docker/go-connections                    7395e3f8aa162843a74ed6d48e79627d9792ac55 # v0.4.0
 | 
			
		||||
golang.org/x/text                                   f21a4dfb5e38f5895301dc265a8def02365cc3d0 # v0.3.0
 | 
			
		||||
gotest.tools                                        1083505acf35a0bd8a696b26837e1fb3187a7a83 # v2.3.0
 | 
			
		||||
golang.org/x/text                                   342b2e1fbaa52c93f31447ad2c6abc048c63e475 # v0.3.2
 | 
			
		||||
gotest.tools/v3                                     bb0d8a963040ea5048dcef1a14d8f8b58a33d4b3 # v3.0.2
 | 
			
		||||
github.com/google/go-cmp                            3af367b6b30c263d47e8895973edcca9a49cf029 # v0.2.0
 | 
			
		||||
github.com/syndtr/gocapability                      d98352740cb2c55f81556b63d4a1ec64c5a319c2
 | 
			
		||||
 | 
			
		||||
github.com/RackSec/srslog                           a4725f04ec91af1a91b380da679d6e0c2f061e59
 | 
			
		||||
github.com/imdario/mergo                            1afb36080aec31e0d1528973ebe6721b191b0369 # v0.3.8
 | 
			
		||||
golang.org/x/sync                                   e225da77a7e68af35c70ccbf71af2b83e6acac3c
 | 
			
		||||
golang.org/x/sync                                   cd5d95a43a6e21273425c7ae415d3df9ea832eeb
 | 
			
		||||
 | 
			
		||||
# buildkit
 | 
			
		||||
github.com/moby/buildkit                            f7042823e340d38d1746aa675b83d1aca431cee3
 | 
			
		||||
github.com/tonistiigi/fsutil                        3bbb99cdbd76619ab717299830c60f6f2a533a6b
 | 
			
		||||
github.com/moby/buildkit                            4d8d91bf49c769b8458e9aa84746c842b4a0e39a
 | 
			
		||||
github.com/tonistiigi/fsutil                        013a9fe6aee2d1658457075bf9e688bc8c0be2e0
 | 
			
		||||
github.com/grpc-ecosystem/grpc-opentracing          8e809c8a86450a29b90dcc9efbf062d0fe6d9746
 | 
			
		||||
github.com/opentracing/opentracing-go               1361b9cd60be79c4c3a7fa9841b3c132e40066a7
 | 
			
		||||
github.com/google/shlex                             6f45313302b9c56850fc17f99e40caebce98c716
 | 
			
		||||
github.com/google/shlex                             e7afc7fbc51079733e9468cdfd1efcd7d196cd1d
 | 
			
		||||
github.com/opentracing-contrib/go-stdlib            b1a47cfbdd7543e70e9ef3e73d0802ad306cc1cc
 | 
			
		||||
github.com/mitchellh/hashstructure                  2bca23e0e452137f789efbc8610126fd8b94f73b
 | 
			
		||||
github.com/gofrs/flock                              392e7fae8f1b0bdbd67dad7237d23f618feb6dbb # v0.7.1
 | 
			
		||||
@@ -38,7 +38,7 @@ github.com/gofrs/flock                              392e7fae8f1b0bdbd67dad7237d2
 | 
			
		||||
# libnetwork
 | 
			
		||||
 | 
			
		||||
# When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy.installer accordingly
 | 
			
		||||
github.com/docker/libnetwork                        90afbb01e1d8acacb505a092744ea42b9f167377
 | 
			
		||||
github.com/docker/libnetwork                        bf2bd42abc0a3734f12b5ec724e571434e42c669
 | 
			
		||||
github.com/docker/go-events                         9461782956ad83b30282bf90e31fa6a70c255ba9
 | 
			
		||||
github.com/armon/go-radix                           e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
 | 
			
		||||
github.com/armon/go-metrics                         eb0af217e5e9747e41dd5303755356b62d28e3ec
 | 
			
		||||
@@ -61,7 +61,7 @@ github.com/coreos/etcd                              d57e8b8d97adfc4a6c224fe11671
 | 
			
		||||
github.com/coreos/go-semver                         8ab6407b697782a06568d4b7f1db25550ec2e4c6 # v0.2.0
 | 
			
		||||
github.com/ugorji/go                                b4c50a2b199d93b13dc15e78929cfb23bfdf21ab # v1.1.1
 | 
			
		||||
github.com/hashicorp/consul                         9a9cc9341bb487651a0399e3fc5e1e8a42e62dd9 # v0.5.2
 | 
			
		||||
github.com/miekg/dns                                e57bf427e68187a27e22adceac868350d7a7079b # v1.0.7
 | 
			
		||||
github.com/miekg/dns                                6c0c4e6581f8e173cc562c8b3363ab984e4ae071 # v1.1.27
 | 
			
		||||
github.com/ishidawataru/sctp                        6e2cb1366111dcf547c13531e3a263a067715847
 | 
			
		||||
go.etcd.io/bbolt                                    a0458a2b35708eef59eb5f620ceb3cd1c01a824d # v1.3.3
 | 
			
		||||
 | 
			
		||||
@@ -73,21 +73,23 @@ github.com/opencontainers/go-digest                 279bed98673dd5bef374d3b6e4b0
 | 
			
		||||
# get go-zfs packages
 | 
			
		||||
github.com/mistifyio/go-zfs                         f784269be439d704d3dfa1906f45dd848fed2beb
 | 
			
		||||
 | 
			
		||||
google.golang.org/grpc                              6eaf6f47437a6b4e2153a190160ef39a92c7eceb # v1.23.0
 | 
			
		||||
google.golang.org/grpc                              f495f5b15ae7ccda3b38c53a1bfcde4c1a58a2bc # v1.27.1
 | 
			
		||||
 | 
			
		||||
# The version of runc should match the version that is used by the containerd
 | 
			
		||||
# version that is used. If you need to update runc, open a pull request in
 | 
			
		||||
# the containerd project first, and update both after that is merged.
 | 
			
		||||
# This commit does not need to match RUNC_COMMIT as it is used for helper
 | 
			
		||||
# packages but should be newer or equal.
 | 
			
		||||
github.com/opencontainers/runc                      3e425f80a8c931f88e6d94a8c831b9d5aa481657 # v1.0.0-rc8-92-g84373aaa
 | 
			
		||||
github.com/opencontainers/runc                      dc9208a3303feef5b3839f4323d9beb36df0a9dd # v1.0.0-rc10
 | 
			
		||||
github.com/opencontainers/runtime-spec              29686dbc5559d93fb1ef402eeda3e35c38d75af4 # v1.0.1-59-g29686db
 | 
			
		||||
github.com/opencontainers/image-spec                d60099175f88c47cd379c4738d158884749ed235 # v1.0.1
 | 
			
		||||
github.com/seccomp/libseccomp-golang                689e3c1541a84461afc49c1c87352a6cedf72e9c # v0.9.1
 | 
			
		||||
 | 
			
		||||
# systemd integration (journald, daemon/listeners, containerd/cgroups)
 | 
			
		||||
github.com/coreos/go-systemd/v22                    2d78030078ef61b3cae27f42ad6d0e46db51b339 # v22.0.0
 | 
			
		||||
github.com/godbus/dbus/v5                           37bf87eef99d69c4f1d3528bd66e3a87dc201472 # v5.0.3
 | 
			
		||||
# go-systemd v17 is required by github.com/coreos/pkg/capnslog/journald_formatter.go
 | 
			
		||||
github.com/coreos/go-systemd                        39ca1b05acc7ad1220e09f133283b8859a8b71ab # v17
 | 
			
		||||
github.com/godbus/dbus                              5f6efc7ef2759c81b7ba876593971bfce311eab3 # v4.0.0
 | 
			
		||||
 | 
			
		||||
# gelf logging driver deps
 | 
			
		||||
github.com/Graylog2/go-gelf                         1550ee647df0510058c9d67a45c56f18911d80b8 # v2 branch
 | 
			
		||||
@@ -101,41 +103,40 @@ github.com/tinylib/msgp                             af6442a0fcf6e2a1b824f70dd0c7
 | 
			
		||||
github.com/fsnotify/fsnotify                        1485a34d5d5723fea214f5710708e19a831720e4 # v1.4.7-11-g1485a34
 | 
			
		||||
 | 
			
		||||
# awslogs deps
 | 
			
		||||
github.com/aws/aws-sdk-go                           9ed0c8de252f04ac45a65358377103d5a1aa2d92 # v1.12.66
 | 
			
		||||
github.com/go-ini/ini                               300e940a926eb277d3901b20bdfcc54928ad3642 # v1.25.4
 | 
			
		||||
github.com/jmespath/go-jmespath                     0b12d6b521d83fc7f755e7cfc1b1fbdd35a01a74
 | 
			
		||||
github.com/aws/aws-sdk-go                           2590bc875c54c9fda225d8e4e56a9d28d90c6a47 # v1.28.11
 | 
			
		||||
github.com/jmespath/go-jmespath                     c2b33e8439af944379acbdd9c3a5fe0bc44bd8a5 # see https://github.com/aws/aws-sdk-go/blob/2590bc875c54c9fda225d8e4e56a9d28d90c6a47/Gopkg.toml#L42
 | 
			
		||||
 | 
			
		||||
# logentries
 | 
			
		||||
github.com/bsphere/le_go                            7a984a84b5492ae539b79b62fb4a10afc63c7bcf
 | 
			
		||||
 | 
			
		||||
# gcplogs deps
 | 
			
		||||
golang.org/x/oauth2                                 ec22f46f877b4505e0117eeaab541714644fdd28
 | 
			
		||||
golang.org/x/oauth2                                 bf48bf16ab8d622ce64ec6ce98d2c98f916b6303
 | 
			
		||||
google.golang.org/api                               de943baf05a022a8f921b544b7827bacaba1aed5
 | 
			
		||||
go.opencensus.io                                    c3ed530f775d85e577ca652cb052a52c078aad26 # v0.11.0
 | 
			
		||||
cloud.google.com/go                                 0fd7230b2a7505833d5f69b75cbd6c9582401479 # v0.23.0
 | 
			
		||||
github.com/googleapis/gax-go                        317e0006254c44a0ac427cc52a0e083ff0b9622f # v2.0.0
 | 
			
		||||
google.golang.org/genproto                          694d95ba50e67b2e363f3483057db5d4910c18f9
 | 
			
		||||
google.golang.org/genproto                          3f1135a288c9a07e340ae8ba4cc6c7065a3160e8
 | 
			
		||||
 | 
			
		||||
# containerd
 | 
			
		||||
github.com/containerd/containerd                    36cf5b690dcc00ff0f34ff7799209050c3d0c59a # v1.3.0
 | 
			
		||||
github.com/containerd/fifo                          bda0ff6ed73c67bfb5e62bc9c697f146b7fd7f13
 | 
			
		||||
github.com/containerd/continuity                    f2a389ac0a02ce21c09edd7344677a601970f41c
 | 
			
		||||
github.com/containerd/cgroups                       5fbad35c2a7e855762d3c60f2e474ffcad0d470a
 | 
			
		||||
github.com/containerd/console                       0650fd9eeb50bab4fc99dceb9f2e14cf58f36e7f
 | 
			
		||||
github.com/containerd/go-runc                       e029b79d8cda8374981c64eba71f28ec38e5526f
 | 
			
		||||
github.com/containerd/typeurl                       2a93cfde8c20b23de8eb84a5adbc234ddf7a9e8d
 | 
			
		||||
github.com/containerd/ttrpc                         92c8520ef9f86600c650dd540266a007bf03670f
 | 
			
		||||
github.com/gogo/googleapis                          d31c731455cb061f42baff3bda55bad0118b126b # v1.2.0
 | 
			
		||||
github.com/containerd/containerd                    4d242818bf55542e5d7876ca276fea83029e803c
 | 
			
		||||
github.com/containerd/fifo                          ff969a566b00877c63489baf6e8c35d60af6142c
 | 
			
		||||
github.com/containerd/continuity                    26c1120b8d4107d2471b93ad78ef7ce1fc84c4c4
 | 
			
		||||
github.com/containerd/cgroups                       44306b6a1d46985d916b48b4199f93a378af314f
 | 
			
		||||
github.com/containerd/console                       8375c3424e4d7b114e8a90a4a40c8e1b40d1d4e6
 | 
			
		||||
github.com/containerd/go-runc                       7016d3ce2328dd2cb1192b2076ebd565c4e8df0c
 | 
			
		||||
github.com/containerd/typeurl                       b45ef1f1f737e10bd45b25b669df25f0da8b9ba0
 | 
			
		||||
github.com/containerd/ttrpc                         0be804eadb152bc3b3c20c5edc314c4633833398
 | 
			
		||||
github.com/gogo/googleapis                          01e0f9cca9b92166042241267ee2a5cdf5cff46c # v1.3.2
 | 
			
		||||
 | 
			
		||||
# cluster
 | 
			
		||||
github.com/docker/swarmkit                          7dded76ec532741c1ad9736cd2bb6d6661f0a386
 | 
			
		||||
github.com/gogo/protobuf                            ba06b47c162d49f2af050fb4c75bcbc86a159d5c # v1.2.1
 | 
			
		||||
github.com/golang/protobuf                          aa810b61a9c79d51363740d207bb46cf8e620ed5 # v1.2.0
 | 
			
		||||
github.com/docker/swarmkit                          49e35619b18200845c9365c1e953440c28868002
 | 
			
		||||
github.com/gogo/protobuf                            5628607bb4c51c3157aacc3a50f0ab707582b805 # v1.3.1
 | 
			
		||||
github.com/golang/protobuf                          d23c5127dc24889085f8ccea5c9d560a57a879d8 # v1.3.3
 | 
			
		||||
github.com/cloudflare/cfssl                         5d63dbd981b5c408effbb58c442d54761ff94fbd # 1.3.2
 | 
			
		||||
github.com/fernet/fernet-go                         9eac43b88a5efb8651d24de9b68e87567e029736
 | 
			
		||||
github.com/google/certificate-transparency-go       37a384cd035e722ea46e55029093e26687138edf # v1.0.20
 | 
			
		||||
golang.org/x/crypto                                 88737f569e3a9c7ab309cdc09a07fe7fc87233c3
 | 
			
		||||
golang.org/x/time                                   fbb02b2291d28baffd63558aa44b4b56f178d650
 | 
			
		||||
golang.org/x/crypto                                 2aa609cf4a9d7d1126360de73b55b6002f9e052a
 | 
			
		||||
golang.org/x/time                                   555d28b269f0569763d25dbe1a237ae74c6bcc82
 | 
			
		||||
github.com/hashicorp/go-memdb                       cb9a474f84cc5e41b273b20c6927680b2a8776ad
 | 
			
		||||
github.com/hashicorp/go-immutable-radix             826af9ccf0feeee615d546d69b11f8e98da8c8f1 git://github.com/tonistiigi/go-immutable-radix.git
 | 
			
		||||
github.com/hashicorp/golang-lru                     7f827b33c0f158ec5dfbba01bb0b14a4541fd81d # v0.5.3
 | 
			
		||||
@@ -143,14 +144,15 @@ github.com/coreos/pkg                               3ac0863d7acf3bc44daf49afef89
 | 
			
		||||
code.cloudfoundry.org/clock                         02e53af36e6c978af692887ed449b74026d76fec
 | 
			
		||||
 | 
			
		||||
# prometheus
 | 
			
		||||
github.com/prometheus/client_golang                 c5b7fccd204277076155f10851dad72b76a49317 # v0.8.0
 | 
			
		||||
github.com/beorn7/perks                             e7f67b54abbeac9c40a31de0f81159e4cafebd6a
 | 
			
		||||
github.com/prometheus/client_model                  6f3806018612930941127f2a7c6c453ba2c527d2
 | 
			
		||||
github.com/prometheus/common                        7600349dcfe1abd18d72d3a1770870d9800a7801
 | 
			
		||||
github.com/prometheus/procfs                        7d6f385de8bea29190f15ba9931442a0eaef9af7
 | 
			
		||||
github.com/prometheus/client_golang                 c42bebe5a5cddfc6b28cd639103369d8a75dfa89 # v1.3.0
 | 
			
		||||
github.com/beorn7/perks                             37c8de3658fcb183f997c4e13e8337516ab753e6 # v1.0.1
 | 
			
		||||
github.com/prometheus/client_model                  d1d2010b5beead3fa1c5f271a5cf626e40b3ad6e # v0.1.0
 | 
			
		||||
github.com/prometheus/common                        287d3e634a1e550c9e463dd7e5a75a422c614505 # v0.7.0
 | 
			
		||||
github.com/prometheus/procfs                        6d489fc7f1d9cd890a250f3ea3431b1744b9623f # v0.0.8
 | 
			
		||||
github.com/matttproud/golang_protobuf_extensions    c12348ce28de40eed0136aa2b644d0ee0650e56c # v1.0.1
 | 
			
		||||
github.com/pkg/errors                               ba968bfe8b2f7e042a574c888954fccecfa385b4 # v0.8.1
 | 
			
		||||
github.com/grpc-ecosystem/go-grpc-prometheus        c225b8c3b01faf2899099b768856a9e916e5087b # v1.2.0
 | 
			
		||||
github.com/cespare/xxhash/v2                        d7df74196a9e781ede915320c11c378c1b2f3a1f # v2.1.1
 | 
			
		||||
 | 
			
		||||
# cli
 | 
			
		||||
github.com/spf13/cobra                              ef82de70bb3f60c65fb8eebacbb2d122ef517385 # v0.0.3
 | 
			
		||||
@@ -159,8 +161,8 @@ github.com/inconshreveable/mousetrap                76626ae9c91c4f2a10f34cad8ce8
 | 
			
		||||
github.com/morikuni/aec                             39771216ff4c63d11f5e604076f9c45e8be1067b
 | 
			
		||||
 | 
			
		||||
# metrics
 | 
			
		||||
github.com/docker/go-metrics                        d466d4f6fd960e01820085bd7e1a24426ee7ef18
 | 
			
		||||
github.com/docker/go-metrics                        b619b3592b65de4f087d9f16863a7e6ff905973c # v0.0.1
 | 
			
		||||
 | 
			
		||||
github.com/opencontainers/selinux                   3a1f366feb7aecbf7a0e71ac4cea88b31597de9e # v1.2.2
 | 
			
		||||
github.com/opencontainers/selinux                   31f70552238c5e017d78c3f1ba65e85f593f48e0 # v1.3.3
 | 
			
		||||
 | 
			
		||||
# DO NOT EDIT BELOW THIS LINE -------- reserved for downstream projects --------
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user