mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-10-31 16:13:45 +08:00 
			
		
		
		
	vendor: update buildkit to opentelemetry support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
		
							
								
								
									
										17
									
								
								vendor/github.com/Microsoft/hcsshim/.gometalinter.json
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/Microsoft/hcsshim/.gometalinter.json
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,17 +0,0 @@ | ||||
| { | ||||
|     "Vendor": true, | ||||
|     "Deadline": "2m", | ||||
|     "Sort": [ | ||||
|         "linter", | ||||
|         "severity", | ||||
|         "path", | ||||
|         "line" | ||||
|     ], | ||||
|     "Skip": [ | ||||
|         "internal\\schema2" | ||||
|     ], | ||||
|     "EnableGC": true, | ||||
|     "Enable": [ | ||||
|         "gofmt" | ||||
|     ] | ||||
| } | ||||
							
								
								
									
										22
									
								
								vendor/github.com/Microsoft/hcsshim/Protobuild.toml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/Microsoft/hcsshim/Protobuild.toml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -35,20 +35,10 @@ plugins = ["grpc", "fieldpath"] | ||||
| prefixes = ["github.com/Microsoft/hcsshim/internal/shimdiag"] | ||||
| plugins = ["ttrpc"] | ||||
|  | ||||
| # Lock down runhcs config | ||||
| [[overrides]] | ||||
| prefixes = ["github.com/Microsoft/hcsshim/internal/computeagent"] | ||||
| plugins = ["ttrpc"] | ||||
|  | ||||
| [[descriptors]] | ||||
| prefix = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options" | ||||
| target = "cmd/containerd-shim-runhcs-v1/options/next.pb.txt" | ||||
| ignore_files = [ | ||||
| 	"google/protobuf/descriptor.proto", | ||||
| 	"gogoproto/gogo.proto" | ||||
| ] | ||||
|  | ||||
| [[descriptors]] | ||||
| prefix = "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats" | ||||
| target = "cmd/containerd-shim-runhcs-v1/stats/next.pb.txt" | ||||
| ignore_files = [ | ||||
| 	"google/protobuf/descriptor.proto", | ||||
| 	"gogoproto/gogo.proto" | ||||
| ] | ||||
| [[overrides]] | ||||
| prefixes = ["github.com/Microsoft/hcsshim/internal/ncproxyttrpc"] | ||||
| plugins = ["ttrpc"] | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| # hcsshim | ||||
|  | ||||
| [](https://ci.appveyor.com/project/WindowsVirtualization/hcsshim/branch/master) | ||||
| [](https://github.com/microsoft/hcsshim/actions?query=branch%3Amaster) | ||||
|  | ||||
| This package contains the Golang interface for using the Windows [Host Compute Service](https://techcommunity.microsoft.com/t5/containers/introducing-the-host-compute-service-hcs/ba-p/382332) (HCS) to launch and manage [Windows Containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/). It also contains other helpers and functions for managing Windows Containers such as the Golang interface for the Host Network Service (HNS). | ||||
|  | ||||
|   | ||||
							
								
								
									
										49
									
								
								vendor/github.com/Microsoft/hcsshim/appveyor.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								vendor/github.com/Microsoft/hcsshim/appveyor.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,49 +0,0 @@ | ||||
| version: 0.1.{build} | ||||
|  | ||||
| image: Visual Studio 2019 | ||||
|  | ||||
| clone_folder: c:\gopath\src\github.com\Microsoft\hcsshim | ||||
|  | ||||
| environment: | ||||
|   GOPATH: c:\gopath | ||||
|   PATH: "%GOPATH%\\bin;C:\\gometalinter-2.0.12-windows-amd64;%PATH%" | ||||
|   GOPROXY: 'off' | ||||
|   GOFLAGS: '-mod=vendor' | ||||
|  | ||||
| stack: go 1.15 | ||||
|  | ||||
| build_script: | ||||
|   - appveyor DownloadFile https://github.com/alecthomas/gometalinter/releases/download/v2.0.12/gometalinter-2.0.12-windows-amd64.zip | ||||
|   - 7z x gometalinter-2.0.12-windows-amd64.zip -y -oC:\ > NUL | ||||
|   - gometalinter.exe --config .gometalinter.json ./... | ||||
|   - go build ./cmd/containerd-shim-runhcs-v1 | ||||
|   - go build ./cmd/runhcs | ||||
|   - go build ./cmd/tar2ext4 | ||||
|   - go build ./cmd/wclayer | ||||
|   - go build ./cmd/device-util | ||||
|   - go build ./internal/tools/grantvmgroupaccess | ||||
|   - go build ./internal/tools/uvmboot | ||||
|   - go build ./internal/tools/zapdir | ||||
|   - go test -gcflags=all=-d=checkptr -v ./... -tags admin | ||||
|   - cd test | ||||
|   - go test -gcflags=all=-d=checkptr -v ./internal -tags admin | ||||
|   - go test -gcflags=all=-d=checkptr -c ./containerd-shim-runhcs-v1/ -tags functional | ||||
|   - go test -gcflags=all=-d=checkptr -c ./cri-containerd/ -tags functional | ||||
|   - go test -gcflags=all=-d=checkptr -c ./functional/ -tags functional | ||||
|   - go test -gcflags=all=-d=checkptr -c ./runhcs/ -tags functional | ||||
|   - go build -o sample-logging-driver.exe ./cri-containerd/helpers/log.go | ||||
|  | ||||
| artifacts: | ||||
|   - path: 'containerd-shim-runhcs-v1.exe' | ||||
|   - path: 'runhcs.exe' | ||||
|   - path: 'tar2ext4.exe' | ||||
|   - path: 'device-util.exe' | ||||
|   - path: 'wclayer.exe' | ||||
|   - path: 'grantvmgroupaccess.exe'   | ||||
|   - path: 'uvmboot.exe' | ||||
|   - path: 'zapdir.exe' | ||||
|   - path: './test/containerd-shim-runhcs-v1.test.exe' | ||||
|   - path: './test/cri-containerd.test.exe' | ||||
|   - path: './test/functional.test.exe' | ||||
|   - path: './test/runhcs.test.exe' | ||||
|   - path: './test/sample-logging-driver.exe' | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/attach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/attach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -18,7 +18,7 @@ import ( | ||||
| // `layerData` is the parent read-only layer data. | ||||
| func AttachLayerStorageFilter(ctx context.Context, layerPath string, layerData LayerData) (err error) { | ||||
| 	title := "hcsshim.AttachLayerStorageFilter" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/destroy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/destroy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ import ( | ||||
| // `layerPath` is a path to a directory containing the layer to export. | ||||
| func DestroyLayer(ctx context.Context, layerPath string) (err error) { | ||||
| 	title := "hcsshim.DestroyLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("layerPath", layerPath)) | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/detach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/detach.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ import ( | ||||
| // `layerPath` is a path to a directory containing the layer to export. | ||||
| func DetachLayerStorageFilter(ctx context.Context, layerPath string) (err error) { | ||||
| 	title := "hcsshim.DetachLayerStorageFilter" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("layerPath", layerPath)) | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/export.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/export.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -20,7 +20,7 @@ import ( | ||||
| // `options` are the export options applied to the exported layer. | ||||
| func ExportLayer(ctx context.Context, layerPath, exportFolderPath string, layerData LayerData, options ExportLayerOptions) (err error) { | ||||
| 	title := "hcsshim.ExportLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/format.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/format.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ import ( | ||||
| // If the VHD is not mounted it will be temporarily mounted. | ||||
| func FormatWritableLayerVhd(ctx context.Context, vhdHandle windows.Handle) (err error) { | ||||
| 	title := "hcsshim.FormatWritableLayerVhd" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
|  | ||||
|   | ||||
							
								
								
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -70,11 +70,9 @@ func SetupContainerBaseLayer(ctx context.Context, layerPath, baseVhdPath, diffVh | ||||
|  | ||||
| 	defer func() { | ||||
| 		if err != nil { | ||||
| 			syscall.CloseHandle(handle) | ||||
| 			_ = syscall.CloseHandle(handle) | ||||
| 			os.RemoveAll(baseVhdPath) | ||||
| 			if os.Stat(diffVhdPath); err == nil { | ||||
| 				os.RemoveAll(diffVhdPath) | ||||
| 			} | ||||
| 			os.RemoveAll(diffVhdPath) | ||||
| 		} | ||||
| 	}() | ||||
|  | ||||
| @@ -148,11 +146,9 @@ func SetupUtilityVMBaseLayer(ctx context.Context, uvmPath, baseVhdPath, diffVhdP | ||||
|  | ||||
| 	defer func() { | ||||
| 		if err != nil { | ||||
| 			syscall.CloseHandle(handle) | ||||
| 			_ = syscall.CloseHandle(handle) | ||||
| 			os.RemoveAll(baseVhdPath) | ||||
| 			if os.Stat(diffVhdPath); err == nil { | ||||
| 				os.RemoveAll(diffVhdPath) | ||||
| 			} | ||||
| 			os.RemoveAll(diffVhdPath) | ||||
| 		} | ||||
| 	}() | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/import.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/import.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -20,7 +20,7 @@ import ( | ||||
| // `layerData` is the parent layer data. | ||||
| func ImportLayer(ctx context.Context, layerPath, sourceFolderPath string, layerData LayerData) (err error) { | ||||
| 	title := "hcsshim.ImportLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/initialize.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/initialize.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,7 +17,7 @@ import ( | ||||
| // `layerData` is the parent read-only layer data. | ||||
| func InitializeWritableLayer(ctx context.Context, layerPath string, layerData LayerData) (err error) { | ||||
| 	title := "hcsshim.InitializeWritableLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/mount.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/mount.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ import ( | ||||
| // GetLayerVhdMountPath returns the volume path for a virtual disk of a writable container layer. | ||||
| func GetLayerVhdMountPath(ctx context.Context, vhdHandle windows.Handle) (path string, err error) { | ||||
| 	title := "hcsshim.GetLayerVhdMountPath" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/setup.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/setup.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -22,7 +22,7 @@ import ( | ||||
| // `options` are the options applied while processing the layer. | ||||
| func SetupBaseOSLayer(ctx context.Context, layerPath string, vhdHandle windows.Handle, options OsLayerOptions) (err error) { | ||||
| 	title := "hcsshim.SetupBaseOSLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
| @@ -53,7 +53,7 @@ func SetupBaseOSVolume(ctx context.Context, layerPath, volumePath string, option | ||||
| 		return errors.New("SetupBaseOSVolume is not present on builds older than 19645") | ||||
| 	} | ||||
| 	title := "hcsshim.SetupBaseOSVolume" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										26
									
								
								vendor/github.com/Microsoft/hcsshim/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/Microsoft/hcsshim/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -83,7 +83,6 @@ type NetworkNotFoundError = hns.NetworkNotFoundError | ||||
| type ProcessError struct { | ||||
| 	Process   *process | ||||
| 	Operation string | ||||
| 	ExtraInfo string | ||||
| 	Err       error | ||||
| 	Events    []hcs.ErrorEvent | ||||
| } | ||||
| @@ -92,7 +91,6 @@ type ProcessError struct { | ||||
| type ContainerError struct { | ||||
| 	Container *container | ||||
| 	Operation string | ||||
| 	ExtraInfo string | ||||
| 	Err       error | ||||
| 	Events    []hcs.ErrorEvent | ||||
| } | ||||
| @@ -125,22 +123,9 @@ func (e *ContainerError) Error() string { | ||||
| 		s += "\n" + ev.String() | ||||
| 	} | ||||
|  | ||||
| 	if e.ExtraInfo != "" { | ||||
| 		s += " extra info: " + e.ExtraInfo | ||||
| 	} | ||||
|  | ||||
| 	return s | ||||
| } | ||||
|  | ||||
| func makeContainerError(container *container, operation string, extraInfo string, err error) error { | ||||
| 	// Don't double wrap errors | ||||
| 	if _, ok := err.(*ContainerError); ok { | ||||
| 		return err | ||||
| 	} | ||||
| 	containerError := &ContainerError{Container: container, Operation: operation, ExtraInfo: extraInfo, Err: err} | ||||
| 	return containerError | ||||
| } | ||||
|  | ||||
| func (e *ProcessError) Error() string { | ||||
| 	if e == nil { | ||||
| 		return "<nil>" | ||||
| @@ -171,15 +156,6 @@ func (e *ProcessError) Error() string { | ||||
| 	return s | ||||
| } | ||||
|  | ||||
| func makeProcessError(process *process, operation string, extraInfo string, err error) error { | ||||
| 	// Don't double wrap errors | ||||
| 	if _, ok := err.(*ProcessError); ok { | ||||
| 		return err | ||||
| 	} | ||||
| 	processError := &ProcessError{Process: process, Operation: operation, ExtraInfo: extraInfo, Err: err} | ||||
| 	return processError | ||||
| } | ||||
|  | ||||
| // IsNotExist checks if an error is caused by the Container or Process not existing. | ||||
| // Note: Currently, ErrElementNotFound can mean that a Process has either | ||||
| // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist | ||||
| @@ -256,7 +232,7 @@ func getInnerError(err error) error { | ||||
|  | ||||
| func convertSystemError(err error, c *container) error { | ||||
| 	if serr, ok := err.(*hcs.SystemError); ok { | ||||
| 		return &ContainerError{Container: c, Operation: serr.Op, ExtraInfo: serr.Extra, Err: serr.Err, Events: serr.Events} | ||||
| 		return &ContainerError{Container: c, Operation: serr.Op, Err: serr.Err, Events: serr.Events} | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
|   | ||||
							
								
								
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,10 +4,10 @@ go 1.13 | ||||
|  | ||||
| require ( | ||||
| 	github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3 | ||||
| 	github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102 | ||||
| 	github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68 | ||||
| 	github.com/containerd/console v1.0.1 | ||||
| 	github.com/containerd/containerd v1.5.0-beta.1 | ||||
| 	github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328 | ||||
| 	github.com/containerd/containerd v1.5.0-beta.4 | ||||
| 	github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0 | ||||
| 	github.com/containerd/ttrpc v1.0.2 | ||||
| 	github.com/containerd/typeurl v1.0.1 | ||||
| 	github.com/gogo/protobuf v1.3.2 | ||||
| @@ -16,7 +16,7 @@ require ( | ||||
| 	github.com/sirupsen/logrus v1.7.0 | ||||
| 	github.com/urfave/cli v1.22.2 | ||||
| 	go.opencensus.io v0.22.3 | ||||
| 	golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 | ||||
| 	golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c | ||||
| 	google.golang.org/grpc v1.30.0 | ||||
| 	golang.org/x/sync v0.0.0-20201207232520-09787c993a3a | ||||
| 	golang.org/x/sys v0.0.0-20210324051608-47abb6519492 | ||||
| 	google.golang.org/grpc v1.33.2 | ||||
| ) | ||||
|   | ||||
							
								
								
									
										109
									
								
								vendor/github.com/Microsoft/hcsshim/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										109
									
								
								vendor/github.com/Microsoft/hcsshim/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -34,15 +34,12 @@ github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935 | ||||
| github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= | ||||
| github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= | ||||
| github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= | ||||
| github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= | ||||
| github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | ||||
| github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= | ||||
| github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= | ||||
| github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= | ||||
| github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= | ||||
| github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 h1:3YnB7Hpmh1lPecPE8doMOtYCrMdrpedZOvxfuNES/Vk= | ||||
| github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= | ||||
| github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= | ||||
| github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= | ||||
| github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3 h1:mw6pDQqv38/WGF1cO/jF5t/jyAJ2yi7CmtFLLO5tGFI= | ||||
| github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= | ||||
| @@ -51,7 +48,9 @@ github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3h | ||||
| github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= | ||||
| github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= | ||||
| github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= | ||||
| github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= | ||||
| github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= | ||||
| github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= | ||||
| github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= | ||||
| github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= | ||||
| github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= | ||||
| @@ -90,15 +89,17 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk | ||||
| github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= | ||||
| github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= | ||||
| github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= | ||||
| github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= | ||||
| github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= | ||||
| github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= | ||||
| github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= | ||||
| github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= | ||||
| github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= | ||||
| github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59 h1:qWj4qVYZ95vLWwqyNJCQg7rDsG5wPdze0UaPolH7DUk= | ||||
| github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= | ||||
| github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= | ||||
| github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102 h1:Qf4HiqfvmB7zS6scsmNgTLmByHbq8n9RTF39v+TzP7A= | ||||
| github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= | ||||
| github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1 h1:uict5mhHFTzKLUCufdSLym7z/J0CbBJT59lYbP9wtbg= | ||||
| github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68 h1:hkGVFjz+plgr5UfxZUTPFbUFIF/Km6/s+RVRIRHLrrY= | ||||
| github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= | ||||
| github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= | ||||
| github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= | ||||
| github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= | ||||
| @@ -108,49 +109,56 @@ github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtM | ||||
| github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.3.2 h1:ForxmXkA6tPIvffbrDAcPUIB32QgXkt2XFj+F0UxetA= | ||||
| github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.5.0-beta.1 h1:IK6yirB4X7wpKyFSikWiT++nZsyIxGAAgNEv3fEGuls= | ||||
| github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= | ||||
| github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= | ||||
| github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc h1:TP+534wVlf61smEIq1nwLLAjQVEK2EADoW3CX9AuT+8= | ||||
| github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= | ||||
| github.com/containerd/containerd v1.5.0-beta.4 h1:zjz4MOAOFgdBlwid2nNUlJ3YLpVi/97L36lfMYJex60= | ||||
| github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= | ||||
| github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= | ||||
| github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= | ||||
| github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= | ||||
| github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= | ||||
| github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7 h1:6ejg6Lkk8dskcM7wQ28gONkukbQkM4qpj4RnYbpFzrI= | ||||
| github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= | ||||
| github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e h1:6JKvHHt396/qabvMhnhUZvWaHZzfVfldxE60TK8YLhg= | ||||
| github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= | ||||
| github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= | ||||
| github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448 h1:PUD50EuOMkXVcpBIA/R95d56duJR9VxhwncsFbNnxW4= | ||||
| github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= | ||||
| github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= | ||||
| github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c h1:1c6xmkNiu6Jnr6AKGM91GGNsfU+nPNFvw9BZFSo0E+c= | ||||
| github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= | ||||
| github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d h1:u6sWqdNGAy7+O8qG/r1dqdnZE7IdEjteK3WGuvbfreo= | ||||
| github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= | ||||
| github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= | ||||
| github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3 h1:esQOJREg8nw8aXj6uCN5dfW5cKUBiEJ/+nni1Q/D/sw= | ||||
| github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= | ||||
| github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= | ||||
| github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328 h1:PRTagVMbJcCezLcHXe8UJvR1oBzp2lG3CEumeFOLOds= | ||||
| github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= | ||||
| github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0 h1:e+50zk22gvHLJKe8+d+xSMyA88PPQk/XfWuUw1BdnPA= | ||||
| github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= | ||||
| github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= | ||||
| github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= | ||||
| github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= | ||||
| github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= | ||||
| github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de h1:dlfGmNcE3jDAecLqwKPMNX6nk2qh1c1Vg1/YTzpOOF4= | ||||
| github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= | ||||
| github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= | ||||
| github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= | ||||
| github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= | ||||
| github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= | ||||
| github.com/containerd/ttrpc v1.0.2 h1:2/O3oTZN36q2xRolk0a2WWGgh7/Vf/liElg5hFYLX9U= | ||||
| github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= | ||||
| github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd h1:JNn81o/xG+8NEo3bC/vx9pbi/g2WI8mtP2/nXzu297Y= | ||||
| github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= | ||||
| github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= | ||||
| github.com/containerd/typeurl v1.0.1 h1:PvuK4E3D5S5q6IqsPDCy928FhP0LUIGcmZ/Yhgp5Djw= | ||||
| github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= | ||||
| github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= | ||||
| github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= | ||||
| github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= | ||||
| github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= | ||||
| github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= | ||||
| github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= | ||||
| github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= | ||||
| github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= | ||||
| github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= | ||||
| github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | ||||
| github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | ||||
| @@ -185,7 +193,6 @@ github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6Uezg | ||||
| github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= | ||||
| github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= | ||||
| github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= | ||||
| github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= | ||||
| github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= | ||||
| github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= | ||||
| github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= | ||||
| @@ -236,11 +243,9 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a | ||||
| github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= | ||||
| github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= | ||||
| github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= | ||||
| github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= | ||||
| github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= | ||||
| github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= | ||||
| github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= | ||||
| github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= | ||||
| github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= | ||||
| github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | ||||
| github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= | ||||
| @@ -252,11 +257,8 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb | ||||
| github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= | ||||
| github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= | ||||
| github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= | ||||
| github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= | ||||
| github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||
| github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= | ||||
| github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||
| github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= | ||||
| github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= | ||||
| github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= | ||||
| github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= | ||||
| @@ -273,14 +275,14 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw | ||||
| github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | ||||
| github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | ||||
| github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | ||||
| github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= | ||||
| github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||
| github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||
| github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= | ||||
| github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M= | ||||
| github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||
| github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | ||||
| github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | ||||
| github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= | ||||
| @@ -310,13 +312,13 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv | ||||
| github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= | ||||
| github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= | ||||
| github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | ||||
| github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= | ||||
| github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | ||||
| github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | ||||
| github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= | ||||
| github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | ||||
| github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | ||||
| github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= | ||||
| github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= | ||||
| github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= | ||||
| github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= | ||||
| github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= | ||||
| @@ -334,13 +336,10 @@ github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQL | ||||
| github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= | ||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||
| github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||
| github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||
| github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= | ||||
| github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= | ||||
| github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= | ||||
| github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= | ||||
| github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= | ||||
| @@ -358,11 +357,13 @@ github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp | ||||
| github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= | ||||
| github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= | ||||
| github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= | ||||
| github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= | ||||
| github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= | ||||
| github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | ||||
| github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= | ||||
| github.com/moby/sys/mountinfo v0.4.0 h1:1KInV3Huv18akCu58V7lzNlt+jFmqlu1EaErnEHE/VM= | ||||
| github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= | ||||
| github.com/moby/sys/mountinfo v0.4.1 h1:1O+1cHA1aujwEwwVMa2Xm2l+gIpUHyd3+D+d7LZh1kM= | ||||
| github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= | ||||
| github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= | ||||
| github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= | ||||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||||
| @@ -387,7 +388,6 @@ github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGV | ||||
| github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= | ||||
| github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= | ||||
| github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= | ||||
| github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2 h1:QhPf3A2AZW3tTGvHPg0TA+CR3oHbVLlXUhlghqISp1I= | ||||
| github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= | ||||
| github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= | ||||
| github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= | ||||
| @@ -395,7 +395,6 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 | ||||
| github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= | ||||
| github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | ||||
| github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | ||||
| github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f h1:a969LJ4IQFwRHYqonHtUDMSh9i54WcKggeEkQ3fZMl4= | ||||
| github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= | ||||
| github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= | ||||
| github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= | ||||
| @@ -404,7 +403,6 @@ github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84 | ||||
| github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||
| github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||
| github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||
| github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= | ||||
| github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||
| github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d h1:pNa8metDkwZjb9g4T8s+krQ+HRgZAkqnXml+wNir/+s= | ||||
| github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= | ||||
| @@ -414,7 +412,6 @@ github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3 | ||||
| github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= | ||||
| github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= | ||||
| github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| @@ -435,7 +432,6 @@ github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7q | ||||
| github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= | ||||
| github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= | ||||
| github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= | ||||
| github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7 h1:hhvfGDVThBnd4kYisSFmYuHYeUhglxcwag7FhVPH9zM= | ||||
| github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= | ||||
| github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= | ||||
| github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= | ||||
| @@ -444,8 +440,9 @@ github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDa | ||||
| github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= | ||||
| github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= | ||||
| github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= | ||||
| github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4= | ||||
| github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= | ||||
| github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= | ||||
| github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= | ||||
| github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= | ||||
| github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= | ||||
| github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= | ||||
| @@ -458,9 +455,7 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV | ||||
| github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= | ||||
| github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= | ||||
| github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= | ||||
| github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= | ||||
| github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= | ||||
| github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= | ||||
| github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= | ||||
| github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= | ||||
| github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= | ||||
| @@ -476,15 +471,14 @@ github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bd | ||||
| github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | ||||
| github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | ||||
| github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= | ||||
| github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= | ||||
| github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= | ||||
| github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | ||||
| github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= | ||||
| github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= | ||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||
| github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= | ||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | ||||
| github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= | ||||
| github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||
| @@ -517,8 +511,8 @@ github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go | ||||
| go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | ||||
| go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= | ||||
| go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= | ||||
| go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= | ||||
| go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= | ||||
| go.opencensus.io v0.22.0 h1:C9hSCOW830chIVkdja34wa6Ky+IzWllkUinR+BtRZd4= | ||||
| go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= | ||||
| go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= | ||||
| go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= | ||||
| @@ -537,6 +531,7 @@ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8U | ||||
| golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||
| golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||
| golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||
| golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||
| golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||
| golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||
| @@ -576,10 +571,8 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r | ||||
| golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= | ||||
| golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= | ||||
| golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09 h1:KaQtG+aDELoNmXYas3TVkGNYRuq8JQ1aa7LJt8EXVyo= | ||||
| golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= | ||||
| @@ -590,7 +583,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL | ||||
| golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20191004110552-13f9640d40b9 h1:rjwSpXsdiK0dV8/Naq3kAw9ymfAeJIyd0upUIElB+lI= | ||||
| golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| @@ -612,14 +604,13 @@ golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4Iltr | ||||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6 h1:bjcUS9ztw9kFmmIxJInhon/0Is3p+EHBKNgquIzo1OI= | ||||
| golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= | ||||
| golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9 h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck= | ||||
| golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs= | ||||
| golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| @@ -642,7 +633,6 @@ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7w | ||||
| golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 h1:7TYNF4UdlohbFwpNH04CoPMp1cHUZgO1Ebq5r2hIjfo= | ||||
| golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| @@ -655,7 +645,6 @@ golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7w | ||||
| golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200120151820-655fe14d7479 h1:LhLiKguPgZL+Tglay4GhVtfF0kb8cvOJ0dHTCBO8YNI= | ||||
| golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| @@ -665,25 +654,25 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w | ||||
| golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3 h1:kzM6+9dur93BcC2kVlYl34cHU+TYZLanmpSJHVMmL64= | ||||
| golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201202213521-69691e467435 h1:25AvDqqB9PrNqj1FLf2/70I4W0L19qqoaFq3gjNwbKk= | ||||
| golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk= | ||||
| golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210324051608-47abb6519492 h1:Paq34FxTluEPvVyayQqMPgHm+vTOrIifmcYxFBx9TLg= | ||||
| golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||
| golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= | ||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= | ||||
| golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= | ||||
| golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||
| golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= | ||||
| @@ -752,13 +741,10 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 | ||||
| google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= | ||||
| google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | ||||
| google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= | ||||
| google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= | ||||
| google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | ||||
| google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||
| google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||
| google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb h1:i1Ppqkc3WQXikh8bXiwHqAN5Rv3/qDCcRk0/Otx73BY= | ||||
| google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||
| google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873 h1:nfPFGzJkUDX6uBmpN/pSw7MbOAWegH5QDQuoXFHedLg= | ||||
| google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||
| google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= | ||||
| google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= | ||||
| @@ -780,20 +766,19 @@ google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a h1:pOwg4OoaRYScjmR | ||||
| google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= | ||||
| google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= | ||||
| google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= | ||||
| google.golang.org/grpc v1.20.1 h1:Hz2g2wirWK7H0qIIhGIqRGTuMwTE8HEKFnDZZ7lm9NU= | ||||
| google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= | ||||
| google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= | ||||
| google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= | ||||
| google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= | ||||
| google.golang.org/grpc v1.23.1 h1:q4XQuHFC6I28BKZpo6IYyb3mNO+l7lSOxRuYTCiDfXk= | ||||
| google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= | ||||
| google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= | ||||
| google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= | ||||
| google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= | ||||
| google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= | ||||
| google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= | ||||
| google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= | ||||
| google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= | ||||
| google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= | ||||
| google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= | ||||
| google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= | ||||
| google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= | ||||
| google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= | ||||
| @@ -809,7 +794,6 @@ gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4 | ||||
| gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= | ||||
| gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= | ||||
| gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| @@ -822,22 +806,23 @@ gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24 | ||||
| gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= | ||||
| gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= | ||||
| gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= | ||||
| gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= | ||||
| gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= | ||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= | ||||
| gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||
| gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= | ||||
| gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= | ||||
| gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E= | ||||
| gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= | ||||
| gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= | ||||
| gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= | ||||
| honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||
| honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||
| honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/hnsendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/hnsendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -40,6 +40,9 @@ func HNSListEndpointRequest() ([]HNSEndpoint, error) { | ||||
| // HotAttachEndpoint makes a HCS Call to attach the endpoint to the container | ||||
| func HotAttachEndpoint(containerID string, endpointID string) error { | ||||
| 	endpoint, err := GetHNSEndpointByID(endpointID) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	isAttached, err := endpoint.IsAttached(containerID) | ||||
| 	if isAttached { | ||||
| 		return err | ||||
| @@ -50,6 +53,9 @@ func HotAttachEndpoint(containerID string, endpointID string) error { | ||||
| // HotDetachEndpoint makes a HCS Call to detach the endpoint from the container | ||||
| func HotDetachEndpoint(containerID string, endpointID string) error { | ||||
| 	endpoint, err := GetHNSEndpointByID(endpointID) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	isAttached, err := endpoint.IsAttached(containerID) | ||||
| 	if !isAttached { | ||||
| 		return err | ||||
|   | ||||
							
								
								
									
										16
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -171,7 +171,6 @@ type SystemError struct { | ||||
| 	ID     string | ||||
| 	Op     string | ||||
| 	Err    error | ||||
| 	Extra  string | ||||
| 	Events []ErrorEvent | ||||
| } | ||||
|  | ||||
| @@ -182,9 +181,6 @@ func (e *SystemError) Error() string { | ||||
| 	for _, ev := range e.Events { | ||||
| 		s += "\n" + ev.String() | ||||
| 	} | ||||
| 	if e.Extra != "" { | ||||
| 		s += "\n(extra info: " + e.Extra + ")" | ||||
| 	} | ||||
| 	return s | ||||
| } | ||||
|  | ||||
| @@ -198,7 +194,7 @@ func (e *SystemError) Timeout() bool { | ||||
| 	return ok && err.Timeout() | ||||
| } | ||||
|  | ||||
| func makeSystemError(system *System, op string, extra string, err error, events []ErrorEvent) error { | ||||
| func makeSystemError(system *System, op string, err error, events []ErrorEvent) error { | ||||
| 	// Don't double wrap errors | ||||
| 	if _, ok := err.(*SystemError); ok { | ||||
| 		return err | ||||
| @@ -206,7 +202,6 @@ func makeSystemError(system *System, op string, extra string, err error, events | ||||
| 	return &SystemError{ | ||||
| 		ID:     system.ID(), | ||||
| 		Op:     op, | ||||
| 		Extra:  extra, | ||||
| 		Err:    err, | ||||
| 		Events: events, | ||||
| 	} | ||||
| @@ -332,12 +327,3 @@ func getInnerError(err error) error { | ||||
| 	} | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| func getOperationLogResult(err error) (string, error) { | ||||
| 	switch err { | ||||
| 	case nil: | ||||
| 		return "Success", nil | ||||
| 	default: | ||||
| 		return "Error", err | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										20
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -64,11 +64,7 @@ type processStatus struct { | ||||
| 	LastWaitResult int32 | ||||
| } | ||||
|  | ||||
| const ( | ||||
| 	stdIn  string = "StdIn" | ||||
| 	stdOut string = "StdOut" | ||||
| 	stdErr string = "StdErr" | ||||
| ) | ||||
| const stdIn string = "StdIn" | ||||
|  | ||||
| const ( | ||||
| 	modifyConsoleSize string = "ConsoleSize" | ||||
| @@ -176,8 +172,10 @@ func (process *Process) waitBackground() { | ||||
| 		trace.Int64Attribute("pid", int64(process.processID))) | ||||
|  | ||||
| 	var ( | ||||
| 		err      error | ||||
| 		exitCode = -1 | ||||
| 		err            error | ||||
| 		exitCode       = -1 | ||||
| 		propertiesJSON string | ||||
| 		resultJSON     string | ||||
| 	) | ||||
|  | ||||
| 	err = waitForNotification(ctx, process.callbackNumber, hcsNotificationProcessExited, nil) | ||||
| @@ -190,15 +188,15 @@ func (process *Process) waitBackground() { | ||||
|  | ||||
| 		// Make sure we didnt race with Close() here | ||||
| 		if process.handle != 0 { | ||||
| 			propertiesJSON, resultJSON, err := vmcompute.HcsGetProcessProperties(ctx, process.handle) | ||||
| 			propertiesJSON, resultJSON, err = vmcompute.HcsGetProcessProperties(ctx, process.handle) | ||||
| 			events := processHcsResult(ctx, resultJSON) | ||||
| 			if err != nil { | ||||
| 				err = makeProcessError(process, operation, err, events) | ||||
| 				err = makeProcessError(process, operation, err, events) //nolint:ineffassign | ||||
| 			} else { | ||||
| 				properties := &processStatus{} | ||||
| 				err = json.Unmarshal([]byte(propertiesJSON), properties) | ||||
| 				if err != nil { | ||||
| 					err = makeProcessError(process, operation, err, nil) | ||||
| 					err = makeProcessError(process, operation, err, nil) //nolint:ineffassign | ||||
| 				} else { | ||||
| 					if properties.LastWaitResult != 0 { | ||||
| 						log.G(ctx).WithField("wait-result", properties.LastWaitResult).Warning("non-zero last wait result") | ||||
| @@ -468,7 +466,7 @@ func (process *Process) unregisterCallback(ctx context.Context) error { | ||||
| 	delete(callbackMap, callbackNumber) | ||||
| 	callbackMapLock.Unlock() | ||||
|  | ||||
| 	handle = 0 | ||||
| 	handle = 0 //nolint:ineffassign | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
							
								
								
									
										74
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										74
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -73,8 +73,8 @@ func CreateComputeSystem(ctx context.Context, id string, hcsDocumentInterface in | ||||
| 		if err = computeSystem.registerCallback(ctx); err != nil { | ||||
| 			// Terminate the compute system if it still exists. We're okay to | ||||
| 			// ignore a failure here. | ||||
| 			computeSystem.Terminate(ctx) | ||||
| 			return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 			_ = computeSystem.Terminate(ctx) | ||||
| 			return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @@ -83,9 +83,9 @@ func CreateComputeSystem(ctx context.Context, id string, hcsDocumentInterface in | ||||
| 		if err == ErrTimeout { | ||||
| 			// Terminate the compute system if it still exists. We're okay to | ||||
| 			// ignore a failure here. | ||||
| 			computeSystem.Terminate(ctx) | ||||
| 			_ = computeSystem.Terminate(ctx) | ||||
| 		} | ||||
| 		return nil, makeSystemError(computeSystem, operation, hcsDocument, err, events) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
| 	go computeSystem.waitBackground() | ||||
| 	if err = computeSystem.getCachedProperties(ctx); err != nil { | ||||
| @@ -102,7 +102,7 @@ func OpenComputeSystem(ctx context.Context, id string) (*System, error) { | ||||
| 	handle, resultJSON, err := vmcompute.HcsOpenComputeSystem(ctx, id) | ||||
| 	events := processHcsResult(ctx, resultJSON) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
| 	computeSystem.handle = handle | ||||
| 	defer func() { | ||||
| @@ -111,7 +111,7 @@ func OpenComputeSystem(ctx context.Context, id string) (*System, error) { | ||||
| 		} | ||||
| 	}() | ||||
| 	if err = computeSystem.registerCallback(ctx); err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
| 	go computeSystem.waitBackground() | ||||
| 	if err = computeSystem.getCachedProperties(ctx); err != nil { | ||||
| @@ -187,13 +187,13 @@ func (computeSystem *System) Start(ctx context.Context) (err error) { | ||||
| 	defer computeSystem.handleLock.RUnlock() | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	resultJSON, err := vmcompute.HcsStartComputeSystem(ctx, computeSystem.handle, "") | ||||
| 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemStartCompleted, &timeout.SystemStart) | ||||
| 	if err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| @@ -220,7 +220,7 @@ func (computeSystem *System) Shutdown(ctx context.Context) error { | ||||
| 	switch err { | ||||
| 	case nil, ErrVmcomputeAlreadyStopped, ErrComputeSystemDoesNotExist, ErrVmcomputeOperationPending: | ||||
| 	default: | ||||
| 		return makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| @@ -241,7 +241,7 @@ func (computeSystem *System) Terminate(ctx context.Context) error { | ||||
| 	switch err { | ||||
| 	case nil, ErrVmcomputeAlreadyStopped, ErrComputeSystemDoesNotExist, ErrVmcomputeOperationPending: | ||||
| 	default: | ||||
| 		return makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| @@ -263,10 +263,10 @@ func (computeSystem *System) waitBackground() { | ||||
| 		log.G(ctx).Debug("system exited") | ||||
| 	case ErrVmcomputeUnexpectedExit: | ||||
| 		log.G(ctx).Debug("unexpected system exit") | ||||
| 		computeSystem.exitError = makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		computeSystem.exitError = makeSystemError(computeSystem, operation, err, nil) | ||||
| 		err = nil | ||||
| 	default: | ||||
| 		err = makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		err = makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
| 	computeSystem.closedWaitOnce.Do(func() { | ||||
| 		computeSystem.waitError = err | ||||
| @@ -304,13 +304,13 @@ func (computeSystem *System) Properties(ctx context.Context, types ...schema1.Pr | ||||
|  | ||||
| 	queryBytes, err := json.Marshal(schema1.PropertyQuery{PropertyTypes: types}) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	propertiesJSON, resultJSON, err := vmcompute.HcsGetComputeSystemProperties(ctx, computeSystem.handle, string(queryBytes)) | ||||
| 	events := processHcsResult(ctx, resultJSON) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	if propertiesJSON == "" { | ||||
| @@ -318,7 +318,7 @@ func (computeSystem *System) Properties(ctx context.Context, types ...schema1.Pr | ||||
| 	} | ||||
| 	properties := &schema1.ContainerProperties{} | ||||
| 	if err := json.Unmarshal([]byte(propertiesJSON), properties); err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	return properties, nil | ||||
| @@ -333,13 +333,13 @@ func (computeSystem *System) PropertiesV2(ctx context.Context, types ...hcsschem | ||||
|  | ||||
| 	queryBytes, err := json.Marshal(hcsschema.PropertyQuery{PropertyTypes: types}) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	propertiesJSON, resultJSON, err := vmcompute.HcsGetComputeSystemProperties(ctx, computeSystem.handle, string(queryBytes)) | ||||
| 	events := processHcsResult(ctx, resultJSON) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	if propertiesJSON == "" { | ||||
| @@ -347,7 +347,7 @@ func (computeSystem *System) PropertiesV2(ctx context.Context, types ...hcsschem | ||||
| 	} | ||||
| 	properties := &hcsschema.Properties{} | ||||
| 	if err := json.Unmarshal([]byte(propertiesJSON), properties); err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	return properties, nil | ||||
| @@ -368,13 +368,13 @@ func (computeSystem *System) Pause(ctx context.Context) (err error) { | ||||
| 	defer computeSystem.handleLock.RUnlock() | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	resultJSON, err := vmcompute.HcsPauseComputeSystem(ctx, computeSystem.handle, "") | ||||
| 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemPauseCompleted, &timeout.SystemPause) | ||||
| 	if err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| @@ -395,13 +395,13 @@ func (computeSystem *System) Resume(ctx context.Context) (err error) { | ||||
| 	defer computeSystem.handleLock.RUnlock() | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	resultJSON, err := vmcompute.HcsResumeComputeSystem(ctx, computeSystem.handle, "") | ||||
| 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemResumeCompleted, &timeout.SystemResume) | ||||
| 	if err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| @@ -427,13 +427,13 @@ func (computeSystem *System) Save(ctx context.Context, options interface{}) (err | ||||
| 	defer computeSystem.handleLock.RUnlock() | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	result, err := vmcompute.HcsSaveComputeSystem(ctx, computeSystem.handle, string(saveOptions)) | ||||
| 	events, err := processAsyncHcsResult(ctx, err, result, computeSystem.callbackNumber, hcsNotificationSystemSaveCompleted, &timeout.SystemSave) | ||||
| 	if err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| @@ -444,19 +444,19 @@ func (computeSystem *System) createProcess(ctx context.Context, operation string | ||||
| 	defer computeSystem.handleLock.RUnlock() | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return nil, nil, makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return nil, nil, makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	configurationb, err := json.Marshal(c) | ||||
| 	if err != nil { | ||||
| 		return nil, nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	configuration := string(configurationb) | ||||
| 	processInfo, processHandle, resultJSON, err := vmcompute.HcsCreateProcess(ctx, computeSystem.handle, configuration) | ||||
| 	events := processHcsResult(ctx, resultJSON) | ||||
| 	if err != nil { | ||||
| 		return nil, nil, makeSystemError(computeSystem, operation, configuration, err, events) | ||||
| 		return nil, nil, makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	log.G(ctx).WithField("pid", processInfo.ProcessId).Debug("created process pid") | ||||
| @@ -478,7 +478,7 @@ func (computeSystem *System) CreateProcess(ctx context.Context, c interface{}) ( | ||||
|  | ||||
| 	pipes, err := makeOpenFiles([]syscall.Handle{processInfo.StdInput, processInfo.StdOutput, processInfo.StdError}) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
| 	process.stdin = pipes[0] | ||||
| 	process.stdout = pipes[1] | ||||
| @@ -486,7 +486,7 @@ func (computeSystem *System) CreateProcess(ctx context.Context, c interface{}) ( | ||||
| 	process.hasCachedStdio = true | ||||
|  | ||||
| 	if err = process.registerCallback(ctx); err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
| 	go process.waitBackground() | ||||
|  | ||||
| @@ -501,18 +501,18 @@ func (computeSystem *System) OpenProcess(ctx context.Context, pid int) (*Process | ||||
| 	operation := "hcsshim::System::OpenProcess" | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	processHandle, resultJSON, err := vmcompute.HcsOpenProcess(ctx, computeSystem.handle, uint32(pid)) | ||||
| 	events := processHcsResult(ctx, resultJSON) | ||||
| 	if err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, events) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	process := newProcess(processHandle, pid, computeSystem) | ||||
| 	if err = process.registerCallback(ctx); err != nil { | ||||
| 		return nil, makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
| 	go process.waitBackground() | ||||
|  | ||||
| @@ -536,12 +536,12 @@ func (computeSystem *System) Close() (err error) { | ||||
| 	} | ||||
|  | ||||
| 	if err = computeSystem.unregisterCallback(ctx); err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	err = vmcompute.HcsCloseComputeSystem(ctx, computeSystem.handle) | ||||
| 	if err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, "", err, nil) | ||||
| 		return makeSystemError(computeSystem, operation, err, nil) | ||||
| 	} | ||||
|  | ||||
| 	computeSystem.handle = 0 | ||||
| @@ -605,7 +605,7 @@ func (computeSystem *System) unregisterCallback(ctx context.Context) error { | ||||
| 	delete(callbackMap, callbackNumber) | ||||
| 	callbackMapLock.Unlock() | ||||
|  | ||||
| 	handle = 0 | ||||
| 	handle = 0 //nolint:ineffassign | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
| @@ -618,7 +618,7 @@ func (computeSystem *System) Modify(ctx context.Context, config interface{}) err | ||||
| 	operation := "hcsshim::System::Modify" | ||||
|  | ||||
| 	if computeSystem.handle == 0 { | ||||
| 		return makeSystemError(computeSystem, operation, "", ErrAlreadyClosed, nil) | ||||
| 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||
| 	} | ||||
|  | ||||
| 	requestBytes, err := json.Marshal(config) | ||||
| @@ -630,7 +630,7 @@ func (computeSystem *System) Modify(ctx context.Context, config interface{}) err | ||||
| 	resultJSON, err := vmcompute.HcsModifyComputeSystem(ctx, computeSystem.handle, requestJSON) | ||||
| 	events := processHcsResult(ctx, resultJSON) | ||||
| 	if err != nil { | ||||
| 		return makeSystemError(computeSystem, operation, requestJSON, err, events) | ||||
| 		return makeSystemError(computeSystem, operation, err, events) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
|   | ||||
							
								
								
									
										1
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -65,5 +65,4 @@ func waitForNotification(ctx context.Context, callbackNumber uintptr, expectedNo | ||||
| 	case <-c: | ||||
| 		return ErrTimeout | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/hnsnetwork.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/hnsnetwork.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -39,12 +39,6 @@ type HNSNetwork struct { | ||||
| 	AutomaticDNS         bool              `json:",omitempty"` | ||||
| } | ||||
|  | ||||
| type hnsNetworkResponse struct { | ||||
| 	Success bool | ||||
| 	Error   string | ||||
| 	Output  HNSNetwork | ||||
| } | ||||
|  | ||||
| type hnsResponse struct { | ||||
| 	Success bool | ||||
| 	Error   string | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -244,7 +244,7 @@ func RemoveRelative(path string, root *os.File) error { | ||||
| 		err = deleteOnClose(f) | ||||
| 		if err == syscall.ERROR_ACCESS_DENIED { | ||||
| 			// Maybe the file is marked readonly. Clear the bit and retry. | ||||
| 			clearReadOnly(f) | ||||
| 			_ = clearReadOnly(f) | ||||
| 			err = deleteOnClose(f) | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema1/schema1.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema1/schema1.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -119,9 +119,9 @@ type PropertyType string | ||||
|  | ||||
| const ( | ||||
| 	PropertyTypeStatistics        PropertyType = "Statistics"        // V1 and V2 | ||||
| 	PropertyTypeProcessList                    = "ProcessList"       // V1 and V2 | ||||
| 	PropertyTypeMappedVirtualDisk              = "MappedVirtualDisk" // Not supported in V2 schema call | ||||
| 	PropertyTypeGuestConnection                = "GuestConnection"   // V1 and V2. Nil return from HCS before RS5 | ||||
| 	PropertyTypeProcessList       PropertyType = "ProcessList"       // V1 and V2 | ||||
| 	PropertyTypeMappedVirtualDisk PropertyType = "MappedVirtualDisk" // Not supported in V2 schema call | ||||
| 	PropertyTypeGuestConnection   PropertyType = "GuestConnection"   // V1 and V2. Nil return from HCS before RS5 | ||||
| ) | ||||
|  | ||||
| type PropertyQuery struct { | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/device.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/device.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,8 +13,8 @@ type DeviceType string | ||||
|  | ||||
| const ( | ||||
| 	ClassGUID      DeviceType = "ClassGuid" | ||||
| 	DeviceInstance            = "DeviceInstance" | ||||
| 	GPUMirror                 = "GpuMirror" | ||||
| 	DeviceInstance DeviceType = "DeviceInstance" | ||||
| 	GPUMirror      DeviceType = "GpuMirror" | ||||
| ) | ||||
|  | ||||
| type Device struct { | ||||
|   | ||||
							
								
								
									
										42
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/interrupt_moderation_mode.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/interrupt_moderation_mode.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| /* | ||||
|  * HCS API | ||||
|  * | ||||
|  * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||||
|  * | ||||
|  * API version: 2.4 | ||||
|  * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||||
|  */ | ||||
|  | ||||
| package hcsschema | ||||
|  | ||||
| type InterruptModerationName string | ||||
|  | ||||
| // The valid interrupt moderation modes for I/O virtualization (IOV) offloading. | ||||
| const ( | ||||
| 	DefaultName  InterruptModerationName = "Default" | ||||
| 	AdaptiveName InterruptModerationName = "Adaptive" | ||||
| 	OffName      InterruptModerationName = "Off" | ||||
| 	LowName      InterruptModerationName = "Low" | ||||
| 	MediumName   InterruptModerationName = "Medium" | ||||
| 	HighName     InterruptModerationName = "High" | ||||
| ) | ||||
|  | ||||
| type InterruptModerationValue uint32 | ||||
|  | ||||
| const ( | ||||
| 	DefaultValue InterruptModerationValue = iota | ||||
| 	AdaptiveValue | ||||
| 	OffValue | ||||
| 	LowValue    InterruptModerationValue = 100 | ||||
| 	MediumValue InterruptModerationValue = 200 | ||||
| 	HighValue   InterruptModerationValue = 300 | ||||
| ) | ||||
|  | ||||
| var InterruptModerationValueToName = map[InterruptModerationValue]InterruptModerationName{ | ||||
| 	DefaultValue:  DefaultName, | ||||
| 	AdaptiveValue: AdaptiveName, | ||||
| 	OffValue:      OffName, | ||||
| 	LowValue:      LowName, | ||||
| 	MediumValue:   MediumName, | ||||
| 	HighValue:     HighName, | ||||
| } | ||||
							
								
								
									
										22
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/iov_settings.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/iov_settings.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| /* | ||||
|  * HCS API | ||||
|  * | ||||
|  * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) | ||||
|  * | ||||
|  * API version: 2.4 | ||||
|  * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||||
|  */ | ||||
|  | ||||
| package hcsschema | ||||
|  | ||||
| type IovSettings struct { | ||||
| 	// The weight assigned to this port for I/O virtualization (IOV) offloading. | ||||
| 	// Setting this to 0 disables IOV offloading. | ||||
| 	OffloadWeight *uint32 `json:"OffloadWeight,omitempty"` | ||||
|  | ||||
| 	// The number of queue pairs requested for this port for I/O virtualization (IOV) offloading. | ||||
| 	QueuePairsRequested *uint32 `json:"QueuePairsRequested,omitempty"` | ||||
|  | ||||
| 	// The interrupt moderation mode for I/O virtualization (IOV) offloading. | ||||
| 	InterruptModeration *InterruptModerationName `json:"InterruptModeration,omitempty"` | ||||
| } | ||||
							
								
								
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/logical_processor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/logical_processor.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,8 +11,8 @@ package hcsschema | ||||
|  | ||||
| type LogicalProcessor struct { | ||||
| 	LpIndex     uint32 `json:"LpIndex,omitempty"` | ||||
| 	NodeNumber  uint8  `json:"NodeNumber, omitempty"` | ||||
| 	PackageId   uint32 `json:"PackageId, omitempty"` | ||||
| 	CoreId      uint32 `json:"CoreId, omitempty"` | ||||
| 	RootVpIndex int32  `json:"RootVpIndex, omitempty"` | ||||
| 	NodeNumber  uint8  `json:"NodeNumber,omitempty"` | ||||
| 	PackageId   uint32 `json:"PackageId,omitempty"` | ||||
| 	CoreId      uint32 `json:"CoreId,omitempty"` | ||||
| 	RootVpIndex int32  `json:"RootVpIndex,omitempty"` | ||||
| } | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/network_adapter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/schema2/network_adapter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,6 +11,7 @@ package hcsschema | ||||
|  | ||||
| type NetworkAdapter struct { | ||||
| 	EndpointId string `json:"EndpointId,omitempty"` | ||||
|  | ||||
| 	MacAddress string `json:"MacAddress,omitempty"` | ||||
| 	// The I/O virtualization (IOV) offloading configuration. | ||||
| 	IovSettings *IovSettings `json:"IovSettings,omitempty"` | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -62,7 +62,7 @@ type HcsCallback syscall.Handle | ||||
| type HcsProcessInformation struct { | ||||
| 	// ProcessId is the pid of the created process. | ||||
| 	ProcessId uint32 | ||||
| 	reserved  uint32 | ||||
| 	reserved  uint32 //nolint:structcheck | ||||
| 	// StdInput is the handle associated with the stdin of the process. | ||||
| 	StdInput syscall.Handle | ||||
| 	// StdOutput is the handle associated with the stdout of the process. | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/activatelayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/activatelayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ import ( | ||||
| // An activated layer must later be deactivated via DeactivateLayer. | ||||
| func ActivateLayer(ctx context.Context, path string) (err error) { | ||||
| 	title := "hcsshim::ActivateLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/createlayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/createlayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ import ( | ||||
| // the parent layer provided. | ||||
| func CreateLayer(ctx context.Context, path, parent string) (err error) { | ||||
| 	title := "hcsshim::CreateLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/deactivatelayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/deactivatelayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,7 +11,7 @@ import ( | ||||
| // DeactivateLayer will dismount a layer that was mounted via ActivateLayer. | ||||
| func DeactivateLayer(ctx context.Context, path string) (err error) { | ||||
| 	title := "hcsshim::DeactivateLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/destroylayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/destroylayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ import ( | ||||
| // path, including that layer's containing folder, if any. | ||||
| func DestroyLayer(ctx context.Context, path string) (err error) { | ||||
| 	title := "hcsshim::DestroyLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/getlayermountpath.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/getlayermountpath.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -21,8 +21,7 @@ func GetLayerMountPath(ctx context.Context, path string) (_ string, err error) { | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|  | ||||
| 	var mountPathLength uintptr | ||||
| 	mountPathLength = 0 | ||||
| 	var mountPathLength uintptr = 0 | ||||
|  | ||||
| 	// Call the procedure itself. | ||||
| 	log.G(ctx).Debug("Calling proc (1)") | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/getsharedbaseimages.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/getsharedbaseimages.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ import ( | ||||
| // of registering them with the graphdriver, graph, and tagstore. | ||||
| func GetSharedBaseImages(ctx context.Context) (_ string, err error) { | ||||
| 	title := "hcsshim::GetSharedBaseImages" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/grantvmaccess.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/grantvmaccess.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -11,7 +11,7 @@ import ( | ||||
| // GrantVmAccess adds access to a file for a given VM | ||||
| func GrantVmAccess(ctx context.Context, vmid string, filepath string) (err error) { | ||||
| 	title := "hcsshim::GrantVmAccess" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerexists.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerexists.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ import ( | ||||
| // to the system. | ||||
| func LayerExists(ctx context.Context, path string) (_ bool, err error) { | ||||
| 	title := "hcsshim::LayerExists" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|   | ||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -390,7 +390,7 @@ func (w *legacyLayerWriter) CloseRoots() { | ||||
| 		w.destRoot = nil | ||||
| 	} | ||||
| 	for i := range w.parentRoots { | ||||
| 		w.parentRoots[i].Close() | ||||
| 		_ = w.parentRoots[i].Close() | ||||
| 	} | ||||
| 	w.parentRoots = nil | ||||
| } | ||||
| @@ -640,7 +640,7 @@ func (w *legacyLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) erro | ||||
| 		defer func() { | ||||
| 			if f != nil { | ||||
| 				f.Close() | ||||
| 				safefile.RemoveRelative(name, w.destRoot) | ||||
| 				_ = safefile.RemoveRelative(name, w.destRoot) | ||||
| 			} | ||||
| 		}() | ||||
|  | ||||
| @@ -676,7 +676,7 @@ func (w *legacyLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) erro | ||||
| 	defer func() { | ||||
| 		if f != nil { | ||||
| 			f.Close() | ||||
| 			safefile.RemoveRelative(fname, w.root) | ||||
| 			_ = safefile.RemoveRelative(fname, w.root) | ||||
| 		} | ||||
| 	}() | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/nametoguid.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ import ( | ||||
| // across all clients. | ||||
| func NameToGuid(ctx context.Context, name string) (_ guid.GUID, err error) { | ||||
| 	title := "hcsshim::NameToGuid" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("name", name)) | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/processimage.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/processimage.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ import ( | ||||
| // The files should have been extracted to <path>\Files. | ||||
| func ProcessBaseLayer(ctx context.Context, path string) (err error) { | ||||
| 	title := "hcsshim::ProcessBaseLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
| @@ -28,7 +28,7 @@ func ProcessBaseLayer(ctx context.Context, path string) (err error) { | ||||
| // The files should have been extracted to <path>\Files. | ||||
| func ProcessUtilityVMImage(ctx context.Context, path string) (err error) { | ||||
| 	title := "hcsshim::ProcessUtilityVMImage" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/unpreparelayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/unpreparelayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ import ( | ||||
| // the given id. | ||||
| func UnprepareLayer(ctx context.Context, path string) (err error) { | ||||
| 	title := "hcsshim::UnprepareLayer" | ||||
| 	ctx, span := trace.StartSpan(ctx, title) | ||||
| 	ctx, span := trace.StartSpan(ctx, title) //nolint:ineffassign,staticcheck | ||||
| 	defer span.End() | ||||
| 	defer func() { oc.SetSpanStatus(span, err) }() | ||||
| 	span.AddAttributes(trace.StringAttribute("path", path)) | ||||
|   | ||||
							
								
								
									
										16
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/memory.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/memory.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,3 +9,19 @@ package winapi | ||||
|  | ||||
| //sys LocalAlloc(flags uint32, size int) (ptr uintptr) = kernel32.LocalAlloc | ||||
| //sys LocalFree(ptr uintptr) = kernel32.LocalFree | ||||
|  | ||||
| // BOOL QueryWorkingSet( | ||||
| //	HANDLE hProcess, | ||||
| //	PVOID  pv, | ||||
| //	DWORD  cb | ||||
| // ); | ||||
| //sys QueryWorkingSet(handle windows.Handle, pv uintptr, cb uint32) (err error) = psapi.QueryWorkingSet | ||||
|  | ||||
| type PSAPI_WORKING_SET_INFORMATION struct { | ||||
| 	NumberOfEntries uintptr | ||||
| 	WorkingSetInfo  [1]PSAPI_WORKING_SET_BLOCK | ||||
| } | ||||
|  | ||||
| type PSAPI_WORKING_SET_BLOCK struct { | ||||
| 	Flags uintptr | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/path.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/path.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,4 +8,4 @@ package winapi | ||||
| // 	LPWSTR  lpBuffer, | ||||
| // 	LPWSTR  *lpFilePart | ||||
| // ); | ||||
| //sys SearchPath(lpPath *uint16, lpFileName *uint16, lpExtension *uint16, nBufferLength uint32, lpBuffer *uint16, lpFilePath **uint16) (size uint32, err error) = kernel32.SearchPathW | ||||
| //sys SearchPath(lpPath *uint16, lpFileName *uint16, lpExtension *uint16, nBufferLength uint32, lpBuffer *uint16, lpFilePath *uint16) (size uint32, err error) = kernel32.SearchPathW | ||||
|   | ||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,3 +1,10 @@ | ||||
| package winapi | ||||
|  | ||||
| const PROCESS_ALL_ACCESS uint32 = 2097151 | ||||
|  | ||||
| // DWORD GetProcessImageFileNameW( | ||||
| //	HANDLE hProcess, | ||||
| //	LPWSTR lpImageFileName, | ||||
| //	DWORD  nSize | ||||
| // ); | ||||
| //sys GetProcessImageFileName(hProcess windows.Handle, imageFileName *uint16, nSize uint32) (size uint32, err error) = kernel32.GetProcessImageFileNameW | ||||
|   | ||||
							
								
								
									
										52
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/system.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/system.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| package winapi | ||||
|  | ||||
| import "golang.org/x/sys/windows" | ||||
|  | ||||
| const SystemProcessInformation = 5 | ||||
|  | ||||
| const STATUS_INFO_LENGTH_MISMATCH = 0xC0000004 | ||||
|  | ||||
| // __kernel_entry NTSTATUS NtQuerySystemInformation( | ||||
| // 	SYSTEM_INFORMATION_CLASS SystemInformationClass, | ||||
| // 	PVOID                    SystemInformation, | ||||
| // 	ULONG                    SystemInformationLength, | ||||
| // 	PULONG                   ReturnLength | ||||
| // ); | ||||
| //sys NtQuerySystemInformation(systemInfoClass int, systemInformation uintptr, systemInfoLength uint32, returnLength *uint32) (status uint32) = ntdll.NtQuerySystemInformation | ||||
|  | ||||
| type SYSTEM_PROCESS_INFORMATION struct { | ||||
| 	NextEntryOffset              uint32         // ULONG | ||||
| 	NumberOfThreads              uint32         // ULONG | ||||
| 	WorkingSetPrivateSize        int64          // LARGE_INTEGER | ||||
| 	HardFaultCount               uint32         // ULONG | ||||
| 	NumberOfThreadsHighWatermark uint32         // ULONG | ||||
| 	CycleTime                    uint64         // ULONGLONG | ||||
| 	CreateTime                   int64          // LARGE_INTEGER | ||||
| 	UserTime                     int64          // LARGE_INTEGER | ||||
| 	KernelTime                   int64          // LARGE_INTEGER | ||||
| 	ImageName                    UnicodeString  // UNICODE_STRING | ||||
| 	BasePriority                 int32          // KPRIORITY | ||||
| 	UniqueProcessID              windows.Handle // HANDLE | ||||
| 	InheritedFromUniqueProcessID windows.Handle // HANDLE | ||||
| 	HandleCount                  uint32         // ULONG | ||||
| 	SessionID                    uint32         // ULONG | ||||
| 	UniqueProcessKey             *uint32        // ULONG_PTR | ||||
| 	PeakVirtualSize              uintptr        // SIZE_T | ||||
| 	VirtualSize                  uintptr        // SIZE_T | ||||
| 	PageFaultCount               uint32         // ULONG | ||||
| 	PeakWorkingSetSize           uintptr        // SIZE_T | ||||
| 	WorkingSetSize               uintptr        // SIZE_T | ||||
| 	QuotaPeakPagedPoolUsage      uintptr        // SIZE_T | ||||
| 	QuotaPagedPoolUsage          uintptr        // SIZE_T | ||||
| 	QuotaPeakNonPagedPoolUsage   uintptr        // SIZE_T | ||||
| 	QuotaNonPagedPoolUsage       uintptr        // SIZE_T | ||||
| 	PagefileUsage                uintptr        // SIZE_T | ||||
| 	PeakPagefileUsage            uintptr        // SIZE_T | ||||
| 	PrivatePageCount             uintptr        // SIZE_T | ||||
| 	ReadOperationCount           int64          // LARGE_INTEGER | ||||
| 	WriteOperationCount          int64          // LARGE_INTEGER | ||||
| 	OtherOperationCount          int64          // LARGE_INTEGER | ||||
| 	ReadTransferCount            int64          // LARGE_INTEGER | ||||
| 	WriteTransferCount           int64          // LARGE_INTEGER | ||||
| 	OtherTransferCount           int64          // LARGE_INTEGER | ||||
| } | ||||
							
								
								
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/thread.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/thread.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| package winapi | ||||
|  | ||||
| // HANDLE CreateRemoteThread( | ||||
| // 	HANDLE                 hProcess, | ||||
| // 	LPSECURITY_ATTRIBUTES  lpThreadAttributes, | ||||
| // 	SIZE_T                 dwStackSize, | ||||
| // 	LPTHREAD_START_ROUTINE lpStartAddress, | ||||
| // 	LPVOID                 lpParameter, | ||||
| // 	DWORD                  dwCreationFlags, | ||||
| // 	LPDWORD                lpThreadId | ||||
| // ); | ||||
| //sys CreateRemoteThread(process windows.Handle, sa *windows.SecurityAttributes, stackSize uint32, startAddr uintptr, parameter uintptr, creationFlags uint32, threadID *uint32) (handle windows.Handle, err error) = kernel32.CreateRemoteThread | ||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/winapi.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/winapi.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,4 +2,4 @@ | ||||
| // be thought of as an extension to golang.org/x/sys/windows. | ||||
| package winapi | ||||
|  | ||||
| //go:generate go run ..\..\mksyscall_windows.go -output zsyscall_windows.go net.go iocp.go jobobject.go path.go logon.go memory.go processor.go devices.go filesystem.go errors.go | ||||
| //go:generate go run ..\..\mksyscall_windows.go -output zsyscall_windows.go system.go net.go path.go thread.go iocp.go jobobject.go logon.go memory.go process.go processor.go devices.go filesystem.go errors.go | ||||
|   | ||||
							
								
								
									
										79
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										79
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -37,13 +37,17 @@ func errnoErr(e syscall.Errno) error { | ||||
| } | ||||
|  | ||||
| var ( | ||||
| 	modntdll    = windows.NewLazySystemDLL("ntdll.dll") | ||||
| 	modiphlpapi = windows.NewLazySystemDLL("iphlpapi.dll") | ||||
| 	modkernel32 = windows.NewLazySystemDLL("kernel32.dll") | ||||
| 	modntdll    = windows.NewLazySystemDLL("ntdll.dll") | ||||
| 	modadvapi32 = windows.NewLazySystemDLL("advapi32.dll") | ||||
| 	modpsapi    = windows.NewLazySystemDLL("psapi.dll") | ||||
| 	modcfgmgr32 = windows.NewLazySystemDLL("cfgmgr32.dll") | ||||
|  | ||||
| 	procNtQuerySystemInformation               = modntdll.NewProc("NtQuerySystemInformation") | ||||
| 	procSetJobCompartmentId                    = modiphlpapi.NewProc("SetJobCompartmentId") | ||||
| 	procSearchPathW                            = modkernel32.NewProc("SearchPathW") | ||||
| 	procCreateRemoteThread                     = modkernel32.NewProc("CreateRemoteThread") | ||||
| 	procGetQueuedCompletionStatus              = modkernel32.NewProc("GetQueuedCompletionStatus") | ||||
| 	procIsProcessInJob                         = modkernel32.NewProc("IsProcessInJob") | ||||
| 	procQueryInformationJobObject              = modkernel32.NewProc("QueryInformationJobObject") | ||||
| @@ -52,11 +56,12 @@ var ( | ||||
| 	procQueryIoRateControlInformationJobObject = modkernel32.NewProc("QueryIoRateControlInformationJobObject") | ||||
| 	procNtOpenJobObject                        = modntdll.NewProc("NtOpenJobObject") | ||||
| 	procNtCreateJobObject                      = modntdll.NewProc("NtCreateJobObject") | ||||
| 	procSearchPathW                            = modkernel32.NewProc("SearchPathW") | ||||
| 	procLogonUserW                             = modadvapi32.NewProc("LogonUserW") | ||||
| 	procRtlMoveMemory                          = modkernel32.NewProc("RtlMoveMemory") | ||||
| 	procLocalAlloc                             = modkernel32.NewProc("LocalAlloc") | ||||
| 	procLocalFree                              = modkernel32.NewProc("LocalFree") | ||||
| 	procQueryWorkingSet                        = modpsapi.NewProc("QueryWorkingSet") | ||||
| 	procGetProcessImageFileNameW               = modkernel32.NewProc("GetProcessImageFileNameW") | ||||
| 	procGetActiveProcessorCount                = modkernel32.NewProc("GetActiveProcessorCount") | ||||
| 	procCM_Get_Device_ID_List_SizeA            = modcfgmgr32.NewProc("CM_Get_Device_ID_List_SizeA") | ||||
| 	procCM_Get_Device_ID_ListA                 = modcfgmgr32.NewProc("CM_Get_Device_ID_ListA") | ||||
| @@ -69,6 +74,12 @@ var ( | ||||
| 	procRtlNtStatusToDosError                  = modntdll.NewProc("RtlNtStatusToDosError") | ||||
| ) | ||||
|  | ||||
| func NtQuerySystemInformation(systemInfoClass int, systemInformation uintptr, systemInfoLength uint32, returnLength *uint32) (status uint32) { | ||||
| 	r0, _, _ := syscall.Syscall6(procNtQuerySystemInformation.Addr(), 4, uintptr(systemInfoClass), uintptr(systemInformation), uintptr(systemInfoLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) | ||||
| 	status = uint32(r0) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func SetJobCompartmentId(handle windows.Handle, compartmentId uint32) (win32Err error) { | ||||
| 	r0, _, _ := syscall.Syscall(procSetJobCompartmentId.Addr(), 2, uintptr(handle), uintptr(compartmentId), 0) | ||||
| 	if r0 != 0 { | ||||
| @@ -77,6 +88,32 @@ func SetJobCompartmentId(handle windows.Handle, compartmentId uint32) (win32Err | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func SearchPath(lpPath *uint16, lpFileName *uint16, lpExtension *uint16, nBufferLength uint32, lpBuffer *uint16, lpFilePath *uint16) (size uint32, err error) { | ||||
| 	r0, _, e1 := syscall.Syscall6(procSearchPathW.Addr(), 6, uintptr(unsafe.Pointer(lpPath)), uintptr(unsafe.Pointer(lpFileName)), uintptr(unsafe.Pointer(lpExtension)), uintptr(nBufferLength), uintptr(unsafe.Pointer(lpBuffer)), uintptr(unsafe.Pointer(lpFilePath))) | ||||
| 	size = uint32(r0) | ||||
| 	if size == 0 { | ||||
| 		if e1 != 0 { | ||||
| 			err = errnoErr(e1) | ||||
| 		} else { | ||||
| 			err = syscall.EINVAL | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func CreateRemoteThread(process windows.Handle, sa *windows.SecurityAttributes, stackSize uint32, startAddr uintptr, parameter uintptr, creationFlags uint32, threadID *uint32) (handle windows.Handle, err error) { | ||||
| 	r0, _, e1 := syscall.Syscall9(procCreateRemoteThread.Addr(), 7, uintptr(process), uintptr(unsafe.Pointer(sa)), uintptr(stackSize), uintptr(startAddr), uintptr(parameter), uintptr(creationFlags), uintptr(unsafe.Pointer(threadID)), 0, 0) | ||||
| 	handle = windows.Handle(r0) | ||||
| 	if handle == 0 { | ||||
| 		if e1 != 0 { | ||||
| 			err = errnoErr(e1) | ||||
| 		} else { | ||||
| 			err = syscall.EINVAL | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func GetQueuedCompletionStatus(cphandle windows.Handle, qty *uint32, key *uintptr, overlapped **windows.Overlapped, timeout uint32) (err error) { | ||||
| 	r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) | ||||
| 	if r1 == 0 { | ||||
| @@ -170,19 +207,6 @@ func NtCreateJobObject(jobHandle *windows.Handle, desiredAccess uint32, objAttri | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func SearchPath(lpPath *uint16, lpFileName *uint16, lpExtension *uint16, nBufferLength uint32, lpBuffer *uint16, lpFilePath **uint16) (size uint32, err error) { | ||||
| 	r0, _, e1 := syscall.Syscall6(procSearchPathW.Addr(), 6, uintptr(unsafe.Pointer(lpPath)), uintptr(unsafe.Pointer(lpFileName)), uintptr(unsafe.Pointer(lpExtension)), uintptr(nBufferLength), uintptr(unsafe.Pointer(lpBuffer)), uintptr(unsafe.Pointer(lpFilePath))) | ||||
| 	size = uint32(r0) | ||||
| 	if size == 0 { | ||||
| 		if e1 != 0 { | ||||
| 			err = errnoErr(e1) | ||||
| 		} else { | ||||
| 			err = syscall.EINVAL | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func LogonUser(username *uint16, domain *uint16, password *uint16, logonType uint32, logonProvider uint32, token *windows.Token) (err error) { | ||||
| 	r1, _, e1 := syscall.Syscall6(procLogonUserW.Addr(), 6, uintptr(unsafe.Pointer(username)), uintptr(unsafe.Pointer(domain)), uintptr(unsafe.Pointer(password)), uintptr(logonType), uintptr(logonProvider), uintptr(unsafe.Pointer(token))) | ||||
| 	if r1 == 0 { | ||||
| @@ -218,6 +242,31 @@ func LocalFree(ptr uintptr) { | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func QueryWorkingSet(handle windows.Handle, pv uintptr, cb uint32) (err error) { | ||||
| 	r1, _, e1 := syscall.Syscall(procQueryWorkingSet.Addr(), 3, uintptr(handle), uintptr(pv), uintptr(cb)) | ||||
| 	if r1 == 0 { | ||||
| 		if e1 != 0 { | ||||
| 			err = errnoErr(e1) | ||||
| 		} else { | ||||
| 			err = syscall.EINVAL | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func GetProcessImageFileName(hProcess windows.Handle, imageFileName *uint16, nSize uint32) (size uint32, err error) { | ||||
| 	r0, _, e1 := syscall.Syscall(procGetProcessImageFileNameW.Addr(), 3, uintptr(hProcess), uintptr(unsafe.Pointer(imageFileName)), uintptr(nSize)) | ||||
| 	size = uint32(r0) | ||||
| 	if size == 0 { | ||||
| 		if e1 != 0 { | ||||
| 			err = errnoErr(e1) | ||||
| 		} else { | ||||
| 			err = syscall.EINVAL | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func GetActiveProcessorCount(groupNumber uint16) (amount uint32) { | ||||
| 	r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) | ||||
| 	amount = uint32(r0) | ||||
|   | ||||
							
								
								
									
										15
									
								
								vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -15,21 +15,6 @@ type OSVersion struct { | ||||
| 	Build        uint16 | ||||
| } | ||||
|  | ||||
| // https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx | ||||
| type osVersionInfoEx struct { | ||||
| 	OSVersionInfoSize uint32 | ||||
| 	MajorVersion      uint32 | ||||
| 	MinorVersion      uint32 | ||||
| 	BuildNumber       uint32 | ||||
| 	PlatformID        uint32 | ||||
| 	CSDVersion        [128]uint16 | ||||
| 	ServicePackMajor  uint16 | ||||
| 	ServicePackMinor  uint16 | ||||
| 	SuiteMask         uint16 | ||||
| 	ProductType       byte | ||||
| 	Reserve           byte | ||||
| } | ||||
|  | ||||
| // Get gets the operating system version on Windows. | ||||
| // The calling application must be manifested to get the correct version information. | ||||
| func Get() OSVersion { | ||||
|   | ||||
							
								
								
									
										25
									
								
								vendor/github.com/cenkalti/backoff/v4/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								vendor/github.com/cenkalti/backoff/v4/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| # Compiled Object files, Static and Dynamic libs (Shared Objects) | ||||
| *.o | ||||
| *.a | ||||
| *.so | ||||
|  | ||||
| # Folders | ||||
| _obj | ||||
| _test | ||||
|  | ||||
| # Architecture specific extensions/prefixes | ||||
| *.[568vq] | ||||
| [568vq].out | ||||
|  | ||||
| *.cgo1.go | ||||
| *.cgo2.c | ||||
| _cgo_defun.c | ||||
| _cgo_gotypes.go | ||||
| _cgo_export.* | ||||
|  | ||||
| _testmain.go | ||||
|  | ||||
| *.exe | ||||
|  | ||||
| # IDEs | ||||
| .idea/ | ||||
							
								
								
									
										10
									
								
								vendor/github.com/cenkalti/backoff/v4/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/cenkalti/backoff/v4/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| language: go | ||||
| go: | ||||
|   - 1.13 | ||||
|   - 1.x | ||||
|   - tip | ||||
| before_install: | ||||
|   - go get github.com/mattn/goveralls | ||||
|   - go get golang.org/x/tools/cmd/cover | ||||
| script: | ||||
|   - $HOME/gopath/bin/goveralls -service=travis-ci | ||||
							
								
								
									
										20
									
								
								vendor/github.com/cenkalti/backoff/v4/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/cenkalti/backoff/v4/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| The MIT License (MIT) | ||||
|  | ||||
| Copyright (c) 2014 Cenk Altı | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| this software and associated documentation files (the "Software"), to deal in | ||||
| the Software without restriction, including without limitation the rights to | ||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||||
| the Software, and to permit persons to whom the Software is furnished to do so, | ||||
| subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||||
| FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||||
| COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
							
								
								
									
										32
									
								
								vendor/github.com/cenkalti/backoff/v4/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								vendor/github.com/cenkalti/backoff/v4/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| # Exponential Backoff [![GoDoc][godoc image]][godoc] [![Build Status][travis image]][travis] [![Coverage Status][coveralls image]][coveralls] | ||||
|  | ||||
| This is a Go port of the exponential backoff algorithm from [Google's HTTP Client Library for Java][google-http-java-client]. | ||||
|  | ||||
| [Exponential backoff][exponential backoff wiki] | ||||
| is an algorithm that uses feedback to multiplicatively decrease the rate of some process, | ||||
| in order to gradually find an acceptable rate. | ||||
| The retries exponentially increase and stop increasing when a certain threshold is met. | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| Import path is `github.com/cenkalti/backoff/v4`. Please note the version part at the end. | ||||
|  | ||||
| Use https://pkg.go.dev/github.com/cenkalti/backoff/v4 to view the documentation. | ||||
|  | ||||
| ## Contributing | ||||
|  | ||||
| * I would like to keep this library as small as possible. | ||||
| * Please don't send a PR without opening an issue and discussing it first. | ||||
| * If proposed change is not a common use case, I will probably not accept it. | ||||
|  | ||||
| [godoc]: https://pkg.go.dev/github.com/cenkalti/backoff/v4 | ||||
| [godoc image]: https://godoc.org/github.com/cenkalti/backoff?status.png | ||||
| [travis]: https://travis-ci.org/cenkalti/backoff | ||||
| [travis image]: https://travis-ci.org/cenkalti/backoff.png?branch=master | ||||
| [coveralls]: https://coveralls.io/github/cenkalti/backoff?branch=master | ||||
| [coveralls image]: https://coveralls.io/repos/github/cenkalti/backoff/badge.svg?branch=master | ||||
|  | ||||
| [google-http-java-client]: https://github.com/google/google-http-java-client/blob/da1aa993e90285ec18579f1553339b00e19b3ab5/google-http-client/src/main/java/com/google/api/client/util/ExponentialBackOff.java | ||||
| [exponential backoff wiki]: http://en.wikipedia.org/wiki/Exponential_backoff | ||||
|  | ||||
| [advanced example]: https://pkg.go.dev/github.com/cenkalti/backoff/v4?tab=doc#pkg-examples | ||||
							
								
								
									
										66
									
								
								vendor/github.com/cenkalti/backoff/v4/backoff.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								vendor/github.com/cenkalti/backoff/v4/backoff.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| // Package backoff implements backoff algorithms for retrying operations. | ||||
| // | ||||
| // Use Retry function for retrying operations that may fail. | ||||
| // If Retry does not meet your needs, | ||||
| // copy/paste the function into your project and modify as you wish. | ||||
| // | ||||
| // There is also Ticker type similar to time.Ticker. | ||||
| // You can use it if you need to work with channels. | ||||
| // | ||||
| // See Examples section below for usage examples. | ||||
| package backoff | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| // BackOff is a backoff policy for retrying an operation. | ||||
| type BackOff interface { | ||||
| 	// NextBackOff returns the duration to wait before retrying the operation, | ||||
| 	// or backoff. Stop to indicate that no more retries should be made. | ||||
| 	// | ||||
| 	// Example usage: | ||||
| 	// | ||||
| 	// 	duration := backoff.NextBackOff(); | ||||
| 	// 	if (duration == backoff.Stop) { | ||||
| 	// 		// Do not retry operation. | ||||
| 	// 	} else { | ||||
| 	// 		// Sleep for duration and retry operation. | ||||
| 	// 	} | ||||
| 	// | ||||
| 	NextBackOff() time.Duration | ||||
|  | ||||
| 	// Reset to initial state. | ||||
| 	Reset() | ||||
| } | ||||
|  | ||||
| // Stop indicates that no more retries should be made for use in NextBackOff(). | ||||
| const Stop time.Duration = -1 | ||||
|  | ||||
| // ZeroBackOff is a fixed backoff policy whose backoff time is always zero, | ||||
| // meaning that the operation is retried immediately without waiting, indefinitely. | ||||
| type ZeroBackOff struct{} | ||||
|  | ||||
| func (b *ZeroBackOff) Reset() {} | ||||
|  | ||||
| func (b *ZeroBackOff) NextBackOff() time.Duration { return 0 } | ||||
|  | ||||
| // StopBackOff is a fixed backoff policy that always returns backoff.Stop for | ||||
| // NextBackOff(), meaning that the operation should never be retried. | ||||
| type StopBackOff struct{} | ||||
|  | ||||
| func (b *StopBackOff) Reset() {} | ||||
|  | ||||
| func (b *StopBackOff) NextBackOff() time.Duration { return Stop } | ||||
|  | ||||
| // ConstantBackOff is a backoff policy that always returns the same backoff delay. | ||||
| // This is in contrast to an exponential backoff policy, | ||||
| // which returns a delay that grows longer as you call NextBackOff() over and over again. | ||||
| type ConstantBackOff struct { | ||||
| 	Interval time.Duration | ||||
| } | ||||
|  | ||||
| func (b *ConstantBackOff) Reset()                     {} | ||||
| func (b *ConstantBackOff) NextBackOff() time.Duration { return b.Interval } | ||||
|  | ||||
| func NewConstantBackOff(d time.Duration) *ConstantBackOff { | ||||
| 	return &ConstantBackOff{Interval: d} | ||||
| } | ||||
							
								
								
									
										62
									
								
								vendor/github.com/cenkalti/backoff/v4/context.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								vendor/github.com/cenkalti/backoff/v4/context.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| package backoff | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| // BackOffContext is a backoff policy that stops retrying after the context | ||||
| // is canceled. | ||||
| type BackOffContext interface { // nolint: golint | ||||
| 	BackOff | ||||
| 	Context() context.Context | ||||
| } | ||||
|  | ||||
| type backOffContext struct { | ||||
| 	BackOff | ||||
| 	ctx context.Context | ||||
| } | ||||
|  | ||||
| // WithContext returns a BackOffContext with context ctx | ||||
| // | ||||
| // ctx must not be nil | ||||
| func WithContext(b BackOff, ctx context.Context) BackOffContext { // nolint: golint | ||||
| 	if ctx == nil { | ||||
| 		panic("nil context") | ||||
| 	} | ||||
|  | ||||
| 	if b, ok := b.(*backOffContext); ok { | ||||
| 		return &backOffContext{ | ||||
| 			BackOff: b.BackOff, | ||||
| 			ctx:     ctx, | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return &backOffContext{ | ||||
| 		BackOff: b, | ||||
| 		ctx:     ctx, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func getContext(b BackOff) context.Context { | ||||
| 	if cb, ok := b.(BackOffContext); ok { | ||||
| 		return cb.Context() | ||||
| 	} | ||||
| 	if tb, ok := b.(*backOffTries); ok { | ||||
| 		return getContext(tb.delegate) | ||||
| 	} | ||||
| 	return context.Background() | ||||
| } | ||||
|  | ||||
| func (b *backOffContext) Context() context.Context { | ||||
| 	return b.ctx | ||||
| } | ||||
|  | ||||
| func (b *backOffContext) NextBackOff() time.Duration { | ||||
| 	select { | ||||
| 	case <-b.ctx.Done(): | ||||
| 		return Stop | ||||
| 	default: | ||||
| 		return b.BackOff.NextBackOff() | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										158
									
								
								vendor/github.com/cenkalti/backoff/v4/exponential.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								vendor/github.com/cenkalti/backoff/v4/exponential.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,158 @@ | ||||
| package backoff | ||||
|  | ||||
| import ( | ||||
| 	"math/rand" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| /* | ||||
| ExponentialBackOff is a backoff implementation that increases the backoff | ||||
| period for each retry attempt using a randomization function that grows exponentially. | ||||
|  | ||||
| NextBackOff() is calculated using the following formula: | ||||
|  | ||||
|  randomized interval = | ||||
|      RetryInterval * (random value in range [1 - RandomizationFactor, 1 + RandomizationFactor]) | ||||
|  | ||||
| In other words NextBackOff() will range between the randomization factor | ||||
| percentage below and above the retry interval. | ||||
|  | ||||
| For example, given the following parameters: | ||||
|  | ||||
|  RetryInterval = 2 | ||||
|  RandomizationFactor = 0.5 | ||||
|  Multiplier = 2 | ||||
|  | ||||
| the actual backoff period used in the next retry attempt will range between 1 and 3 seconds, | ||||
| multiplied by the exponential, that is, between 2 and 6 seconds. | ||||
|  | ||||
| Note: MaxInterval caps the RetryInterval and not the randomized interval. | ||||
|  | ||||
| If the time elapsed since an ExponentialBackOff instance is created goes past the | ||||
| MaxElapsedTime, then the method NextBackOff() starts returning backoff.Stop. | ||||
|  | ||||
| The elapsed time can be reset by calling Reset(). | ||||
|  | ||||
| Example: Given the following default arguments, for 10 tries the sequence will be, | ||||
| and assuming we go over the MaxElapsedTime on the 10th try: | ||||
|  | ||||
|  Request #  RetryInterval (seconds)  Randomized Interval (seconds) | ||||
|  | ||||
|   1          0.5                     [0.25,   0.75] | ||||
|   2          0.75                    [0.375,  1.125] | ||||
|   3          1.125                   [0.562,  1.687] | ||||
|   4          1.687                   [0.8435, 2.53] | ||||
|   5          2.53                    [1.265,  3.795] | ||||
|   6          3.795                   [1.897,  5.692] | ||||
|   7          5.692                   [2.846,  8.538] | ||||
|   8          8.538                   [4.269, 12.807] | ||||
|   9         12.807                   [6.403, 19.210] | ||||
|  10         19.210                   backoff.Stop | ||||
|  | ||||
| Note: Implementation is not thread-safe. | ||||
| */ | ||||
| type ExponentialBackOff struct { | ||||
| 	InitialInterval     time.Duration | ||||
| 	RandomizationFactor float64 | ||||
| 	Multiplier          float64 | ||||
| 	MaxInterval         time.Duration | ||||
| 	// After MaxElapsedTime the ExponentialBackOff returns Stop. | ||||
| 	// It never stops if MaxElapsedTime == 0. | ||||
| 	MaxElapsedTime time.Duration | ||||
| 	Stop           time.Duration | ||||
| 	Clock          Clock | ||||
|  | ||||
| 	currentInterval time.Duration | ||||
| 	startTime       time.Time | ||||
| } | ||||
|  | ||||
| // Clock is an interface that returns current time for BackOff. | ||||
| type Clock interface { | ||||
| 	Now() time.Time | ||||
| } | ||||
|  | ||||
| // Default values for ExponentialBackOff. | ||||
| const ( | ||||
| 	DefaultInitialInterval     = 500 * time.Millisecond | ||||
| 	DefaultRandomizationFactor = 0.5 | ||||
| 	DefaultMultiplier          = 1.5 | ||||
| 	DefaultMaxInterval         = 60 * time.Second | ||||
| 	DefaultMaxElapsedTime      = 15 * time.Minute | ||||
| ) | ||||
|  | ||||
| // NewExponentialBackOff creates an instance of ExponentialBackOff using default values. | ||||
| func NewExponentialBackOff() *ExponentialBackOff { | ||||
| 	b := &ExponentialBackOff{ | ||||
| 		InitialInterval:     DefaultInitialInterval, | ||||
| 		RandomizationFactor: DefaultRandomizationFactor, | ||||
| 		Multiplier:          DefaultMultiplier, | ||||
| 		MaxInterval:         DefaultMaxInterval, | ||||
| 		MaxElapsedTime:      DefaultMaxElapsedTime, | ||||
| 		Stop:                Stop, | ||||
| 		Clock:               SystemClock, | ||||
| 	} | ||||
| 	b.Reset() | ||||
| 	return b | ||||
| } | ||||
|  | ||||
| type systemClock struct{} | ||||
|  | ||||
| func (t systemClock) Now() time.Time { | ||||
| 	return time.Now() | ||||
| } | ||||
|  | ||||
| // SystemClock implements Clock interface that uses time.Now(). | ||||
| var SystemClock = systemClock{} | ||||
|  | ||||
| // Reset the interval back to the initial retry interval and restarts the timer. | ||||
| // Reset must be called before using b. | ||||
| func (b *ExponentialBackOff) Reset() { | ||||
| 	b.currentInterval = b.InitialInterval | ||||
| 	b.startTime = b.Clock.Now() | ||||
| } | ||||
|  | ||||
| // NextBackOff calculates the next backoff interval using the formula: | ||||
| // 	Randomized interval = RetryInterval * (1 ± RandomizationFactor) | ||||
| func (b *ExponentialBackOff) NextBackOff() time.Duration { | ||||
| 	// Make sure we have not gone over the maximum elapsed time. | ||||
| 	elapsed := b.GetElapsedTime() | ||||
| 	next := getRandomValueFromInterval(b.RandomizationFactor, rand.Float64(), b.currentInterval) | ||||
| 	b.incrementCurrentInterval() | ||||
| 	if b.MaxElapsedTime != 0 && elapsed+next > b.MaxElapsedTime { | ||||
| 		return b.Stop | ||||
| 	} | ||||
| 	return next | ||||
| } | ||||
|  | ||||
| // GetElapsedTime returns the elapsed time since an ExponentialBackOff instance | ||||
| // is created and is reset when Reset() is called. | ||||
| // | ||||
| // The elapsed time is computed using time.Now().UnixNano(). It is | ||||
| // safe to call even while the backoff policy is used by a running | ||||
| // ticker. | ||||
| func (b *ExponentialBackOff) GetElapsedTime() time.Duration { | ||||
| 	return b.Clock.Now().Sub(b.startTime) | ||||
| } | ||||
|  | ||||
| // Increments the current interval by multiplying it with the multiplier. | ||||
| func (b *ExponentialBackOff) incrementCurrentInterval() { | ||||
| 	// Check for overflow, if overflow is detected set the current interval to the max interval. | ||||
| 	if float64(b.currentInterval) >= float64(b.MaxInterval)/b.Multiplier { | ||||
| 		b.currentInterval = b.MaxInterval | ||||
| 	} else { | ||||
| 		b.currentInterval = time.Duration(float64(b.currentInterval) * b.Multiplier) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Returns a random value from the following interval: | ||||
| // 	[currentInterval - randomizationFactor * currentInterval, currentInterval + randomizationFactor * currentInterval]. | ||||
| func getRandomValueFromInterval(randomizationFactor, random float64, currentInterval time.Duration) time.Duration { | ||||
| 	var delta = randomizationFactor * float64(currentInterval) | ||||
| 	var minInterval = float64(currentInterval) - delta | ||||
| 	var maxInterval = float64(currentInterval) + delta | ||||
|  | ||||
| 	// Get a random value from the range [minInterval, maxInterval]. | ||||
| 	// The formula used below has a +1 because if the minInterval is 1 and the maxInterval is 3 then | ||||
| 	// we want a 33% chance for selecting either 1, 2 or 3. | ||||
| 	return time.Duration(minInterval + (random * (maxInterval - minInterval + 1))) | ||||
| } | ||||
							
								
								
									
										3
									
								
								vendor/github.com/cenkalti/backoff/v4/go.mod
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/cenkalti/backoff/v4/go.mod
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| module github.com/cenkalti/backoff/v4 | ||||
|  | ||||
| go 1.13 | ||||
							
								
								
									
										112
									
								
								vendor/github.com/cenkalti/backoff/v4/retry.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								vendor/github.com/cenkalti/backoff/v4/retry.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,112 @@ | ||||
| package backoff | ||||
|  | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| // An Operation is executing by Retry() or RetryNotify(). | ||||
| // The operation will be retried using a backoff policy if it returns an error. | ||||
| type Operation func() error | ||||
|  | ||||
| // Notify is a notify-on-error function. It receives an operation error and | ||||
| // backoff delay if the operation failed (with an error). | ||||
| // | ||||
| // NOTE that if the backoff policy stated to stop retrying, | ||||
| // the notify function isn't called. | ||||
| type Notify func(error, time.Duration) | ||||
|  | ||||
| // Retry the operation o until it does not return error or BackOff stops. | ||||
| // o is guaranteed to be run at least once. | ||||
| // | ||||
| // If o returns a *PermanentError, the operation is not retried, and the | ||||
| // wrapped error is returned. | ||||
| // | ||||
| // Retry sleeps the goroutine for the duration returned by BackOff after a | ||||
| // failed operation returns. | ||||
| func Retry(o Operation, b BackOff) error { | ||||
| 	return RetryNotify(o, b, nil) | ||||
| } | ||||
|  | ||||
| // RetryNotify calls notify function with the error and wait duration | ||||
| // for each failed attempt before sleep. | ||||
| func RetryNotify(operation Operation, b BackOff, notify Notify) error { | ||||
| 	return RetryNotifyWithTimer(operation, b, notify, nil) | ||||
| } | ||||
|  | ||||
| // RetryNotifyWithTimer calls notify function with the error and wait duration using the given Timer | ||||
| // for each failed attempt before sleep. | ||||
| // A default timer that uses system timer is used when nil is passed. | ||||
| func RetryNotifyWithTimer(operation Operation, b BackOff, notify Notify, t Timer) error { | ||||
| 	var err error | ||||
| 	var next time.Duration | ||||
| 	if t == nil { | ||||
| 		t = &defaultTimer{} | ||||
| 	} | ||||
|  | ||||
| 	defer func() { | ||||
| 		t.Stop() | ||||
| 	}() | ||||
|  | ||||
| 	ctx := getContext(b) | ||||
|  | ||||
| 	b.Reset() | ||||
| 	for { | ||||
| 		if err = operation(); err == nil { | ||||
| 			return nil | ||||
| 		} | ||||
|  | ||||
| 		var permanent *PermanentError | ||||
| 		if errors.As(err, &permanent) { | ||||
| 			return permanent.Err | ||||
| 		} | ||||
|  | ||||
| 		if next = b.NextBackOff(); next == Stop { | ||||
| 			if cerr := ctx.Err(); cerr != nil { | ||||
| 				return cerr | ||||
| 			} | ||||
|  | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| 		if notify != nil { | ||||
| 			notify(err, next) | ||||
| 		} | ||||
|  | ||||
| 		t.Start(next) | ||||
|  | ||||
| 		select { | ||||
| 		case <-ctx.Done(): | ||||
| 			return ctx.Err() | ||||
| 		case <-t.C(): | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // PermanentError signals that the operation should not be retried. | ||||
| type PermanentError struct { | ||||
| 	Err error | ||||
| } | ||||
|  | ||||
| func (e *PermanentError) Error() string { | ||||
| 	return e.Err.Error() | ||||
| } | ||||
|  | ||||
| func (e *PermanentError) Unwrap() error { | ||||
| 	return e.Err | ||||
| } | ||||
|  | ||||
| func (e *PermanentError) Is(target error) bool { | ||||
| 	_, ok := target.(*PermanentError) | ||||
| 	return ok | ||||
| } | ||||
|  | ||||
| // Permanent wraps the given err in a *PermanentError. | ||||
| func Permanent(err error) error { | ||||
| 	if err == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	return &PermanentError{ | ||||
| 		Err: err, | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										97
									
								
								vendor/github.com/cenkalti/backoff/v4/ticker.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								vendor/github.com/cenkalti/backoff/v4/ticker.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | ||||
| package backoff | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"sync" | ||||
| 	"time" | ||||
| ) | ||||
|  | ||||
| // Ticker holds a channel that delivers `ticks' of a clock at times reported by a BackOff. | ||||
| // | ||||
| // Ticks will continue to arrive when the previous operation is still running, | ||||
| // so operations that take a while to fail could run in quick succession. | ||||
| type Ticker struct { | ||||
| 	C        <-chan time.Time | ||||
| 	c        chan time.Time | ||||
| 	b        BackOff | ||||
| 	ctx      context.Context | ||||
| 	timer    Timer | ||||
| 	stop     chan struct{} | ||||
| 	stopOnce sync.Once | ||||
| } | ||||
|  | ||||
| // NewTicker returns a new Ticker containing a channel that will send | ||||
| // the time at times specified by the BackOff argument. Ticker is | ||||
| // guaranteed to tick at least once.  The channel is closed when Stop | ||||
| // method is called or BackOff stops. It is not safe to manipulate the | ||||
| // provided backoff policy (notably calling NextBackOff or Reset) | ||||
| // while the ticker is running. | ||||
| func NewTicker(b BackOff) *Ticker { | ||||
| 	return NewTickerWithTimer(b, &defaultTimer{}) | ||||
| } | ||||
|  | ||||
| // NewTickerWithTimer returns a new Ticker with a custom timer. | ||||
| // A default timer that uses system timer is used when nil is passed. | ||||
| func NewTickerWithTimer(b BackOff, timer Timer) *Ticker { | ||||
| 	if timer == nil { | ||||
| 		timer = &defaultTimer{} | ||||
| 	} | ||||
| 	c := make(chan time.Time) | ||||
| 	t := &Ticker{ | ||||
| 		C:     c, | ||||
| 		c:     c, | ||||
| 		b:     b, | ||||
| 		ctx:   getContext(b), | ||||
| 		timer: timer, | ||||
| 		stop:  make(chan struct{}), | ||||
| 	} | ||||
| 	t.b.Reset() | ||||
| 	go t.run() | ||||
| 	return t | ||||
| } | ||||
|  | ||||
| // Stop turns off a ticker. After Stop, no more ticks will be sent. | ||||
| func (t *Ticker) Stop() { | ||||
| 	t.stopOnce.Do(func() { close(t.stop) }) | ||||
| } | ||||
|  | ||||
| func (t *Ticker) run() { | ||||
| 	c := t.c | ||||
| 	defer close(c) | ||||
|  | ||||
| 	// Ticker is guaranteed to tick at least once. | ||||
| 	afterC := t.send(time.Now()) | ||||
|  | ||||
| 	for { | ||||
| 		if afterC == nil { | ||||
| 			return | ||||
| 		} | ||||
|  | ||||
| 		select { | ||||
| 		case tick := <-afterC: | ||||
| 			afterC = t.send(tick) | ||||
| 		case <-t.stop: | ||||
| 			t.c = nil // Prevent future ticks from being sent to the channel. | ||||
| 			return | ||||
| 		case <-t.ctx.Done(): | ||||
| 			return | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func (t *Ticker) send(tick time.Time) <-chan time.Time { | ||||
| 	select { | ||||
| 	case t.c <- tick: | ||||
| 	case <-t.stop: | ||||
| 		return nil | ||||
| 	} | ||||
|  | ||||
| 	next := t.b.NextBackOff() | ||||
| 	if next == Stop { | ||||
| 		t.Stop() | ||||
| 		return nil | ||||
| 	} | ||||
|  | ||||
| 	t.timer.Start(next) | ||||
| 	return t.timer.C() | ||||
| } | ||||
							
								
								
									
										35
									
								
								vendor/github.com/cenkalti/backoff/v4/timer.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								vendor/github.com/cenkalti/backoff/v4/timer.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| package backoff | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| type Timer interface { | ||||
| 	Start(duration time.Duration) | ||||
| 	Stop() | ||||
| 	C() <-chan time.Time | ||||
| } | ||||
|  | ||||
| // defaultTimer implements Timer interface using time.Timer | ||||
| type defaultTimer struct { | ||||
| 	timer *time.Timer | ||||
| } | ||||
|  | ||||
| // C returns the timers channel which receives the current time when the timer fires. | ||||
| func (t *defaultTimer) C() <-chan time.Time { | ||||
| 	return t.timer.C | ||||
| } | ||||
|  | ||||
| // Start starts the timer to fire after the given duration | ||||
| func (t *defaultTimer) Start(duration time.Duration) { | ||||
| 	if t.timer == nil { | ||||
| 		t.timer = time.NewTimer(duration) | ||||
| 	} else { | ||||
| 		t.timer.Reset(duration) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // Stop is called when the timer is not used anymore and resources may be freed. | ||||
| func (t *defaultTimer) Stop() { | ||||
| 	if t.timer != nil { | ||||
| 		t.timer.Stop() | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										38
									
								
								vendor/github.com/cenkalti/backoff/v4/tries.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								vendor/github.com/cenkalti/backoff/v4/tries.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| package backoff | ||||
|  | ||||
| import "time" | ||||
|  | ||||
| /* | ||||
| WithMaxRetries creates a wrapper around another BackOff, which will | ||||
| return Stop if NextBackOff() has been called too many times since | ||||
| the last time Reset() was called | ||||
|  | ||||
| Note: Implementation is not thread-safe. | ||||
| */ | ||||
| func WithMaxRetries(b BackOff, max uint64) BackOff { | ||||
| 	return &backOffTries{delegate: b, maxTries: max} | ||||
| } | ||||
|  | ||||
| type backOffTries struct { | ||||
| 	delegate BackOff | ||||
| 	maxTries uint64 | ||||
| 	numTries uint64 | ||||
| } | ||||
|  | ||||
| func (b *backOffTries) NextBackOff() time.Duration { | ||||
| 	if b.maxTries == 0 { | ||||
| 		return Stop | ||||
| 	} | ||||
| 	if b.maxTries > 0 { | ||||
| 		if b.maxTries <= b.numTries { | ||||
| 			return Stop | ||||
| 		} | ||||
| 		b.numTries++ | ||||
| 	} | ||||
| 	return b.delegate.NextBackOff() | ||||
| } | ||||
|  | ||||
| func (b *backOffTries) Reset() { | ||||
| 	b.numTries = 0 | ||||
| 	b.delegate.Reset() | ||||
| } | ||||
							
								
								
									
										2094
									
								
								vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2094
									
								
								vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										6
									
								
								vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -517,21 +517,21 @@ file { | ||||
|       number: 1 | ||||
|       label: LABEL_OPTIONAL | ||||
|       type: TYPE_UINT64 | ||||
|       json_name: "oom_kill_disable" | ||||
|       json_name: "oomKillDisable" | ||||
|     } | ||||
|     field { | ||||
|       name: "under_oom" | ||||
|       number: 2 | ||||
|       label: LABEL_OPTIONAL | ||||
|       type: TYPE_UINT64 | ||||
|       json_name: "under_oom" | ||||
|       json_name: "underOom" | ||||
|     } | ||||
|     field { | ||||
|       name: "oom_kill" | ||||
|       number: 3 | ||||
|       label: LABEL_OPTIONAL | ||||
|       type: TYPE_UINT64 | ||||
|       json_name: "oom_kill" | ||||
|       json_name: "oomKill" | ||||
|     } | ||||
|   } | ||||
|   message_type { | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/containerd/console/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/containerd/console/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,8 @@ | ||||
| # console | ||||
|  | ||||
| [](https://travis-ci.org/containerd/console) | ||||
| [](https://pkg.go.dev/github.com/containerd/console) | ||||
| [](https://github.com/containerd/console/actions?query=workflow%3ACI) | ||||
| [](https://goreportcard.com/report/github.com/containerd/console) | ||||
|  | ||||
| Golang package for dealing with consoles.  Light on deps and a simple API. | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/containerd/console/console_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/containerd/console/console_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -19,8 +19,6 @@ | ||||
| package console | ||||
|  | ||||
| import ( | ||||
| 	"os" | ||||
|  | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
|  | ||||
| @@ -28,7 +26,7 @@ import ( | ||||
| // The master is returned as the first console and a string | ||||
| // with the path to the pty slave is returned as the second | ||||
| func NewPty() (Console, string, error) { | ||||
| 	f, err := os.OpenFile("/dev/ptmx", unix.O_RDWR|unix.O_NOCTTY|unix.O_CLOEXEC, 0) | ||||
| 	f, err := openpt() | ||||
| 	if err != nil { | ||||
| 		return nil, "", err | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/console/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/console/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,5 +4,5 @@ go 1.13 | ||||
|  | ||||
| require ( | ||||
| 	github.com/pkg/errors v0.9.1 | ||||
| 	golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f | ||||
| 	golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c | ||||
| ) | ||||
|   | ||||
							
								
								
									
										4
									
								
								vendor/github.com/containerd/console/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/containerd/console/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f h1:6Sc1XOXTulBN6imkqo6XoAXDEzoQ4/ro6xy7Vn8+rOM= | ||||
| golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk= | ||||
| golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
|   | ||||
							
								
								
									
										45
									
								
								vendor/github.com/containerd/console/pty_freebsd_cgo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								vendor/github.com/containerd/console/pty_freebsd_cgo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| // +build freebsd,cgo | ||||
|  | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package console | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| ) | ||||
|  | ||||
| /* | ||||
| #include <fcntl.h> | ||||
| #include <stdlib.h> | ||||
| #include <unistd.h> | ||||
| */ | ||||
| import "C" | ||||
|  | ||||
| // openpt allocates a new pseudo-terminal and establishes a connection with its | ||||
| // control device. | ||||
| func openpt() (*os.File, error) { | ||||
| 	fd, err := C.posix_openpt(C.O_RDWR) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("posix_openpt: %w", err) | ||||
| 	} | ||||
| 	if _, err := C.grantpt(fd); err != nil { | ||||
| 		C.close(fd) | ||||
| 		return nil, fmt.Errorf("grantpt: %w", err) | ||||
| 	} | ||||
| 	return os.NewFile(uintptr(fd), ""), nil | ||||
| } | ||||
							
								
								
									
										36
									
								
								vendor/github.com/containerd/console/pty_freebsd_nocgo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/containerd/console/pty_freebsd_nocgo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| // +build freebsd,!cgo | ||||
|  | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package console | ||||
|  | ||||
| import ( | ||||
| 	"os" | ||||
| ) | ||||
|  | ||||
| // | ||||
| // Implementing the functions below requires cgo support.  Non-cgo stubs | ||||
| // versions are defined below to enable cross-compilation of source code | ||||
| // that depends on these functions, but the resultant cross-compiled | ||||
| // binaries cannot actually be used.  If the stub function(s) below are | ||||
| // actually invoked they will display an error message and cause the | ||||
| // calling process to exit. | ||||
| // | ||||
|  | ||||
| func openpt() (*os.File, error) { | ||||
| 	panic("openpt() support requires cgo.") | ||||
| } | ||||
| @@ -1,3 +1,5 @@ | ||||
| // +build darwin linux netbsd openbsd solaris | ||||
| 
 | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
| @@ -14,22 +16,15 @@ | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package sys | ||||
| package console | ||||
| 
 | ||||
| import "os" | ||||
| import ( | ||||
| 	"os" | ||||
| 
 | ||||
| // IsFifo checks if a file is a (named pipe) fifo | ||||
| // if the file does not exist then it returns false | ||||
| func IsFifo(path string) (bool, error) { | ||||
| 	stat, err := os.Stat(path) | ||||
| 	if err != nil { | ||||
| 		if os.IsNotExist(err) { | ||||
| 			return false, nil | ||||
| 		} | ||||
| 		return false, err | ||||
| 	} | ||||
| 	if stat.Mode()&os.ModeNamedPipe == os.ModeNamedPipe { | ||||
| 		return true, nil | ||||
| 	} | ||||
| 	return false, nil | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
| 
 | ||||
| // openpt allocates a new pseudo-terminal by opening the /dev/ptmx device | ||||
| func openpt() (*os.File, error) { | ||||
| 	return os.OpenFile("/dev/ptmx", unix.O_RDWR|unix.O_NOCTTY|unix.O_CLOEXEC, 0) | ||||
| } | ||||
| @@ -1,3 +1,5 @@ | ||||
| // +build freebsd,cgo | ||||
| 
 | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
| @@ -23,6 +25,12 @@ import ( | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
| 
 | ||||
| /* | ||||
| #include <stdlib.h> | ||||
| #include <unistd.h> | ||||
| */ | ||||
| import "C" | ||||
| 
 | ||||
| const ( | ||||
| 	cmdTcGet = unix.TIOCGETA | ||||
| 	cmdTcSet = unix.TIOCSETA | ||||
| @@ -30,8 +38,12 @@ const ( | ||||
| 
 | ||||
| // unlockpt unlocks the slave pseudoterminal device corresponding to the master pseudoterminal referred to by f. | ||||
| // unlockpt should be called before opening the slave side of a pty. | ||||
| // This does not exist on FreeBSD, it does not allocate controlling terminals on open | ||||
| func unlockpt(f *os.File) error { | ||||
| 	fd := C.int(f.Fd()) | ||||
| 	if _, err := C.unlockpt(fd); err != nil { | ||||
| 		C.close(fd) | ||||
| 		return fmt.Errorf("unlockpt: %w", err) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
							
								
								
									
										55
									
								
								vendor/github.com/containerd/console/tc_freebsd_nocgo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								vendor/github.com/containerd/console/tc_freebsd_nocgo.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| // +build freebsd,!cgo | ||||
|  | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package console | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
|  | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
|  | ||||
| const ( | ||||
| 	cmdTcGet = unix.TIOCGETA | ||||
| 	cmdTcSet = unix.TIOCSETA | ||||
| ) | ||||
|  | ||||
| // | ||||
| // Implementing the functions below requires cgo support.  Non-cgo stubs | ||||
| // versions are defined below to enable cross-compilation of source code | ||||
| // that depends on these functions, but the resultant cross-compiled | ||||
| // binaries cannot actually be used.  If the stub function(s) below are | ||||
| // actually invoked they will display an error message and cause the | ||||
| // calling process to exit. | ||||
| // | ||||
|  | ||||
| // unlockpt unlocks the slave pseudoterminal device corresponding to the master pseudoterminal referred to by f. | ||||
| // unlockpt should be called before opening the slave side of a pty. | ||||
| func unlockpt(f *os.File) error { | ||||
| 	panic("unlockpt() support requires cgo.") | ||||
| } | ||||
|  | ||||
| // ptsname retrieves the name of the first available pts for the given master. | ||||
| func ptsname(f *os.File) (string, error) { | ||||
| 	n, err := unix.IoctlGetInt(int(f.Fd()), unix.TIOCGPTN) | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	return fmt.Sprintf("/dev/pts/%d", n), nil | ||||
| } | ||||
							
								
								
									
										13
									
								
								vendor/github.com/containerd/console/tc_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/containerd/console/tc_linux.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -19,6 +19,7 @@ package console | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"unsafe" | ||||
|  | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
| @@ -31,13 +32,19 @@ const ( | ||||
| // unlockpt unlocks the slave pseudoterminal device corresponding to the master pseudoterminal referred to by f. | ||||
| // unlockpt should be called before opening the slave side of a pty. | ||||
| func unlockpt(f *os.File) error { | ||||
| 	return unix.IoctlSetPointerInt(int(f.Fd()), unix.TIOCSPTLCK, 0) | ||||
| 	var u int32 | ||||
| 	// XXX do not use unix.IoctlSetPointerInt here, see commit dbd69c59b81. | ||||
| 	if _, _, err := unix.Syscall(unix.SYS_IOCTL, f.Fd(), unix.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))); err != 0 { | ||||
| 		return err | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // ptsname retrieves the name of the first available pts for the given master. | ||||
| func ptsname(f *os.File) (string, error) { | ||||
| 	u, err := unix.IoctlGetInt(int(f.Fd()), unix.TIOCGPTN) | ||||
| 	if err != nil { | ||||
| 	var u uint32 | ||||
| 	// XXX do not use unix.IoctlGetInt here, see commit dbd69c59b81. | ||||
| 	if _, _, err := unix.Syscall(unix.SYS_IOCTL, f.Fd(), unix.TIOCGPTN, uintptr(unsafe.Pointer(&u))); err != 0 { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	return fmt.Sprintf("/dev/pts/%d", u), nil | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/containerd/content/local/store.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/containerd/content/local/store.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -465,7 +465,6 @@ func (s *store) Writer(ctx context.Context, opts ...content.WriterOpt) (content. | ||||
| 	} | ||||
| 	var lockErr error | ||||
| 	for count := uint64(0); count < 10; count++ { | ||||
| 		time.Sleep(time.Millisecond * time.Duration(rand.Intn(1<<count))) | ||||
| 		if err := tryLock(wOpts.Ref); err != nil { | ||||
| 			if !errdefs.IsUnavailable(err) { | ||||
| 				return nil, err | ||||
| @@ -476,6 +475,7 @@ func (s *store) Writer(ctx context.Context, opts ...content.WriterOpt) (content. | ||||
| 			lockErr = nil | ||||
| 			break | ||||
| 		} | ||||
| 		time.Sleep(time.Millisecond * time.Duration(rand.Intn(1<<count))) | ||||
| 	} | ||||
|  | ||||
| 	if lockErr != nil { | ||||
|   | ||||
							
								
								
									
										9
									
								
								vendor/github.com/containerd/containerd/content/proxy/content_writer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/github.com/containerd/containerd/content/proxy/content_writer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -97,7 +97,14 @@ func (rw *remoteWriter) Write(p []byte) (n int, err error) { | ||||
| 	return | ||||
| } | ||||
|  | ||||
| func (rw *remoteWriter) Commit(ctx context.Context, size int64, expected digest.Digest, opts ...content.Opt) error { | ||||
| func (rw *remoteWriter) Commit(ctx context.Context, size int64, expected digest.Digest, opts ...content.Opt) (err error) { | ||||
| 	defer func() { | ||||
| 		err1 := rw.Close() | ||||
| 		if err == nil { | ||||
| 			err = err1 | ||||
| 		} | ||||
| 	}() | ||||
|  | ||||
| 	var base content.Info | ||||
| 	for _, opt := range opts { | ||||
| 		if err := opt(&base); err != nil { | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/containerd/defaults/defaults_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/containerd/defaults/defaults_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -34,4 +34,6 @@ const ( | ||||
| 	DefaultFIFODir = "/run/containerd/fifo" | ||||
| 	// DefaultRuntime is the default linux runtime | ||||
| 	DefaultRuntime = "io.containerd.runc.v2" | ||||
| 	// DefaultConfigDir is the default location for config files. | ||||
| 	DefaultConfigDir = "/etc/containerd" | ||||
| ) | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/containerd/containerd/defaults/defaults_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/containerd/containerd/defaults/defaults_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -30,6 +30,9 @@ var ( | ||||
| 	// DefaultStateDir is the default location used by containerd to store | ||||
| 	// transient data | ||||
| 	DefaultStateDir = filepath.Join(os.Getenv("ProgramData"), "containerd", "state") | ||||
|  | ||||
| 	// DefaultConfigDir is the default location for config files. | ||||
| 	DefaultConfigDir = filepath.Join(os.Getenv("programfiles"), "containerd") | ||||
| ) | ||||
|  | ||||
| const ( | ||||
|   | ||||
							
								
								
									
										7
									
								
								vendor/github.com/containerd/containerd/images/diffid.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/containerd/containerd/images/diffid.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,10 +17,10 @@ | ||||
| package images | ||||
|  | ||||
| import ( | ||||
| 	"compress/gzip" | ||||
| 	"context" | ||||
| 	"io" | ||||
|  | ||||
| 	"github.com/containerd/containerd/archive/compression" | ||||
| 	"github.com/containerd/containerd/content" | ||||
| 	"github.com/containerd/containerd/labels" | ||||
| 	"github.com/opencontainers/go-digest" | ||||
| @@ -55,13 +55,14 @@ func GetDiffID(ctx context.Context, cs content.Store, desc ocispec.Descriptor) ( | ||||
| 	} | ||||
| 	defer ra.Close() | ||||
| 	r := content.NewReader(ra) | ||||
| 	gzR, err := gzip.NewReader(r) | ||||
| 	uR, err := compression.DecompressStream(r) | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	defer uR.Close() | ||||
| 	digester := digest.Canonical.Digester() | ||||
| 	hashW := digester.Hash() | ||||
| 	if _, err := io.Copy(hashW, gzR); err != nil { | ||||
| 	if _, err := io.Copy(hashW, uR); err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	if err := ra.Close(); err != nil { | ||||
|   | ||||
							
								
								
									
										3
									
								
								vendor/github.com/containerd/containerd/images/mediatypes.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/containerd/containerd/images/mediatypes.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -49,6 +49,9 @@ const ( | ||||
| 	MediaTypeContainerd1CheckpointRuntimeOptions = "application/vnd.containerd.container.checkpoint.runtime.options+proto" | ||||
| 	// Legacy Docker schema1 manifest | ||||
| 	MediaTypeDockerSchema1Manifest = "application/vnd.docker.distribution.manifest.v1+prettyjws" | ||||
| 	// Encypted media types | ||||
| 	MediaTypeImageLayerEncrypted     = ocispec.MediaTypeImageLayer + "+encrypted" | ||||
| 	MediaTypeImageLayerGzipEncrypted = ocispec.MediaTypeImageLayerGzip + "+encrypted" | ||||
| ) | ||||
|  | ||||
| // DiffCompression returns the compression as defined by the layer diff media | ||||
|   | ||||
| @@ -14,7 +14,7 @@ | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package sys | ||||
| package userns | ||||
| 
 | ||||
| import ( | ||||
| 	"bufio" | ||||
| @@ -16,7 +16,7 @@ | ||||
|    limitations under the License. | ||||
| */ | ||||
| 
 | ||||
| package sys | ||||
| package userns | ||||
| 
 | ||||
| // RunningInUserNS is a stub for non-Linux systems | ||||
| // Always returns false | ||||
							
								
								
									
										60
									
								
								vendor/github.com/containerd/containerd/platforms/defaults_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										60
									
								
								vendor/github.com/containerd/containerd/platforms/defaults_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -19,15 +19,63 @@ | ||||
| package platforms | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"runtime" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
|  | ||||
| 	imagespec "github.com/opencontainers/image-spec/specs-go/v1" | ||||
| 	specs "github.com/opencontainers/image-spec/specs-go/v1" | ||||
| 	"golang.org/x/sys/windows" | ||||
| ) | ||||
|  | ||||
| // Default returns the default matcher for the platform. | ||||
| func Default() MatchComparer { | ||||
| 	return Ordered(DefaultSpec(), specs.Platform{ | ||||
| 		OS:           "linux", | ||||
| 		Architecture: runtime.GOARCH, | ||||
| 	}) | ||||
| type matchComparer struct { | ||||
| 	defaults        Matcher | ||||
| 	osVersionPrefix string | ||||
| } | ||||
|  | ||||
| // Match matches platform with the same windows major, minor | ||||
| // and build version. | ||||
| func (m matchComparer) Match(p imagespec.Platform) bool { | ||||
| 	if m.defaults.Match(p) { | ||||
| 		// TODO(windows): Figure out whether OSVersion is deprecated. | ||||
| 		return strings.HasPrefix(p.OSVersion, m.osVersionPrefix) | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // Less sorts matched platforms in front of other platforms. | ||||
| // For matched platforms, it puts platforms with larger revision | ||||
| // number in front. | ||||
| func (m matchComparer) Less(p1, p2 imagespec.Platform) bool { | ||||
| 	m1, m2 := m.Match(p1), m.Match(p2) | ||||
| 	if m1 && m2 { | ||||
| 		r1, r2 := revision(p1.OSVersion), revision(p2.OSVersion) | ||||
| 		return r1 > r2 | ||||
| 	} | ||||
| 	return m1 && !m2 | ||||
| } | ||||
|  | ||||
| func revision(v string) int { | ||||
| 	parts := strings.Split(v, ".") | ||||
| 	if len(parts) < 4 { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	r, err := strconv.Atoi(parts[3]) | ||||
| 	if err != nil { | ||||
| 		return 0 | ||||
| 	} | ||||
| 	return r | ||||
| } | ||||
|  | ||||
| // Default returns the current platform's default platform specification. | ||||
| func Default() MatchComparer { | ||||
| 	major, minor, build := windows.RtlGetNtVersionNumbers() | ||||
| 	return matchComparer{ | ||||
| 		defaults: Ordered(DefaultSpec(), specs.Platform{ | ||||
| 			OS:           "linux", | ||||
| 			Architecture: runtime.GOARCH, | ||||
| 		}), | ||||
| 		osVersionPrefix: fmt.Sprintf("%d.%d.%d", major, minor, build), | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										50
									
								
								vendor/github.com/containerd/containerd/remotes/docker/pusher.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								vendor/github.com/containerd/containerd/remotes/docker/pusher.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -44,17 +44,47 @@ type dockerPusher struct { | ||||
| 	tracker StatusTracker | ||||
| } | ||||
|  | ||||
| // Writer implements Ingester API of content store. This allows the client | ||||
| // to receive ErrUnavailable when there is already an on-going upload. | ||||
| // Note that the tracker MUST implement StatusTrackLocker interface to avoid | ||||
| // race condition on StatusTracker. | ||||
| func (p dockerPusher) Writer(ctx context.Context, opts ...content.WriterOpt) (content.Writer, error) { | ||||
| 	var wOpts content.WriterOpts | ||||
| 	for _, opt := range opts { | ||||
| 		if err := opt(&wOpts); err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 	} | ||||
| 	if wOpts.Ref == "" { | ||||
| 		return nil, errors.Wrap(errdefs.ErrInvalidArgument, "ref must not be empty") | ||||
| 	} | ||||
| 	return p.push(ctx, wOpts.Desc, wOpts.Ref, true) | ||||
| } | ||||
|  | ||||
| func (p dockerPusher) Push(ctx context.Context, desc ocispec.Descriptor) (content.Writer, error) { | ||||
| 	return p.push(ctx, desc, remotes.MakeRefKey(ctx, desc), false) | ||||
| } | ||||
|  | ||||
| func (p dockerPusher) push(ctx context.Context, desc ocispec.Descriptor, ref string, unavailableOnFail bool) (content.Writer, error) { | ||||
| 	if l, ok := p.tracker.(StatusTrackLocker); ok { | ||||
| 		l.Lock(ref) | ||||
| 		defer l.Unlock(ref) | ||||
| 	} | ||||
| 	ctx, err := ContextWithRepositoryScope(ctx, p.refspec, true) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	ref := remotes.MakeRefKey(ctx, desc) | ||||
| 	status, err := p.tracker.GetStatus(ref) | ||||
| 	if err == nil { | ||||
| 		if status.Offset == status.Total { | ||||
| 		if status.Committed && status.Offset == status.Total { | ||||
| 			return nil, errors.Wrapf(errdefs.ErrAlreadyExists, "ref %v", ref) | ||||
| 		} | ||||
| 		if unavailableOnFail { | ||||
| 			// Another push of this ref is happening elsewhere. The rest of function | ||||
| 			// will continue only when `errdefs.IsNotFound(err) == true` (i.e. there | ||||
| 			// is no actively-tracked ref already). | ||||
| 			return nil, errors.Wrap(errdefs.ErrUnavailable, "push is on-going") | ||||
| 		} | ||||
| 		// TODO: Handle incomplete status | ||||
| 	} else if !errdefs.IsNotFound(err) { | ||||
| 		return nil, errors.Wrap(err, "failed to get status") | ||||
| @@ -105,8 +135,11 @@ func (p dockerPusher) Push(ctx context.Context, desc ocispec.Descriptor) (conten | ||||
|  | ||||
| 			if exists { | ||||
| 				p.tracker.SetStatus(ref, Status{ | ||||
| 					Committed: true, | ||||
| 					Status: content.Status{ | ||||
| 						Ref: ref, | ||||
| 						Ref:    ref, | ||||
| 						Total:  desc.Size, | ||||
| 						Offset: desc.Size, | ||||
| 						// TODO: Set updated time? | ||||
| 					}, | ||||
| 				}) | ||||
| @@ -162,8 +195,11 @@ func (p dockerPusher) Push(ctx context.Context, desc ocispec.Descriptor) (conten | ||||
| 		case http.StatusOK, http.StatusAccepted, http.StatusNoContent: | ||||
| 		case http.StatusCreated: | ||||
| 			p.tracker.SetStatus(ref, Status{ | ||||
| 				Committed: true, | ||||
| 				Status: content.Status{ | ||||
| 					Ref: ref, | ||||
| 					Ref:    ref, | ||||
| 					Total:  desc.Size, | ||||
| 					Offset: desc.Size, | ||||
| 				}, | ||||
| 			}) | ||||
| 			return nil, errors.Wrapf(errdefs.ErrAlreadyExists, "content %v on remote", desc.Digest) | ||||
| @@ -341,8 +377,6 @@ func (pw *pushWriter) Commit(ctx context.Context, size int64, expected digest.Di | ||||
| 	if err := pw.pipe.Close(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	// TODO: Update status to determine committing | ||||
|  | ||||
| 	// TODO: timeout waiting for response | ||||
| 	resp := <-pw.responseC | ||||
| 	if resp.err != nil { | ||||
| @@ -379,6 +413,10 @@ func (pw *pushWriter) Commit(ctx context.Context, size int64, expected digest.Di | ||||
| 		return errors.Errorf("got digest %s, expected %s", actual, expected) | ||||
| 	} | ||||
|  | ||||
| 	status.Committed = true | ||||
| 	status.UpdatedAt = time.Now() | ||||
| 	pw.tracker.SetStatus(pw.ref, status) | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										42
									
								
								vendor/github.com/containerd/containerd/remotes/docker/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								vendor/github.com/containerd/containerd/remotes/docker/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,7 +17,10 @@ | ||||
| package docker | ||||
|  | ||||
| import ( | ||||
| 	"net" | ||||
| 	"net/http" | ||||
|  | ||||
| 	"github.com/pkg/errors" | ||||
| ) | ||||
|  | ||||
| // HostCapabilities represent the capabilities of the registry | ||||
| @@ -202,12 +205,41 @@ func MatchAllHosts(string) (bool, error) { | ||||
|  | ||||
| // MatchLocalhost is a host match function which returns true for | ||||
| // localhost. | ||||
| // | ||||
| // Note: this does not handle matching of ip addresses in octal, | ||||
| // decimal or hex form. | ||||
| func MatchLocalhost(host string) (bool, error) { | ||||
| 	for _, s := range []string{"localhost", "127.0.0.1", "[::1]"} { | ||||
| 		if len(host) >= len(s) && host[0:len(s)] == s && (len(host) == len(s) || host[len(s)] == ':') { | ||||
| 			return true, nil | ||||
| 		} | ||||
| 	switch { | ||||
| 	case host == "::1": | ||||
| 		return true, nil | ||||
| 	case host == "[::1]": | ||||
| 		return true, nil | ||||
| 	} | ||||
| 	return host == "::1", nil | ||||
| 	h, p, err := net.SplitHostPort(host) | ||||
|  | ||||
| 	// addrError helps distinguish between errors of form | ||||
| 	// "no colon in address" and "too many colons in address". | ||||
| 	// The former is fine as the host string need not have a | ||||
| 	// port. Latter needs to be handled. | ||||
| 	addrError := &net.AddrError{ | ||||
| 		Err:  "missing port in address", | ||||
| 		Addr: host, | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		if err.Error() != addrError.Error() { | ||||
| 			return false, err | ||||
| 		} | ||||
| 		// host string without any port specified | ||||
| 		h = host | ||||
| 	} else if len(p) == 0 { | ||||
| 		return false, errors.New("invalid host name format") | ||||
| 	} | ||||
|  | ||||
| 	// use ipv4 dotted decimal for further checking | ||||
| 	if h == "localhost" { | ||||
| 		h = "127.0.0.1" | ||||
| 	} | ||||
| 	ip := net.ParseIP(h) | ||||
|  | ||||
| 	return ip.IsLoopback(), nil | ||||
| } | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/containerd/remotes/docker/resolver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/containerd/remotes/docker/resolver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -286,12 +286,14 @@ func (r *dockerResolver) Resolve(ctx context.Context, ref string) (string, ocisp | ||||
| 				if lastErr == nil { | ||||
| 					lastErr = err | ||||
| 				} | ||||
| 				log.G(ctx).WithError(err).Info("trying next host") | ||||
| 				continue // try another host | ||||
| 			} | ||||
| 			resp.Body.Close() // don't care about body contents. | ||||
|  | ||||
| 			if resp.StatusCode > 299 { | ||||
| 				if resp.StatusCode == http.StatusNotFound { | ||||
| 					log.G(ctx).Info("trying next host - response was http.StatusNotFound") | ||||
| 					continue | ||||
| 				} | ||||
| 				return "", ocispec.Descriptor{}, errors.Errorf("unexpected status code %v: %v", u, resp.Status) | ||||
|   | ||||
							
								
								
									
										22
									
								
								vendor/github.com/containerd/containerd/remotes/docker/status.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/containerd/containerd/remotes/docker/status.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -21,6 +21,7 @@ import ( | ||||
|  | ||||
| 	"github.com/containerd/containerd/content" | ||||
| 	"github.com/containerd/containerd/errdefs" | ||||
| 	"github.com/moby/locker" | ||||
| 	"github.com/pkg/errors" | ||||
| ) | ||||
|  | ||||
| @@ -28,6 +29,8 @@ import ( | ||||
| type Status struct { | ||||
| 	content.Status | ||||
|  | ||||
| 	Committed bool | ||||
|  | ||||
| 	// UploadUUID is used by the Docker registry to reference blob uploads | ||||
| 	UploadUUID string | ||||
| } | ||||
| @@ -38,15 +41,24 @@ type StatusTracker interface { | ||||
| 	SetStatus(string, Status) | ||||
| } | ||||
|  | ||||
| // StatusTrackLocker to track status of operations with lock | ||||
| type StatusTrackLocker interface { | ||||
| 	StatusTracker | ||||
| 	Lock(string) | ||||
| 	Unlock(string) | ||||
| } | ||||
|  | ||||
| type memoryStatusTracker struct { | ||||
| 	statuses map[string]Status | ||||
| 	m        sync.Mutex | ||||
| 	locker   *locker.Locker | ||||
| } | ||||
|  | ||||
| // NewInMemoryTracker returns a StatusTracker that tracks content status in-memory | ||||
| func NewInMemoryTracker() StatusTracker { | ||||
| func NewInMemoryTracker() StatusTrackLocker { | ||||
| 	return &memoryStatusTracker{ | ||||
| 		statuses: map[string]Status{}, | ||||
| 		locker:   locker.New(), | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -65,3 +77,11 @@ func (t *memoryStatusTracker) SetStatus(ref string, status Status) { | ||||
| 	t.statuses[ref] = status | ||||
| 	t.m.Unlock() | ||||
| } | ||||
|  | ||||
| func (t *memoryStatusTracker) Lock(ref string) { | ||||
| 	t.locker.Lock(ref) | ||||
| } | ||||
|  | ||||
| func (t *memoryStatusTracker) Unlock(ref string) { | ||||
| 	t.locker.Unlock(ref) | ||||
| } | ||||
|   | ||||
							
								
								
									
										35
									
								
								vendor/github.com/containerd/containerd/remotes/handlers.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										35
									
								
								vendor/github.com/containerd/containerd/remotes/handlers.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,6 +31,7 @@ import ( | ||||
| 	ocispec "github.com/opencontainers/image-spec/specs-go/v1" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 	"golang.org/x/sync/semaphore" | ||||
| ) | ||||
|  | ||||
| type refKeyPrefix struct{} | ||||
| @@ -55,25 +56,32 @@ func WithMediaTypeKeyPrefix(ctx context.Context, mediaType, prefix string) conte | ||||
| // used to lookup ongoing processes related to the descriptor. This function | ||||
| // may look to the context to namespace the reference appropriately. | ||||
| func MakeRefKey(ctx context.Context, desc ocispec.Descriptor) string { | ||||
| 	key := desc.Digest.String() | ||||
| 	if desc.Annotations != nil { | ||||
| 		if name, ok := desc.Annotations[ocispec.AnnotationRefName]; ok { | ||||
| 			key = fmt.Sprintf("%s@%s", name, desc.Digest.String()) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if v := ctx.Value(refKeyPrefix{}); v != nil { | ||||
| 		values := v.(map[string]string) | ||||
| 		if prefix := values[desc.MediaType]; prefix != "" { | ||||
| 			return prefix + "-" + desc.Digest.String() | ||||
| 			return prefix + "-" + key | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	switch mt := desc.MediaType; { | ||||
| 	case mt == images.MediaTypeDockerSchema2Manifest || mt == ocispec.MediaTypeImageManifest: | ||||
| 		return "manifest-" + desc.Digest.String() | ||||
| 		return "manifest-" + key | ||||
| 	case mt == images.MediaTypeDockerSchema2ManifestList || mt == ocispec.MediaTypeImageIndex: | ||||
| 		return "index-" + desc.Digest.String() | ||||
| 		return "index-" + key | ||||
| 	case images.IsLayerType(mt): | ||||
| 		return "layer-" + desc.Digest.String() | ||||
| 		return "layer-" + key | ||||
| 	case images.IsKnownConfig(mt): | ||||
| 		return "config-" + desc.Digest.String() | ||||
| 		return "config-" + key | ||||
| 	default: | ||||
| 		log.G(ctx).Warnf("reference for unknown type: %s", mt) | ||||
| 		return "unknown-" + desc.Digest.String() | ||||
| 		return "unknown-" + key | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -157,7 +165,15 @@ func PushHandler(pusher Pusher, provider content.Provider) images.HandlerFunc { | ||||
| func push(ctx context.Context, provider content.Provider, pusher Pusher, desc ocispec.Descriptor) error { | ||||
| 	log.G(ctx).Debug("push") | ||||
|  | ||||
| 	cw, err := pusher.Push(ctx, desc) | ||||
| 	var ( | ||||
| 		cw  content.Writer | ||||
| 		err error | ||||
| 	) | ||||
| 	if cs, ok := pusher.(content.Ingester); ok { | ||||
| 		cw, err = content.OpenWriter(ctx, cs, content.WithRef(MakeRefKey(ctx, desc)), content.WithDescriptor(desc)) | ||||
| 	} else { | ||||
| 		cw, err = pusher.Push(ctx, desc) | ||||
| 	} | ||||
| 	if err != nil { | ||||
| 		if !errdefs.IsAlreadyExists(err) { | ||||
| 			return err | ||||
| @@ -181,7 +197,8 @@ func push(ctx context.Context, provider content.Provider, pusher Pusher, desc oc | ||||
| // | ||||
| // Base handlers can be provided which will be called before any push specific | ||||
| // handlers. | ||||
| func PushContent(ctx context.Context, pusher Pusher, desc ocispec.Descriptor, store content.Store, platform platforms.MatchComparer, wrapper func(h images.Handler) images.Handler) error { | ||||
| func PushContent(ctx context.Context, pusher Pusher, desc ocispec.Descriptor, store content.Store, limiter *semaphore.Weighted, platform platforms.MatchComparer, wrapper func(h images.Handler) images.Handler) error { | ||||
|  | ||||
| 	var m sync.Mutex | ||||
| 	manifestStack := []ocispec.Descriptor{} | ||||
|  | ||||
| @@ -213,7 +230,7 @@ func PushContent(ctx context.Context, pusher Pusher, desc ocispec.Descriptor, st | ||||
| 		handler = wrapper(handler) | ||||
| 	} | ||||
|  | ||||
| 	if err := images.Dispatch(ctx, handler, nil, desc); err != nil { | ||||
| 	if err := images.Dispatch(ctx, handler, limiter, desc); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/containerd/remotes/resolver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/containerd/remotes/resolver.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -45,6 +45,8 @@ type Resolver interface { | ||||
| 	Fetcher(ctx context.Context, ref string) (Fetcher, error) | ||||
|  | ||||
| 	// Pusher returns a new pusher for the provided reference | ||||
| 	// The returned Pusher should satisfy content.Ingester and concurrent attempts | ||||
| 	// to push the same blob using the Ingester API should result in ErrUnavailable. | ||||
| 	Pusher(ctx context.Context, ref string) (Pusher, error) | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										72
									
								
								vendor/github.com/containerd/containerd/sys/filesys_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										72
									
								
								vendor/github.com/containerd/containerd/sys/filesys_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -22,11 +22,14 @@ import ( | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"regexp" | ||||
| 	"sort" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"syscall" | ||||
| 	"unsafe" | ||||
|  | ||||
| 	"github.com/Microsoft/hcsshim" | ||||
| 	"github.com/pkg/errors" | ||||
| 	"golang.org/x/sys/windows" | ||||
| ) | ||||
|  | ||||
| @@ -257,12 +260,71 @@ func windowsOpenSequential(path string, mode int, _ uint32) (fd windows.Handle, | ||||
| 	return h, e | ||||
| } | ||||
|  | ||||
| // ForceRemoveAll is the same as os.RemoveAll, but uses hcsshim.DestroyLayer in order | ||||
| // to delete container layers. | ||||
| // ForceRemoveAll is the same as os.RemoveAll, but is aware of io.containerd.snapshotter.v1.windows | ||||
| // and uses hcsshim to unmount and delete container layers contained therein, in the correct order, | ||||
| // when passed a containerd root data directory (i.e. the `--root` directory for containerd). | ||||
| func ForceRemoveAll(path string) error { | ||||
| 	info := hcsshim.DriverInfo{ | ||||
| 		HomeDir: filepath.Dir(path), | ||||
| 	// snapshots/windows/windows.go init() | ||||
| 	const snapshotPlugin = "io.containerd.snapshotter.v1" + "." + "windows" | ||||
| 	// snapshots/windows/windows.go NewSnapshotter() | ||||
| 	snapshotDir := filepath.Join(path, snapshotPlugin, "snapshots") | ||||
| 	if stat, err := os.Stat(snapshotDir); err == nil && stat.IsDir() { | ||||
| 		if err := cleanupWCOWLayers(snapshotDir); err != nil { | ||||
| 			return errors.Wrapf(err, "failed to cleanup WCOW layers in %s", snapshotDir) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return hcsshim.DestroyLayer(info, filepath.Base(path)) | ||||
| 	return os.RemoveAll(path) | ||||
| } | ||||
|  | ||||
| func cleanupWCOWLayers(root string) error { | ||||
| 	// See snapshots/windows/windows.go getSnapshotDir() | ||||
| 	var layerNums []int | ||||
| 	if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { | ||||
| 		if path != root && info.IsDir() { | ||||
| 			if layerNum, err := strconv.Atoi(filepath.Base(path)); err == nil { | ||||
| 				layerNums = append(layerNums, layerNum) | ||||
| 			} else { | ||||
| 				return err | ||||
| 			} | ||||
| 			return filepath.SkipDir | ||||
| 		} | ||||
|  | ||||
| 		return nil | ||||
| 	}); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	sort.Sort(sort.Reverse(sort.IntSlice(layerNums))) | ||||
|  | ||||
| 	for _, layerNum := range layerNums { | ||||
| 		if err := cleanupWCOWLayer(filepath.Join(root, strconv.Itoa(layerNum))); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func cleanupWCOWLayer(layerPath string) error { | ||||
| 	info := hcsshim.DriverInfo{ | ||||
| 		HomeDir: filepath.Dir(layerPath), | ||||
| 	} | ||||
|  | ||||
| 	// ERROR_DEV_NOT_EXIST is returned if the layer is not currently prepared. | ||||
| 	if err := hcsshim.UnprepareLayer(info, filepath.Base(layerPath)); err != nil { | ||||
| 		if hcserror, ok := err.(*hcsshim.HcsError); !ok || hcserror.Err != windows.ERROR_DEV_NOT_EXIST { | ||||
| 			return errors.Wrapf(err, "failed to unprepare %s", layerPath) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if err := hcsshim.DeactivateLayer(info, filepath.Base(layerPath)); err != nil { | ||||
| 		return errors.Wrapf(err, "failed to deactivate %s", layerPath) | ||||
| 	} | ||||
|  | ||||
| 	if err := hcsshim.DestroyLayer(info, filepath.Base(layerPath)); err != nil { | ||||
| 		return errors.Wrapf(err, "failed to destroy %s", layerPath) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| // +build !windows | ||||
| 
 | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
| @@ -24,17 +22,34 @@ import ( | ||||
| 	"os" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/containerd/containerd/pkg/userns" | ||||
| 	"golang.org/x/sys/unix" | ||||
| ) | ||||
| 
 | ||||
| const ( | ||||
| 	// OOMScoreMaxKillable is the maximum score keeping the process killable by the oom killer | ||||
| 	OOMScoreMaxKillable = -999 | ||||
| 	// OOMScoreAdjMax is from OOM_SCORE_ADJ_MAX https://github.com/torvalds/linux/blob/master/include/uapi/linux/oom.h | ||||
| 	// OOMScoreAdjMin is from OOM_SCORE_ADJ_MIN https://github.com/torvalds/linux/blob/v5.10/include/uapi/linux/oom.h#L9 | ||||
| 	OOMScoreAdjMin = -1000 | ||||
| 	// OOMScoreAdjMax is from OOM_SCORE_ADJ_MAX https://github.com/torvalds/linux/blob/v5.10/include/uapi/linux/oom.h#L10 | ||||
| 	OOMScoreAdjMax = 1000 | ||||
| ) | ||||
| 
 | ||||
| // AdjustOOMScore sets the oom score for the provided pid. If the provided score | ||||
| // is out of range (-1000 - 1000), it is clipped to the min/max value. | ||||
| func AdjustOOMScore(pid, score int) error { | ||||
| 	if score > OOMScoreAdjMax { | ||||
| 		score = OOMScoreAdjMax | ||||
| 	} else if score < OOMScoreAdjMin { | ||||
| 		score = OOMScoreAdjMin | ||||
| 	} | ||||
| 	return SetOOMScore(pid, score) | ||||
| } | ||||
| 
 | ||||
| // SetOOMScore sets the oom score for the provided pid | ||||
| func SetOOMScore(pid, score int) error { | ||||
| 	if score > OOMScoreAdjMax || score < OOMScoreAdjMin { | ||||
| 		return fmt.Errorf("value out of range (%d): OOM score must be between %d and %d", score, OOMScoreAdjMin, OOMScoreAdjMax) | ||||
| 	} | ||||
| 	path := fmt.Sprintf("/proc/%d/oom_score_adj", pid) | ||||
| 	f, err := os.OpenFile(path, os.O_WRONLY, 0) | ||||
| 	if err != nil { | ||||
| @@ -42,7 +57,7 @@ func SetOOMScore(pid, score int) error { | ||||
| 	} | ||||
| 	defer f.Close() | ||||
| 	if _, err = f.WriteString(strconv.Itoa(score)); err != nil { | ||||
| 		if os.IsPermission(err) && (RunningInUserNS() || RunningUnprivileged()) { | ||||
| 		if os.IsPermission(err) && (!runningPrivileged() || userns.RunningInUserNS()) { | ||||
| 			return nil | ||||
| 		} | ||||
| 		return err | ||||
| @@ -50,7 +65,8 @@ func SetOOMScore(pid, score int) error { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // GetOOMScoreAdj gets the oom score for a process | ||||
| // GetOOMScoreAdj gets the oom score for a process. It returns 0 (zero) if either | ||||
| // no oom score is set, or a sore is set to 0. | ||||
| func GetOOMScoreAdj(pid int) (int, error) { | ||||
| 	path := fmt.Sprintf("/proc/%d/oom_score_adj", pid) | ||||
| 	data, err := ioutil.ReadFile(path) | ||||
| @@ -59,3 +75,9 @@ func GetOOMScoreAdj(pid int) (int, error) { | ||||
| 	} | ||||
| 	return strconv.Atoi(strings.TrimSpace(string(data))) | ||||
| } | ||||
| 
 | ||||
| // runningPrivileged returns true if the effective user ID of the | ||||
| // calling process is 0 | ||||
| func runningPrivileged() bool { | ||||
| 	return unix.Geteuid() == 0 | ||||
| } | ||||
| @@ -1,3 +1,5 @@ | ||||
| // +build !linux | ||||
| 
 | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
| @@ -17,10 +19,20 @@ | ||||
| package sys | ||||
| 
 | ||||
| const ( | ||||
| 	// OOMScoreAdjMax is not implemented on Windows | ||||
| 	// OOMScoreMaxKillable is not implemented on non Linux | ||||
| 	OOMScoreMaxKillable = 0 | ||||
| 	// OOMScoreAdjMax is not implemented on non Linux | ||||
| 	OOMScoreAdjMax = 0 | ||||
| ) | ||||
| 
 | ||||
| // AdjustOOMScore sets the oom score for the provided pid. If the provided score | ||||
| // is out of range (-1000 - 1000), it is clipped to the min/max value. | ||||
| // | ||||
| // Not implemented on Windows | ||||
| func AdjustOOMScore(pid, score int) error { | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // SetOOMScore sets the oom score for the process | ||||
| // | ||||
| // Not implemented on Windows | ||||
| @@ -1,5 +1,3 @@ | ||||
| // +build !windows | ||||
| 
 | ||||
| /* | ||||
|    Copyright The containerd Authors. | ||||
| 
 | ||||
| @@ -18,16 +16,8 @@ | ||||
| 
 | ||||
| package sys | ||||
| 
 | ||||
| import "golang.org/x/sys/unix" | ||||
| import "github.com/containerd/containerd/pkg/userns" | ||||
| 
 | ||||
| // RunningPrivileged returns true if the effective user ID of the | ||||
| // calling process is 0 | ||||
| func RunningPrivileged() bool { | ||||
| 	return unix.Geteuid() == 0 | ||||
| } | ||||
| 
 | ||||
| // RunningUnprivileged returns true if the effective user ID of the | ||||
| // calling process is not 0 | ||||
| func RunningUnprivileged() bool { | ||||
| 	return !RunningPrivileged() | ||||
| } | ||||
| // RunningInUserNS detects whether we are currently running in a user namespace. | ||||
| // Deprecated: use github.com/containerd/containerd/pkg/userns.RunningInUserNS instead. | ||||
| var RunningInUserNS = userns.RunningInUserNS | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/containerd/version/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/containerd/version/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -23,7 +23,7 @@ var ( | ||||
| 	Package = "github.com/containerd/containerd" | ||||
|  | ||||
| 	// Version holds the complete version number. Filled in at linking time. | ||||
| 	Version = "1.5.0-beta.4+unknown" | ||||
| 	Version = "1.5.2+unknown" | ||||
|  | ||||
| 	// Revision is filled with the VCS (e.g. git) revision being used to build | ||||
| 	// the program at linking time. | ||||
|   | ||||
							
								
								
									
										5
									
								
								vendor/github.com/containerd/typeurl/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/containerd/typeurl/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,8 +1,9 @@ | ||||
| # typeurl | ||||
|  | ||||
| [](https://travis-ci.org/containerd/typeurl) | ||||
|  | ||||
| [](https://pkg.go.dev/github.com/containerd/typeurl) | ||||
| [](https://github.com/containerd/typeurl/actions?query=workflow%3ACI) | ||||
| [](https://codecov.io/gh/containerd/typeurl) | ||||
| [](https://goreportcard.com/report/github.com/containerd/typeurl) | ||||
|  | ||||
| A Go package for managing the registration, marshaling, and unmarshaling of encoded types. | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/containerd/typeurl/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/containerd/typeurl/go.mod
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,6 +3,6 @@ module github.com/containerd/typeurl | ||||
| go 1.13 | ||||
|  | ||||
| require ( | ||||
| 	github.com/gogo/protobuf v1.3.1 | ||||
| 	github.com/gogo/protobuf v1.3.2 | ||||
| 	github.com/pkg/errors v0.9.1 | ||||
| ) | ||||
|   | ||||
							
								
								
									
										34
									
								
								vendor/github.com/containerd/typeurl/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								vendor/github.com/containerd/typeurl/go.sum
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,33 @@ | ||||
| github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= | ||||
| github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= | ||||
| github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= | ||||
| github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= | ||||
| github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= | ||||
| github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= | ||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||
| github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||
| github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||
| golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||
| golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||
| golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | ||||
| golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||
| golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||
| golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= | ||||
| golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= | ||||
| golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
|   | ||||
							
								
								
									
										27
									
								
								vendor/github.com/containerd/typeurl/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/github.com/containerd/typeurl/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -28,11 +28,20 @@ import ( | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	mu       sync.Mutex | ||||
| 	mu       sync.RWMutex | ||||
| 	registry = make(map[reflect.Type]string) | ||||
| ) | ||||
|  | ||||
| var ErrNotFound = errors.New("not found") | ||||
| // Definitions of common error types used throughout typeurl. | ||||
| // | ||||
| // These error types are used with errors.Wrap and errors.Wrapf to add context | ||||
| // to an error. | ||||
| // | ||||
| // To detect an error class, use errors.Is() functions to tell whether an | ||||
| // error is of this type. | ||||
| var ( | ||||
| 	ErrNotFound = errors.New("not found") | ||||
| ) | ||||
|  | ||||
| // Register a type with a base URL for JSON marshaling. When the MarshalAny and | ||||
| // UnmarshalAny functions are called they will treat the Any type value as JSON. | ||||
| @@ -56,9 +65,9 @@ func Register(v interface{}, args ...string) { | ||||
|  | ||||
| // TypeURL returns the type url for a registered type. | ||||
| func TypeURL(v interface{}) (string, error) { | ||||
| 	mu.Lock() | ||||
| 	mu.RLock() | ||||
| 	u, ok := registry[tryDereference(v)] | ||||
| 	mu.Unlock() | ||||
| 	mu.RUnlock() | ||||
| 	if !ok { | ||||
| 		// fallback to the proto registry if it is a proto message | ||||
| 		pb, ok := v.(proto.Message) | ||||
| @@ -119,14 +128,21 @@ func UnmarshalAny(any *types.Any) (interface{}, error) { | ||||
| 	return UnmarshalByTypeURL(any.TypeUrl, any.Value) | ||||
| } | ||||
|  | ||||
| // UnmarshalByTypeURL unmarshals the given type and value to into a concrete type. | ||||
| func UnmarshalByTypeURL(typeURL string, value []byte) (interface{}, error) { | ||||
| 	return unmarshal(typeURL, value, nil) | ||||
| } | ||||
|  | ||||
| // UnmarshalTo unmarshals the any type into a concrete type passed in the out | ||||
| // argument. It is identical to UnmarshalAny, but lets clients provide a | ||||
| // destination type through the out argument. | ||||
| func UnmarshalTo(any *types.Any, out interface{}) error { | ||||
| 	return UnmarshalToByTypeURL(any.TypeUrl, any.Value, out) | ||||
| } | ||||
|  | ||||
| // UnmarshalTo unmarshals the given type and value into a concrete type passed | ||||
| // in the out argument. It is identical to UnmarshalByTypeURL, but lets clients | ||||
| // provide a destination type through the out argument. | ||||
| func UnmarshalToByTypeURL(typeURL string, value []byte, out interface{}) error { | ||||
| 	_, err := unmarshal(typeURL, value, out) | ||||
| 	return err | ||||
| @@ -166,13 +182,16 @@ type urlType struct { | ||||
| } | ||||
|  | ||||
| func getTypeByUrl(url string) (urlType, error) { | ||||
| 	mu.RLock() | ||||
| 	for t, u := range registry { | ||||
| 		if u == url { | ||||
| 			mu.RUnlock() | ||||
| 			return urlType{ | ||||
| 				t: t, | ||||
| 			}, nil | ||||
| 		} | ||||
| 	} | ||||
| 	mu.RUnlock() | ||||
| 	// fallback to proto registry | ||||
| 	t := proto.MessageType(url) | ||||
| 	if t != nil { | ||||
|   | ||||
							
								
								
									
										20
									
								
								vendor/github.com/docker/cli/cli/config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/docker/cli/cli/config/config.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -24,12 +24,12 @@ const ( | ||||
| ) | ||||
|  | ||||
| var ( | ||||
| 	initConfigDir sync.Once | ||||
| 	initConfigDir = new(sync.Once) | ||||
| 	configDir     string | ||||
| 	homeDir       string | ||||
| ) | ||||
|  | ||||
| // resetHomeDir is used in testing to resets the "homeDir" package variable to | ||||
| // resetHomeDir is used in testing to reset the "homeDir" package variable to | ||||
| // force re-lookup of the home directory between tests. | ||||
| func resetHomeDir() { | ||||
| 	homeDir = "" | ||||
| @@ -42,6 +42,13 @@ func getHomeDir() string { | ||||
| 	return homeDir | ||||
| } | ||||
|  | ||||
| // resetConfigDir is used in testing to reset the "configDir" package variable | ||||
| // and its sync.Once to force re-lookup between tests. | ||||
| func resetConfigDir() { | ||||
| 	configDir = "" | ||||
| 	initConfigDir = new(sync.Once) | ||||
| } | ||||
|  | ||||
| func setConfigDir() { | ||||
| 	if configDir != "" { | ||||
| 		return | ||||
| @@ -97,10 +104,15 @@ func LoadFromReader(configData io.Reader) (*configfile.ConfigFile, error) { | ||||
| 	return &configFile, err | ||||
| } | ||||
|  | ||||
| // TODO remove this temporary hack, which is used to warn about the deprecated ~/.dockercfg file | ||||
| var printLegacyFileWarning bool | ||||
|  | ||||
| // Load reads the configuration files in the given directory, and sets up | ||||
| // the auth config information and returns values. | ||||
| // FIXME: use the internal golang config parser | ||||
| func Load(configDir string) (*configfile.ConfigFile, error) { | ||||
| 	printLegacyFileWarning = false | ||||
|  | ||||
| 	if configDir == "" { | ||||
| 		configDir = Dir() | ||||
| 	} | ||||
| @@ -125,6 +137,7 @@ func Load(configDir string) (*configfile.ConfigFile, error) { | ||||
| 	// Can't find latest config file so check for the old one | ||||
| 	filename = filepath.Join(getHomeDir(), oldConfigfile) | ||||
| 	if file, err := os.Open(filename); err == nil { | ||||
| 		printLegacyFileWarning = true | ||||
| 		defer file.Close() | ||||
| 		if err := configFile.LegacyLoadFromReader(file); err != nil { | ||||
| 			return configFile, errors.Wrap(err, filename) | ||||
| @@ -140,6 +153,9 @@ func LoadDefaultConfigFile(stderr io.Writer) *configfile.ConfigFile { | ||||
| 	if err != nil { | ||||
| 		fmt.Fprintf(stderr, "WARNING: Error loading config file: %v\n", err) | ||||
| 	} | ||||
| 	if printLegacyFileWarning { | ||||
| 		_, _ = fmt.Fprintln(stderr, "WARNING: Support for the legacy ~/.dockercfg configuration file and file-format is deprecated and will be removed in an upcoming release") | ||||
| 	} | ||||
| 	if !configFile.ContainsAuth() { | ||||
| 		configFile.CredentialsStore = credentials.DetectDefaultStore(configFile.CredentialsStore) | ||||
| 	} | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Tonis Tiigi
					Tonis Tiigi