Update hcsshim tag to v0.10.0-rc.4
Signed-off-by: Kirtana Ashok <Kirtana.Ashok@microsoft.com>
This commit is contained in:
		
							
								
								
									
										8
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								go.mod
									
									
									
									
									
								
							| @@ -6,7 +6,7 @@ require ( | |||||||
| 	github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 | 	github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 | ||||||
| 	github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652 | 	github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652 | ||||||
| 	github.com/Microsoft/go-winio v0.6.0 | 	github.com/Microsoft/go-winio v0.6.0 | ||||||
| 	github.com/Microsoft/hcsshim v0.10.0-rc.1 | 	github.com/Microsoft/hcsshim v0.10.0-rc.4 | ||||||
| 	github.com/container-orchestrated-devices/container-device-interface v0.5.1 | 	github.com/container-orchestrated-devices/container-device-interface v0.5.1 | ||||||
| 	github.com/containerd/aufs v1.0.0 | 	github.com/containerd/aufs v1.0.0 | ||||||
| 	github.com/containerd/btrfs v1.0.0 | 	github.com/containerd/btrfs v1.0.0 | ||||||
| @@ -27,7 +27,7 @@ require ( | |||||||
| 	github.com/davecgh/go-spew v1.1.1 | 	github.com/davecgh/go-spew v1.1.1 | ||||||
| 	github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c | 	github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c | ||||||
| 	github.com/docker/go-metrics v0.0.1 | 	github.com/docker/go-metrics v0.0.1 | ||||||
| 	github.com/docker/go-units v0.4.0 | 	github.com/docker/go-units v0.5.0 | ||||||
| 	github.com/emicklei/go-restful/v3 v3.8.0 | 	github.com/emicklei/go-restful/v3 v3.8.0 | ||||||
| 	github.com/fsnotify/fsnotify v1.6.0 | 	github.com/fsnotify/fsnotify v1.6.0 | ||||||
| 	github.com/google/go-cmp v0.5.9 | 	github.com/google/go-cmp v0.5.9 | ||||||
| @@ -37,7 +37,7 @@ require ( | |||||||
| 	github.com/hashicorp/go-multierror v1.1.1 | 	github.com/hashicorp/go-multierror v1.1.1 | ||||||
| 	github.com/imdario/mergo v0.3.12 | 	github.com/imdario/mergo v0.3.12 | ||||||
| 	github.com/intel/goresctrl v0.2.0 | 	github.com/intel/goresctrl v0.2.0 | ||||||
| 	github.com/klauspost/compress v1.15.9 | 	github.com/klauspost/compress v1.15.11 | ||||||
| 	github.com/minio/sha256-simd v1.0.0 | 	github.com/minio/sha256-simd v1.0.0 | ||||||
| 	github.com/moby/locker v1.0.1 | 	github.com/moby/locker v1.0.1 | ||||||
| 	github.com/moby/sys/mountinfo v0.6.2 | 	github.com/moby/sys/mountinfo v0.6.2 | ||||||
| @@ -86,7 +86,7 @@ require ( | |||||||
| 	cloud.google.com/go/compute/metadata v0.2.1 // indirect | 	cloud.google.com/go/compute/metadata v0.2.1 // indirect | ||||||
| 	github.com/beorn7/perks v1.0.1 // indirect | 	github.com/beorn7/perks v1.0.1 // indirect | ||||||
| 	github.com/blang/semver/v4 v4.0.0 // indirect | 	github.com/blang/semver/v4 v4.0.0 // indirect | ||||||
| 	github.com/cenkalti/backoff/v4 v4.1.3 // indirect | 	github.com/cenkalti/backoff/v4 v4.2.0 // indirect | ||||||
| 	github.com/cespare/xxhash/v2 v2.1.2 // indirect | 	github.com/cespare/xxhash/v2 v2.1.2 // indirect | ||||||
| 	github.com/cilium/ebpf v0.9.1 // indirect | 	github.com/cilium/ebpf v0.9.1 // indirect | ||||||
| 	github.com/containerd/cgroups v1.0.4 // indirect | 	github.com/containerd/cgroups v1.0.4 // indirect | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								go.sum
									
									
									
									
									
								
							| @@ -88,8 +88,8 @@ github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwT | |||||||
| github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= | github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= | ||||||
| github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= | github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= | ||||||
| github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= | github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= | ||||||
| github.com/Microsoft/hcsshim v0.10.0-rc.1 h1:Lms8jwpaIdIUvoBNee8ZuvIi1XnNy9uvnxSC9L1q1x4= | github.com/Microsoft/hcsshim v0.10.0-rc.4 h1:r/hSRKXFIdLYzZDbdieRxSY8T83Y0wBKNHZDKntNMSA= | ||||||
| github.com/Microsoft/hcsshim v0.10.0-rc.1/go.mod h1:7XX96hdvnwWGdXnksDNdhfFcUH1BtQY6bL2L3f9Abyk= | github.com/Microsoft/hcsshim v0.10.0-rc.4/go.mod h1:hsiMVxtFCazmXlTXTUZYPPUx/InoWw6U+HWuRndR1rw= | ||||||
| github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= | 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/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/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= | ||||||
| @@ -140,8 +140,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0Bsq | |||||||
| github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= | github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= | ||||||
| github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | ||||||
| github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | ||||||
| github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= | github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= | ||||||
| github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= | ||||||
| github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | ||||||
| github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= | github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= | ||||||
| github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= | github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= | ||||||
| @@ -355,8 +355,9 @@ github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6Uezg | |||||||
| github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= | github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= | ||||||
| github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= | github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= | ||||||
| github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= | 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/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= | ||||||
|  | github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= | ||||||
|  | github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= | ||||||
| github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= | 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= | github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= | ||||||
| github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= | github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= | ||||||
| @@ -621,8 +622,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI | |||||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | 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/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||||
| github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||||
| github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= | github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= | ||||||
| github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= | github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= | ||||||
| github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= | github.com/klauspost/cpuid/v2 v2.0.4 h1:g0I61F2K2DjRHz1cnxlkNSBIaePVoJIjjnHui8QHbiw= | ||||||
| github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||||
| 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.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| @@ -942,8 +943,8 @@ github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvV | |||||||
| github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= | github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= | ||||||
| github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= | github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= | ||||||
| github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= | github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= | ||||||
| github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= |  | ||||||
| github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= | github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= | ||||||
|  | github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= | ||||||
| github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= | github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= | ||||||
| github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= | github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= | ||||||
| github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= | github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ go 1.18 | |||||||
|  |  | ||||||
| require ( | require ( | ||||||
| 	github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 | 	github.com/AdaLogics/go-fuzz-headers v0.0.0-20230106234847-43070de90fa1 | ||||||
| 	github.com/Microsoft/hcsshim v0.10.0-rc.1 | 	github.com/Microsoft/hcsshim v0.10.0-rc.4 | ||||||
| 	github.com/Microsoft/hcsshim/test v0.0.0-20210408205431-da33ecd607e1 | 	github.com/Microsoft/hcsshim/test v0.0.0-20210408205431-da33ecd607e1 | ||||||
| 	github.com/containerd/cgroups/v3 v3.0.0-20221112182753-e8802a182774 | 	github.com/containerd/cgroups/v3 v3.0.0-20221112182753-e8802a182774 | ||||||
| 	github.com/containerd/containerd v1.7.0-beta.0 // see replace; the actual version of containerd is replaced with the code at the root of this repository | 	github.com/containerd/containerd v1.7.0-beta.0 // see replace; the actual version of containerd is replaced with the code at the root of this repository | ||||||
| @@ -31,7 +31,7 @@ require ( | |||||||
| 	github.com/cyphar/filepath-securejoin v0.2.3 // indirect | 	github.com/cyphar/filepath-securejoin v0.2.3 // indirect | ||||||
| 	github.com/davecgh/go-spew v1.1.1 // indirect | 	github.com/davecgh/go-spew v1.1.1 // indirect | ||||||
| 	github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect | 	github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect | ||||||
| 	github.com/docker/go-units v0.4.0 // indirect | 	github.com/docker/go-units v0.5.0 // indirect | ||||||
| 	github.com/go-logr/logr v1.2.3 // indirect | 	github.com/go-logr/logr v1.2.3 // indirect | ||||||
| 	github.com/go-logr/stdr v1.2.2 // indirect | 	github.com/go-logr/stdr v1.2.2 // indirect | ||||||
| 	github.com/godbus/dbus/v5 v5.0.6 // indirect | 	github.com/godbus/dbus/v5 v5.0.6 // indirect | ||||||
| @@ -41,7 +41,7 @@ require ( | |||||||
| 	github.com/google/go-cmp v0.5.9 // indirect | 	github.com/google/go-cmp v0.5.9 // indirect | ||||||
| 	github.com/google/uuid v1.3.0 // indirect | 	github.com/google/uuid v1.3.0 // indirect | ||||||
| 	github.com/imdario/mergo v0.3.12 // indirect | 	github.com/imdario/mergo v0.3.12 // indirect | ||||||
| 	github.com/klauspost/compress v1.15.9 // indirect | 	github.com/klauspost/compress v1.15.11 // indirect | ||||||
| 	github.com/moby/locker v1.0.1 // indirect | 	github.com/moby/locker v1.0.1 // indirect | ||||||
| 	github.com/moby/sys/mountinfo v0.6.2 // indirect | 	github.com/moby/sys/mountinfo v0.6.2 // indirect | ||||||
| 	github.com/moby/sys/sequential v0.5.0 // indirect | 	github.com/moby/sys/sequential v0.5.0 // indirect | ||||||
|   | |||||||
| @@ -381,18 +381,23 @@ github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652 h1:+vT | |||||||
| github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= | github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20221215162035-5330a85ea652/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU= | ||||||
| github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230111232327-1f10f66a31bf h1:EamsQRRH14elXDAofrOK5Ja6fDTJSrbKstpr1grrGX4= | github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230111232327-1f10f66a31bf h1:EamsQRRH14elXDAofrOK5Ja6fDTJSrbKstpr1grrGX4= | ||||||
| github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230111232327-1f10f66a31bf/go.mod h1:0vOOKsOMKPThRu9lQMAxcQ8D60f8U+wHXl07SyUw0+U= | github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230111232327-1f10f66a31bf/go.mod h1:0vOOKsOMKPThRu9lQMAxcQ8D60f8U+wHXl07SyUw0+U= | ||||||
|  | github.com/Azure/azure-sdk-for-go v56.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= | ||||||
| github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= | github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= | ||||||
|  | github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= | ||||||
| github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= | github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= | ||||||
| github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= | github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= | ||||||
|  | github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= | ||||||
| github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= | github.com/Azure/go-autorest/autorest v0.11.27/go.mod h1:7l8ybrIdUmGqZMTD0sRtAr8NvbHjfofbf8RSP2q7w7U= | ||||||
| github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= | github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= | ||||||
| github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= | github.com/Azure/go-autorest/autorest/adal v0.9.20/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= | ||||||
| github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= | github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= | ||||||
| github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= | github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= | ||||||
| github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= | github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= | ||||||
|  | github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= | ||||||
| github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= | github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= | ||||||
| github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= | github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= | ||||||
| github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= | ||||||
|  | github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= | ||||||
| github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= | github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= | ||||||
| github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= | github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= | ||||||
| github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= | github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= | ||||||
| @@ -405,23 +410,27 @@ github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn | |||||||
| github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= | github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= | ||||||
| github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= | github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= | ||||||
| github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= | github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= | ||||||
| github.com/Microsoft/hcsshim v0.10.0-rc.1 h1:Lms8jwpaIdIUvoBNee8ZuvIi1XnNy9uvnxSC9L1q1x4= | github.com/Microsoft/hcsshim v0.10.0-rc.4 h1:r/hSRKXFIdLYzZDbdieRxSY8T83Y0wBKNHZDKntNMSA= | ||||||
| github.com/Microsoft/hcsshim v0.10.0-rc.1/go.mod h1:7XX96hdvnwWGdXnksDNdhfFcUH1BtQY6bL2L3f9Abyk= | github.com/Microsoft/hcsshim v0.10.0-rc.4/go.mod h1:hsiMVxtFCazmXlTXTUZYPPUx/InoWw6U+HWuRndR1rw= | ||||||
| github.com/Microsoft/hcsshim/test v0.0.0-20210408205431-da33ecd607e1 h1:pVKfKyPkXna29XlGjxSr9J0A7vNucOUHZ/2ClcTWalw= | github.com/Microsoft/hcsshim/test v0.0.0-20210408205431-da33ecd607e1 h1:pVKfKyPkXna29XlGjxSr9J0A7vNucOUHZ/2ClcTWalw= | ||||||
| github.com/Microsoft/hcsshim/test v0.0.0-20210408205431-da33ecd607e1/go.mod h1:Cmvnhlie15Ha2UYrJs9EhgSx76Bq9RV2FgfEiT78GhI= | github.com/Microsoft/hcsshim/test v0.0.0-20210408205431-da33ecd607e1/go.mod h1:Cmvnhlie15Ha2UYrJs9EhgSx76Bq9RV2FgfEiT78GhI= | ||||||
| github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= | github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= | ||||||
| github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= | github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= | ||||||
| github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= | ||||||
|  | github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= | ||||||
| github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= | github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= | ||||||
| github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= | github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= | ||||||
| github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= | github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= | ||||||
| github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= | github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= | ||||||
|  | github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= | ||||||
|  | github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= | ||||||
| github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= | github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= | ||||||
| github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= | github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= | ||||||
| github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | ||||||
| github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= | ||||||
| github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= | github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= | ||||||
| github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= | github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= | ||||||
|  | github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= | ||||||
| github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= | github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= | ||||||
| github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= | github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= | ||||||
| github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= | github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= | ||||||
| @@ -429,20 +438,28 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV | |||||||
| github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= | github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= | ||||||
| github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= | github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= | ||||||
| github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= | github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= | ||||||
|  | github.com/aws/aws-sdk-go v1.43.16/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= | ||||||
| github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= | github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= | ||||||
| github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= | github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= | ||||||
| github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= | github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= | ||||||
| github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= | github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= | ||||||
| github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= | github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= | ||||||
| github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= | github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= | ||||||
|  | github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= | ||||||
| github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= | github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= | ||||||
| github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= | github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= | ||||||
| github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= | github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= | ||||||
| github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= | github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= | ||||||
| github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= | github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= | ||||||
|  | github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= | ||||||
| github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= | github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= | ||||||
|  | github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= | ||||||
|  | github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= | ||||||
|  | github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= | ||||||
|  | github.com/bytecodealliance/wasmtime-go v0.36.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI= | ||||||
| github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | ||||||
| github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= | ||||||
|  | github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= | ||||||
| github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | ||||||
| github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= | ||||||
| github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= | github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= | ||||||
| @@ -503,6 +520,7 @@ github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDX | |||||||
| github.com/containerd/imgcrypt v1.1.5-0.20220421044638-8ba028dca028/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= | github.com/containerd/imgcrypt v1.1.5-0.20220421044638-8ba028dca028/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= | ||||||
| github.com/containerd/nri v0.2.0/go.mod h1:Q2u9Sudol4IkJ6YK0gShznKMxM6Un0Y3O4Wslf5Nerg= | github.com/containerd/nri v0.2.0/go.mod h1:Q2u9Sudol4IkJ6YK0gShznKMxM6Un0Y3O4Wslf5Nerg= | ||||||
| github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= | github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= | ||||||
|  | github.com/containerd/stargz-snapshotter/estargz v0.12.1/go.mod h1:12VUuCq3qPq4y8yUW+l5w3+oXV3cx2Po3KSe/SmPGqw= | ||||||
| github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= | github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= | ||||||
| github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= | github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= | ||||||
| github.com/containerd/ttrpc v1.1.1-0.20220420014843-944ef4a40df3 h1:BhCp66ofL8oYcdelc3CBXc2/Pfvvgx+s+mrp9TvNgn8= | github.com/containerd/ttrpc v1.1.1-0.20220420014843-944ef4a40df3 h1:BhCp66ofL8oYcdelc3CBXc2/Pfvvgx+s+mrp9TvNgn8= | ||||||
| @@ -519,6 +537,7 @@ github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pA | |||||||
| github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= | ||||||
| github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | ||||||
| github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= | ||||||
|  | github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= | ||||||
| github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= | github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= | ||||||
| github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= | 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= | github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= | ||||||
| @@ -529,6 +548,7 @@ github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+ | |||||||
| github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= | github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI= | ||||||
| github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= | github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= | ||||||
| github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= | github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= | ||||||
|  | github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= | ||||||
| github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= | github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= | ||||||
| github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= | github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= | ||||||
| github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= | github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= | ||||||
| @@ -541,21 +561,39 @@ github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxG | |||||||
| github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= | github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= | ||||||
| github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= | github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= | ||||||
| github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= | github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= | ||||||
|  | github.com/danieljoos/wincred v1.1.0/go.mod h1:XYlo+eRTsVA9aHGp7NGjFkPla4m+DCL7hqDjlFjiygg= | ||||||
|  | github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= | ||||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
|  | github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= | ||||||
|  | github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= | ||||||
|  | github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= | ||||||
| github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= | github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= | ||||||
|  | github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= | ||||||
|  | github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= | ||||||
| github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= | github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= | ||||||
|  | github.com/distribution/distribution/v3 v3.0.0-20220526142353-ffbd94cbe269/go.mod h1:28YO/VJk9/64+sTGNuYaBjWxrXTPrj0C0XmgTIOjxX4= | ||||||
|  | github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= | ||||||
| github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | ||||||
|  | github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | ||||||
|  | github.com/docker/cli v20.10.20+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= | ||||||
| github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= | github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= | ||||||
|  | github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= | ||||||
| github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||||
|  | github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||||
|  | github.com/docker/docker v20.10.20+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||||
| github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= | github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= | ||||||
|  | github.com/docker/docker-credential-helpers v0.6.4/go.mod h1:ofX3UI0Gz1TteYBjtgs07O36Pyasyp66D2uKT7H8W1c= | ||||||
|  | github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= | ||||||
| github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= | github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= | ||||||
| github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= | github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= | ||||||
| github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= | github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= | ||||||
| github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= | 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/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= | ||||||
|  | github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= | ||||||
|  | github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= | ||||||
|  | github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= | ||||||
| github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= | github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= | ||||||
| github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= | github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= | ||||||
| github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= | github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= | ||||||
| @@ -576,13 +614,17 @@ github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQL | |||||||
| github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= | github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= | ||||||
| github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= | github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= | ||||||
| github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= | github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= | ||||||
|  | github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= | ||||||
| github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= | github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= | ||||||
|  | github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= | ||||||
|  | github.com/foxcpp/go-mockdns v0.0.0-20210729171921-fb145fc6f897/go.mod h1:lgRN6+KxQBawyIghpnl5CezHFGS9VLzvtVlwxvzXTQ4= | ||||||
| github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= | github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= | ||||||
| github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= | github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss= | ||||||
| github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= | github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= | ||||||
| github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= | github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= | ||||||
| github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= | github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= | ||||||
| github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= | github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= | ||||||
|  | github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= | ||||||
| github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= | github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= | ||||||
| github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= | github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= | ||||||
| github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= | github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= | ||||||
| @@ -591,6 +633,7 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME | |||||||
| github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= | github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= | ||||||
| github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= | github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= | ||||||
| github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= | github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= | ||||||
|  | github.com/go-ini/ini v1.66.6/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= | ||||||
| github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= | github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= | ||||||
| github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= | github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= | ||||||
| github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= | github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= | ||||||
| @@ -623,10 +666,12 @@ github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh | |||||||
| github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= | github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= | ||||||
| github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= | github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= | ||||||
| github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= | github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= | ||||||
|  | github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= | ||||||
| github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | ||||||
| github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | ||||||
| github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= | github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= | ||||||
| github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= | ||||||
|  | github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= | ||||||
| github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= | github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= | ||||||
| github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= | github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= | ||||||
| github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= | github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= | ||||||
| @@ -671,9 +716,12 @@ github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx | |||||||
| github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= | github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= | ||||||
| github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | ||||||
| github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||||
|  | github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||||
|  | github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= | ||||||
| github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | 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/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= | ||||||
| github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= | github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= | ||||||
|  | github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= | ||||||
| github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= | github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= | ||||||
| github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= | ||||||
| github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
| @@ -692,6 +740,7 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN | |||||||
| github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= | github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= | ||||||
| github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= | github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= | ||||||
| github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= | github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= | ||||||
|  | github.com/google/go-containerregistry v0.12.1/go.mod h1:sdIK+oHQO7B93xI8UweYdl887YhuIwg9vz8BSLH3+8k= | ||||||
| github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | 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/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | ||||||
| github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= | ||||||
| @@ -737,6 +786,7 @@ github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2c | |||||||
| github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= | github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= | ||||||
| github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= | github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= | ||||||
| github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= | ||||||
|  | github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= | ||||||
| github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= | ||||||
| github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= | github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= | ||||||
| github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= | github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= | ||||||
| @@ -777,7 +827,10 @@ github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ | |||||||
| github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= | github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= | ||||||
| github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= | github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= | ||||||
| github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= | github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= | ||||||
|  | github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= | ||||||
| github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= | github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= | ||||||
|  | github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= | ||||||
|  | github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= | ||||||
| github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= | github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= | ||||||
| github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= | github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= | ||||||
| github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= | github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= | ||||||
| @@ -798,8 +851,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/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= | ||||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||||
| github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= | ||||||
| github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= | github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= | ||||||
| github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= | github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= | ||||||
|  | github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= | ||||||
|  | github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= | ||||||
| github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= | ||||||
| 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.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| 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.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= | ||||||
| @@ -827,12 +882,16 @@ github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7 | |||||||
| github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= | github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= | ||||||
| github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= | github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= | ||||||
| github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= | github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= | ||||||
|  | github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= | ||||||
| github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= | github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= | ||||||
| github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= | github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= | ||||||
| github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= | 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/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= | github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= | ||||||
| github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= | github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= | ||||||
| github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= | github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= | ||||||
|  | github.com/miekg/dns v1.1.25/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= | ||||||
|  | github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= | ||||||
| github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= | github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= | ||||||
| github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= | github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= | ||||||
| github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= | github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= | ||||||
| @@ -845,6 +904,7 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu | |||||||
| github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | ||||||
| github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= | ||||||
| github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= | github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= | ||||||
|  | github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= | ||||||
| github.com/mndrix/tap-go v0.0.0-20171203230836-629fa407e90b/go.mod h1:pzzDgJWZ34fGzaAZGFW22KVZDfyrYW+QABMrWnJBnSs= | github.com/mndrix/tap-go v0.0.0-20171203230836-629fa407e90b/go.mod h1:pzzDgJWZ34fGzaAZGFW22KVZDfyrYW+QABMrWnJBnSs= | ||||||
| github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= | github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= | ||||||
| github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= | github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= | ||||||
| @@ -859,6 +919,7 @@ github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn | |||||||
| github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= | github.com/moby/sys/signal v0.7.0 h1:25RW3d5TnQEoKvRbEKUGay6DCQ46IxAVTT9CUMgmsSI= | ||||||
| github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= | github.com/moby/sys/signal v0.7.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= | ||||||
| github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= | github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= | ||||||
|  | github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= | ||||||
| github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= | github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= | ||||||
| github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||||||
| github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= | ||||||
| @@ -872,11 +933,13 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m | |||||||
| github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= | github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= | ||||||
| github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= | github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= | ||||||
| github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= | github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= | ||||||
|  | github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= | ||||||
| github.com/networkplumbing/go-nft v0.2.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs= | github.com/networkplumbing/go-nft v0.2.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs= | ||||||
| github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= | github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= | ||||||
| github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= | github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= | ||||||
| github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= | github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= | ||||||
| github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= | github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= | ||||||
|  | github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= | ||||||
| github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | ||||||
| github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | ||||||
| github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= | ||||||
| @@ -903,15 +966,16 @@ github.com/onsi/gomega v1.20.1/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeR | |||||||
| github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= | github.com/onsi/gomega v1.21.1/go.mod h1:iYAIXgPSaDHak0LCMA+AWBpIKBr8WZicMxnE8luStNc= | ||||||
| github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= | github.com/onsi/gomega v1.22.1/go.mod h1:x6n7VNe4hw0vkyYUM4mjIXx3JbLiPaBPNgB7PRQ1tuM= | ||||||
| github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= | github.com/onsi/gomega v1.24.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg= | ||||||
|  | github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= | ||||||
| github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= | github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= | ||||||
| github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= | github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= | ||||||
| github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | ||||||
| github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | ||||||
| github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= | ||||||
|  | github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= | ||||||
| github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b h1:YWuSjZCQAPM8UUBLkYUk1e+rZcvWHJmFb6i6rM44Xs8= | github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b h1:YWuSjZCQAPM8UUBLkYUk1e+rZcvWHJmFb6i6rM44Xs8= | ||||||
| github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= | github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= | ||||||
| github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= | github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= | ||||||
| github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= |  | ||||||
| github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= | github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= | ||||||
| github.com/opencontainers/runc v1.1.4 h1:nRCz/8sKg6K6jgYAFLDlXzPeITBZJyX28DBVhWD+5dg= | github.com/opencontainers/runc v1.1.4 h1:nRCz/8sKg6K6jgYAFLDlXzPeITBZJyX28DBVhWD+5dg= | ||||||
| github.com/opencontainers/runc v1.1.4/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= | github.com/opencontainers/runc v1.1.4/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= | ||||||
| @@ -935,6 +999,8 @@ github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko | |||||||
| github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= | github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= | ||||||
| github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= | github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= | ||||||
| github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= | github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= | ||||||
|  | github.com/peterh/liner v0.0.0-20170211195444-bf27d3ba8e1d/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= | ||||||
|  | github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= | ||||||
| github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||||
| github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | 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 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||||
| @@ -944,6 +1010,7 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb | |||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
| github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= | github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= | ||||||
| github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= | github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= | ||||||
|  | github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= | ||||||
| github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= | github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= | ||||||
| github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= | github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= | ||||||
| github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= | github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= | ||||||
| @@ -952,6 +1019,7 @@ github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP | |||||||
| github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= | github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= | ||||||
| github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= | github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= | ||||||
| github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= | github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= | ||||||
|  | github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= | ||||||
| github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= | github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= | ||||||
| github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= | github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= | ||||||
| github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= | github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= | ||||||
| @@ -974,11 +1042,13 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 | |||||||
| github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= | github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= | ||||||
| github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= | github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= | ||||||
| github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= | github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= | ||||||
|  | github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= | ||||||
| github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= | github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= | ||||||
| github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= | github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= | ||||||
| github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= | github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= | ||||||
| github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= | github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= | ||||||
| github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= | github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= | ||||||
|  | github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= | ||||||
| github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= | github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= | ||||||
| github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= | github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= | ||||||
| github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= | github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= | ||||||
| @@ -990,6 +1060,7 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg | |||||||
| github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= | github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= | ||||||
| github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= | github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= | ||||||
| github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= | github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= | ||||||
|  | github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= | ||||||
| github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= | github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= | ||||||
| github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= | github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= | ||||||
| github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= | github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= | ||||||
| @@ -1004,22 +1075,27 @@ github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9 | |||||||
| github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= | github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= | ||||||
| github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= | github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= | ||||||
| github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= | github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= | ||||||
|  | github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= | ||||||
| github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= | github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= | ||||||
| github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= | github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= | ||||||
| github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= | github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= | ||||||
| github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= | github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= | ||||||
| github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= | github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= | ||||||
| github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= | github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= | ||||||
|  | github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= | ||||||
| github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= | github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= | ||||||
| github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= | github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= | ||||||
| github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= | github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= | ||||||
| github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= | github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= | ||||||
|  | github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= | ||||||
|  | github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= | ||||||
| github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= | github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= | ||||||
| github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= | github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= | ||||||
| github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | ||||||
| github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= | ||||||
| github.com/spf13/pflag v1.0.3/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/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= | ||||||
|  | github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= | ||||||
| github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= | github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= | ||||||
| github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= | github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= | ||||||
| github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= | github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= | ||||||
| @@ -1037,6 +1113,7 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 | |||||||
| github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||||
| github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||||
| github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||||
|  | github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= | ||||||
| github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= | github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= | ||||||
| github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= | github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= | ||||||
| github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= | github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= | ||||||
| @@ -1046,10 +1123,14 @@ github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwD | |||||||
| github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= | github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= | ||||||
| github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= | github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= | ||||||
| github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= | github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= | ||||||
|  | github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= | ||||||
| github.com/urfave/cli v1.19.1/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= | github.com/urfave/cli v1.19.1/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= | ||||||
| github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||||
| github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||||
|  | github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||||
| github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= | ||||||
|  | github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI= | ||||||
|  | github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= | ||||||
| github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= | github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= | ||||||
| github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= | github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= | ||||||
| github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= | github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= | ||||||
| @@ -1057,10 +1138,12 @@ github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17 | |||||||
| github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= | github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= | ||||||
| github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= | github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= | ||||||
| github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= | github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= | ||||||
|  | github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= | ||||||
| github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= | github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= | ||||||
| github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= | github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= | ||||||
| github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= | github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= | ||||||
| github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= | github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= | ||||||
|  | github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= | ||||||
| github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||||
| github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||||
| github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||||
| @@ -1068,6 +1151,9 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec | |||||||
| github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | ||||||
| github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= | ||||||
| github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= | github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= | ||||||
|  | github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= | ||||||
|  | github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= | ||||||
|  | github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= | ||||||
| go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= | ||||||
| go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= | go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= | ||||||
| go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= | go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= | ||||||
| @@ -1094,27 +1180,37 @@ go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUz | |||||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= | go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= | ||||||
| go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= | go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4/go.mod h1:05eWWy6ZWzmpeImD3UowLTB3VjDMU1yxQ+ENuVWDM3c= | ||||||
| go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= | ||||||
|  | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.32.0/go.mod h1:5eCOqeGphOyz6TsY3ZDNjE33SM/TFAK3RGuCL2naTgY= | ||||||
| go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= | go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= | ||||||
|  | go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= | ||||||
| go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= | go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= | ||||||
| go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= | go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= | ||||||
| go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= | go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= | ||||||
|  | go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.7.0/go.mod h1:M1hVZHNxcbkAlcvrOMlpQ4YOO3Awf+4N2dxkZL3xm04= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1/go.mod h1:i8vjiSzbiUC7wOQplijSXMYUpNM93DtlS5CbUT+C6oQ= | go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1/go.mod h1:i8vjiSzbiUC7wOQplijSXMYUpNM93DtlS5CbUT+C6oQ= | ||||||
|  | go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.7.0/go.mod h1:ceUgdyfNv4h4gLxHR0WNfDiiVmZFodZhZSbOLhpxqXE= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.1/go.mod h1:19O5I2U5iys38SsmT2uDJja/300woyzE1KPIQxEUBUc= | go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.1/go.mod h1:19O5I2U5iys38SsmT2uDJja/300woyzE1KPIQxEUBUc= | ||||||
|  | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.7.0/go.mod h1:E+/KKhwOSw8yoPxSSuUHG6vKppkvhN+S1Jc7Nib3k3o= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.1/go.mod h1:QrRRQiY3kzAoYPNLP0W/Ikg0gR6V3LMc+ODSxr7yyvg= | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.1/go.mod h1:QrRRQiY3kzAoYPNLP0W/Ikg0gR6V3LMc+ODSxr7yyvg= | ||||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.11.1/go.mod h1:X620Jww3RajCJXw/unA+8IRTgxkdS7pi+ZwK9b7KUJk= | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.11.1/go.mod h1:X620Jww3RajCJXw/unA+8IRTgxkdS7pi+ZwK9b7KUJk= | ||||||
| go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= | go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= | ||||||
|  | go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= | ||||||
| go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= | go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= | ||||||
| go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= | go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= | ||||||
|  | go.opentelemetry.io/otel/sdk v1.7.0/go.mod h1:uTEOTwaqIVuTGiJN7ii13Ibp75wJmYUDe374q6cZwUU= | ||||||
| go.opentelemetry.io/otel/sdk v1.11.1/go.mod h1:/l3FE4SupHJ12TduVjUkZtlfFqDCQJlOlithYrdktys= | go.opentelemetry.io/otel/sdk v1.11.1/go.mod h1:/l3FE4SupHJ12TduVjUkZtlfFqDCQJlOlithYrdktys= | ||||||
| go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= | go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= | ||||||
| go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= | go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= | ||||||
| go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= | go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= | ||||||
|  | go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= | ||||||
| go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ= | go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ= | ||||||
| go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= | go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= | ||||||
| go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= | go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= | ||||||
|  | go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= | ||||||
| go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= | go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= | ||||||
| go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= | go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= | ||||||
| go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= | go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= | ||||||
|  | go.uber.org/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= | ||||||
| go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= | go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= | ||||||
| go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= | go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= | ||||||
| go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= | go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= | ||||||
| @@ -1126,11 +1222,13 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= | |||||||
| go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= | go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= | ||||||
| golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
| golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
|  | golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= | ||||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||||
| golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
| golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||||
|  | golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= | ||||||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/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-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
| golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | ||||||
| @@ -1138,6 +1236,7 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y | |||||||
| golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | ||||||
| golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | ||||||
| golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | ||||||
|  | golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | ||||||
| golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= | golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= | ||||||
| golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | 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= | golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= | ||||||
| @@ -1174,6 +1273,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | |||||||
| golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||||
| golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||||
| golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||||
|  | golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= | ||||||
| golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= | golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= | ||||||
| golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= | golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= | ||||||
| golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= | golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= | ||||||
| @@ -1198,6 +1298,7 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL | |||||||
| golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
| golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/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-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
|  | golang.org/x/net v0.0.0-20190923162816-aa69164e4478/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-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= | golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
| golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||||
| @@ -1272,6 +1373,7 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri | |||||||
| golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= | golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= | ||||||
| golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= | golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= | ||||||
| golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= | golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= | ||||||
|  | golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= | ||||||
| golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | 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-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-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| @@ -1295,6 +1397,7 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h | |||||||
| golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
|  | golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| @@ -1309,6 +1412,8 @@ golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7w | |||||||
| golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/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= | golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| @@ -1338,6 +1443,7 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w | |||||||
| golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/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-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| @@ -1351,6 +1457,7 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w | |||||||
| golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| @@ -1358,6 +1465,7 @@ golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7w | |||||||
| golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| @@ -1368,6 +1476,7 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc | |||||||
| golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
|  | golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| @@ -1396,6 +1505,7 @@ golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBc | |||||||
| golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
|  | golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| @@ -1424,6 +1534,7 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb | |||||||
| golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
|  | golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| @@ -1447,6 +1558,7 @@ golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgw | |||||||
| golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= | golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= | ||||||
| golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= | golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= | ||||||
| golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
|  | golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
| golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
| golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
| golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||||
| @@ -1493,6 +1605,7 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | |||||||
| golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | ||||||
| golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | ||||||
| golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= | ||||||
|  | golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= | ||||||
| golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= | golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= | ||||||
| golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= | golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= | ||||||
| golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= | golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= | ||||||
| @@ -1564,6 +1677,7 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww | |||||||
| google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | ||||||
| google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | ||||||
| google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= | google.golang.org/appengine v1.6.7/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/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= | 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-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-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= | ||||||
| @@ -1630,6 +1744,7 @@ google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ6 | |||||||
| google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | ||||||
| google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | ||||||
| google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | ||||||
|  | google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | ||||||
| google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | ||||||
| google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= | ||||||
| google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= | google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= | ||||||
| @@ -1802,6 +1917,7 @@ k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHU | |||||||
| k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | ||||||
| k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= | ||||||
| k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= | k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= | ||||||
|  | oras.land/oras-go v1.2.0/go.mod h1:pFNs7oHp2dYsYMSS82HaX5l4mpnGO7hbpPN6EWH2ltc= | ||||||
| rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= | ||||||
| rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= | rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= | ||||||
| rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= | rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= | ||||||
|   | |||||||
							
								
								
									
										57
									
								
								vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | |||||||
|  | /* | ||||||
|  | mkwinsyscall generates windows system call bodies | ||||||
|  |  | ||||||
|  | It parses all files specified on command line containing function | ||||||
|  | prototypes (like syscall_windows.go) and prints system call bodies | ||||||
|  | to standard output. | ||||||
|  |  | ||||||
|  | The prototypes are marked by lines beginning with "//sys" and read | ||||||
|  | like func declarations if //sys is replaced by func, but: | ||||||
|  |  | ||||||
|  |   - The parameter lists must give a name for each argument. This | ||||||
|  |     includes return parameters. | ||||||
|  |  | ||||||
|  |   - The parameter lists must give a type for each argument: | ||||||
|  |     the (x, y, z int) shorthand is not allowed. | ||||||
|  |  | ||||||
|  |   - If the return parameter is an error number, it must be named err. | ||||||
|  |  | ||||||
|  |   - If go func name needs to be different from its winapi dll name, | ||||||
|  |     the winapi name could be specified at the end, after "=" sign, like | ||||||
|  |  | ||||||
|  |     //sys LoadLibrary(libname string) (handle uint32, err error) = LoadLibraryA | ||||||
|  |  | ||||||
|  |   - Each function that returns err needs to supply a condition, that | ||||||
|  |     return value of winapi will be tested against to detect failure. | ||||||
|  |     This would set err to windows "last-error", otherwise it will be nil. | ||||||
|  |     The value can be provided at end of //sys declaration, like | ||||||
|  |  | ||||||
|  |     //sys LoadLibrary(libname string) (handle uint32, err error) [failretval==-1] = LoadLibraryA | ||||||
|  |  | ||||||
|  |     and is [failretval==0] by default. | ||||||
|  |  | ||||||
|  |   - If the function name ends in a "?", then the function not existing is non- | ||||||
|  |     fatal, and an error will be returned instead of panicking. | ||||||
|  |  | ||||||
|  | Usage: | ||||||
|  |  | ||||||
|  | 	mkwinsyscall [flags] [path ...] | ||||||
|  |  | ||||||
|  | Flags | ||||||
|  |  | ||||||
|  | 	-output string | ||||||
|  | 	      Output file name (standard output if omitted). | ||||||
|  | 	-sort | ||||||
|  | 	      Sort DLL and function declarations (default true). | ||||||
|  | 	      Intended to help transition from  older versions of mkwinsyscall by making diffs | ||||||
|  | 	      easier to read and understand. | ||||||
|  | 	-systemdll | ||||||
|  | 	      Whether all DLLs should be loaded from the Windows system directory (default true). | ||||||
|  | 	-trace | ||||||
|  | 	      Generate print statement after every syscall. | ||||||
|  | 	-utf16 | ||||||
|  | 	      Encode string arguments as UTF-16 for syscalls not ending in 'A' or 'W' (default true). | ||||||
|  | 	-winio | ||||||
|  | 	      Import this package ("github.com/Microsoft/go-winio"). | ||||||
|  | */ | ||||||
|  | package main | ||||||
							
								
								
									
										1014
									
								
								vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/mkwinsyscall.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1014
									
								
								vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/mkwinsyscall.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										45
									
								
								vendor/github.com/Microsoft/hcsshim/.golangci.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								vendor/github.com/Microsoft/hcsshim/.golangci.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,24 +1,51 @@ | |||||||
| run: | run: | ||||||
|   timeout: 8m |   timeout: 8m | ||||||
|  |   tests: true | ||||||
|  |   build-tags: | ||||||
|  |     - admin | ||||||
|  |     - functional | ||||||
|  |     - integration | ||||||
|  |   skip-dirs: | ||||||
|  |     # paths are relative to module root | ||||||
|  |     - cri-containerd/test-images | ||||||
|  |  | ||||||
| linters: | linters: | ||||||
|   enable: |   enable: | ||||||
|     - gofmt |     # defaults: | ||||||
|     - stylecheck |     # - errcheck | ||||||
|  |     # - gosimple | ||||||
|  |     # - govet | ||||||
|  |     # - ineffassign | ||||||
|  |     # - staticcheck | ||||||
|  |     # - typecheck | ||||||
|  |     # - unused | ||||||
|  |  | ||||||
|  |     - gofmt # whether code was gofmt-ed | ||||||
|  |     - nolintlint # ill-formed or insufficient nolint directives | ||||||
|  |     - stylecheck # golint replacement | ||||||
|  |     - thelper #  test helpers without t.Helper() | ||||||
|  |  | ||||||
| linters-settings: | linters-settings: | ||||||
|   stylecheck: |   stylecheck: | ||||||
|     # https://staticcheck.io/docs/checks |     # https://staticcheck.io/docs/checks | ||||||
|     checks: ["all"] |     checks: ["all"] | ||||||
|  |  | ||||||
|  |  | ||||||
| issues: | issues: | ||||||
|   # This repo has a LOT of generated schema files, operating system bindings, and other things that ST1003 from stylecheck won't like |  | ||||||
|   # (screaming case Windows api constants for example). There's also some structs that we *could* change the initialisms to be Go |  | ||||||
|   # friendly (Id -> ID) but they're exported and it would be a breaking change. This makes it so that most new code, code that isn't |  | ||||||
|   # supposed to be a pretty faithful mapping to an OS call/constants, or non-generated code still checks if we're following idioms, |  | ||||||
|   # while ignoring the things that are just noise or would be more of a hassle than it'd be worth to change. |  | ||||||
|   exclude-rules: |   exclude-rules: | ||||||
|  |     # path is relative to module root, which is ./test/ | ||||||
|  |     - path: cri-containerd | ||||||
|  |       linters: | ||||||
|  |         - stylecheck | ||||||
|  |       text: "^ST1003: should not use underscores in package names$" | ||||||
|  |       source: "^package cri_containerd$" | ||||||
|  |  | ||||||
|  |     # This repo has a LOT of generated schema files, operating system bindings, and other | ||||||
|  |     # things that ST1003 from stylecheck won't like (screaming case Windows api constants for example). | ||||||
|  |     # There's also some structs that we *could* change the initialisms to be Go friendly | ||||||
|  |     # (Id -> ID) but they're exported and it would be a breaking change. | ||||||
|  |     # This makes it so that most new code, code that isn't supposed to be a pretty faithful | ||||||
|  |     # mapping to an OS call/constants, or non-generated code still checks if we're following idioms, | ||||||
|  |     # while ignoring the things that are just noise or would be more of a hassle than it'd be worth to change. | ||||||
|     - path: layer.go |     - path: layer.go | ||||||
|       linters: |       linters: | ||||||
|         - stylecheck |         - stylecheck | ||||||
| @@ -42,7 +69,7 @@ issues: | |||||||
|     - path: internal\\hcs\\schema2\\ |     - path: internal\\hcs\\schema2\\ | ||||||
|       linters: |       linters: | ||||||
|         - stylecheck |         - stylecheck | ||||||
|       Text: "ST1003:" |         - gofmt | ||||||
|  |  | ||||||
|     - path: internal\\wclayer\\ |     - path: internal\\wclayer\\ | ||||||
|       linters: |       linters: | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,6 +13,10 @@ GO_FLAGS_EXTRA:= | |||||||
| ifeq "$(GOMODVENDOR)" "1" | ifeq "$(GOMODVENDOR)" "1" | ||||||
| GO_FLAGS_EXTRA += -mod=vendor | GO_FLAGS_EXTRA += -mod=vendor | ||||||
| endif | endif | ||||||
|  | GO_BUILD_TAGS:= | ||||||
|  | ifneq ($(strip $(GO_BUILD_TAGS)),) | ||||||
|  | GO_FLAGS_EXTRA += -tags="$(GO_BUILD_TAGS)" | ||||||
|  | endif | ||||||
| GO_BUILD:=CGO_ENABLED=$(CGO_ENABLED) $(GO) build $(GO_FLAGS) $(GO_FLAGS_EXTRA) | GO_BUILD:=CGO_ENABLED=$(CGO_ENABLED) $(GO) build $(GO_FLAGS) $(GO_FLAGS_EXTRA) | ||||||
|  |  | ||||||
| SRCROOT=$(dir $(abspath $(firstword $(MAKEFILE_LIST)))) | SRCROOT=$(dir $(abspath $(firstword $(MAKEFILE_LIST)))) | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/storage.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/storage.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,7 +7,7 @@ import ( | |||||||
| 	hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" | 	hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //go:generate go run ../mksyscall_windows.go -output zsyscall_windows.go storage.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go storage.go | ||||||
|  |  | ||||||
| //sys hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) = computestorage.HcsImportLayer? | //sys hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) = computestorage.HcsImportLayer? | ||||||
| //sys hcsExportLayer(layerPath string, exportFolderPath string, layerData string, options string) (hr error) = computestorage.HcsExportLayer? | //sys hcsExportLayer(layerPath string, exportFolderPath string, layerData string, options string) (hr error) = computestorage.HcsExportLayer? | ||||||
|   | |||||||
							
								
								
									
										205
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										205
									
								
								vendor/github.com/Microsoft/hcsshim/computestorage/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package computestorage | package computestorage | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
| @@ -39,42 +42,86 @@ func errnoErr(e syscall.Errno) error { | |||||||
| var ( | var ( | ||||||
| 	modcomputestorage = windows.NewLazySystemDLL("computestorage.dll") | 	modcomputestorage = windows.NewLazySystemDLL("computestorage.dll") | ||||||
|  |  | ||||||
| 	procHcsImportLayer              = modcomputestorage.NewProc("HcsImportLayer") |  | ||||||
| 	procHcsExportLayer              = modcomputestorage.NewProc("HcsExportLayer") |  | ||||||
| 	procHcsDestoryLayer             = modcomputestorage.NewProc("HcsDestoryLayer") |  | ||||||
| 	procHcsSetupBaseOSLayer         = modcomputestorage.NewProc("HcsSetupBaseOSLayer") |  | ||||||
| 	procHcsInitializeWritableLayer  = modcomputestorage.NewProc("HcsInitializeWritableLayer") |  | ||||||
| 	procHcsAttachLayerStorageFilter = modcomputestorage.NewProc("HcsAttachLayerStorageFilter") | 	procHcsAttachLayerStorageFilter = modcomputestorage.NewProc("HcsAttachLayerStorageFilter") | ||||||
|  | 	procHcsDestoryLayer             = modcomputestorage.NewProc("HcsDestoryLayer") | ||||||
| 	procHcsDetachLayerStorageFilter = modcomputestorage.NewProc("HcsDetachLayerStorageFilter") | 	procHcsDetachLayerStorageFilter = modcomputestorage.NewProc("HcsDetachLayerStorageFilter") | ||||||
|  | 	procHcsExportLayer              = modcomputestorage.NewProc("HcsExportLayer") | ||||||
| 	procHcsFormatWritableLayerVhd   = modcomputestorage.NewProc("HcsFormatWritableLayerVhd") | 	procHcsFormatWritableLayerVhd   = modcomputestorage.NewProc("HcsFormatWritableLayerVhd") | ||||||
| 	procHcsGetLayerVhdMountPath     = modcomputestorage.NewProc("HcsGetLayerVhdMountPath") | 	procHcsGetLayerVhdMountPath     = modcomputestorage.NewProc("HcsGetLayerVhdMountPath") | ||||||
|  | 	procHcsImportLayer              = modcomputestorage.NewProc("HcsImportLayer") | ||||||
|  | 	procHcsInitializeWritableLayer  = modcomputestorage.NewProc("HcsInitializeWritableLayer") | ||||||
|  | 	procHcsSetupBaseOSLayer         = modcomputestorage.NewProc("HcsSetupBaseOSLayer") | ||||||
| 	procHcsSetupBaseOSVolume        = modcomputestorage.NewProc("HcsSetupBaseOSVolume") | 	procHcsSetupBaseOSVolume        = modcomputestorage.NewProc("HcsSetupBaseOSVolume") | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) { | func hcsAttachLayerStorageFilter(layerPath string, layerData string) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	var _p1 *uint16 | 	var _p1 *uint16 | ||||||
| 	_p1, hr = syscall.UTF16PtrFromString(sourceFolderPath) | 	_p1, hr = syscall.UTF16PtrFromString(layerData) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	var _p2 *uint16 | 	return _hcsAttachLayerStorageFilter(_p0, _p1) | ||||||
| 	_p2, hr = syscall.UTF16PtrFromString(layerData) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsImportLayer(_p0, _p1, _p2) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsImportLayer(layerPath *uint16, sourceFolderPath *uint16, layerData *uint16) (hr error) { | func _hcsAttachLayerStorageFilter(layerPath *uint16, layerData *uint16) (hr error) { | ||||||
| 	if hr = procHcsImportLayer.Find(); hr != nil { | 	hr = procHcsAttachLayerStorageFilter.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsImportLayer.Addr(), 3, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(sourceFolderPath)), uintptr(unsafe.Pointer(layerData))) | 	r0, _, _ := syscall.Syscall(procHcsAttachLayerStorageFilter.Addr(), 2, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(layerData)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsDestroyLayer(layerPath string) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsDestroyLayer(_p0) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsDestroyLayer(layerPath *uint16) (hr error) { | ||||||
|  | 	hr = procHcsDestoryLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsDestoryLayer.Addr(), 1, uintptr(unsafe.Pointer(layerPath)), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsDetachLayerStorageFilter(layerPath string) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsDetachLayerStorageFilter(_p0) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsDetachLayerStorageFilter(layerPath *uint16) (hr error) { | ||||||
|  | 	hr = procHcsDetachLayerStorageFilter.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsDetachLayerStorageFilter.Addr(), 1, uintptr(unsafe.Pointer(layerPath)), 0, 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -109,7 +156,8 @@ func hcsExportLayer(layerPath string, exportFolderPath string, layerData string, | |||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsExportLayer(layerPath *uint16, exportFolderPath *uint16, layerData *uint16, options *uint16) (hr error) { | func _hcsExportLayer(layerPath *uint16, exportFolderPath *uint16, layerData *uint16, options *uint16) (hr error) { | ||||||
| 	if hr = procHcsExportLayer.Find(); hr != nil { | 	hr = procHcsExportLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsExportLayer.Addr(), 4, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(exportFolderPath)), uintptr(unsafe.Pointer(layerData)), uintptr(unsafe.Pointer(options)), 0, 0) | 	r0, _, _ := syscall.Syscall6(procHcsExportLayer.Addr(), 4, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(exportFolderPath)), uintptr(unsafe.Pointer(layerData)), uintptr(unsafe.Pointer(options)), 0, 0) | ||||||
| @@ -122,20 +170,12 @@ func _hcsExportLayer(layerPath *uint16, exportFolderPath *uint16, layerData *uin | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func hcsDestroyLayer(layerPath string) (hr error) { | func hcsFormatWritableLayerVhd(handle windows.Handle) (hr error) { | ||||||
| 	var _p0 *uint16 | 	hr = procHcsFormatWritableLayerVhd.Find() | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(layerPath) |  | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsDestroyLayer(_p0) | 	r0, _, _ := syscall.Syscall(procHcsFormatWritableLayerVhd.Addr(), 1, uintptr(handle), 0, 0) | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsDestroyLayer(layerPath *uint16) (hr error) { |  | ||||||
| 	if hr = procHcsDestoryLayer.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsDestoryLayer.Addr(), 1, uintptr(unsafe.Pointer(layerPath)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -145,25 +185,46 @@ func _hcsDestroyLayer(layerPath *uint16) (hr error) { | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func hcsSetupBaseOSLayer(layerPath string, handle windows.Handle, options string) (hr error) { | func hcsGetLayerVhdMountPath(vhdHandle windows.Handle, mountPath **uint16) (hr error) { | ||||||
|  | 	hr = procHcsGetLayerVhdMountPath.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsGetLayerVhdMountPath.Addr(), 2, uintptr(vhdHandle), uintptr(unsafe.Pointer(mountPath)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	var _p1 *uint16 | 	var _p1 *uint16 | ||||||
| 	_p1, hr = syscall.UTF16PtrFromString(options) | 	_p1, hr = syscall.UTF16PtrFromString(sourceFolderPath) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsSetupBaseOSLayer(_p0, handle, _p1) | 	var _p2 *uint16 | ||||||
| } | 	_p2, hr = syscall.UTF16PtrFromString(layerData) | ||||||
|  | 	if hr != nil { | ||||||
| func _hcsSetupBaseOSLayer(layerPath *uint16, handle windows.Handle, options *uint16) (hr error) { |  | ||||||
| 	if hr = procHcsSetupBaseOSLayer.Find(); hr != nil { |  | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsSetupBaseOSLayer.Addr(), 3, uintptr(unsafe.Pointer(layerPath)), uintptr(handle), uintptr(unsafe.Pointer(options))) | 	return _hcsImportLayer(_p0, _p1, _p2) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsImportLayer(layerPath *uint16, sourceFolderPath *uint16, layerData *uint16) (hr error) { | ||||||
|  | 	hr = procHcsImportLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsImportLayer.Addr(), 3, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(sourceFolderPath)), uintptr(unsafe.Pointer(layerData))) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -193,7 +254,8 @@ func hcsInitializeWritableLayer(writableLayerPath string, layerData string, opti | |||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsInitializeWritableLayer(writableLayerPath *uint16, layerData *uint16, options *uint16) (hr error) { | func _hcsInitializeWritableLayer(writableLayerPath *uint16, layerData *uint16, options *uint16) (hr error) { | ||||||
| 	if hr = procHcsInitializeWritableLayer.Find(); hr != nil { | 	hr = procHcsInitializeWritableLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsInitializeWritableLayer.Addr(), 3, uintptr(unsafe.Pointer(writableLayerPath)), uintptr(unsafe.Pointer(layerData)), uintptr(unsafe.Pointer(options))) | 	r0, _, _ := syscall.Syscall(procHcsInitializeWritableLayer.Addr(), 3, uintptr(unsafe.Pointer(writableLayerPath)), uintptr(unsafe.Pointer(layerData)), uintptr(unsafe.Pointer(options))) | ||||||
| @@ -206,76 +268,26 @@ func _hcsInitializeWritableLayer(writableLayerPath *uint16, layerData *uint16, o | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func hcsAttachLayerStorageFilter(layerPath string, layerData string) (hr error) { | func hcsSetupBaseOSLayer(layerPath string, handle windows.Handle, options string) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | 	_p0, hr = syscall.UTF16PtrFromString(layerPath) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	var _p1 *uint16 | 	var _p1 *uint16 | ||||||
| 	_p1, hr = syscall.UTF16PtrFromString(layerData) | 	_p1, hr = syscall.UTF16PtrFromString(options) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsAttachLayerStorageFilter(_p0, _p1) | 	return _hcsSetupBaseOSLayer(_p0, handle, _p1) | ||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsAttachLayerStorageFilter(layerPath *uint16, layerData *uint16) (hr error) { | func _hcsSetupBaseOSLayer(layerPath *uint16, handle windows.Handle, options *uint16) (hr error) { | ||||||
| 	if hr = procHcsAttachLayerStorageFilter.Find(); hr != nil { | 	hr = procHcsSetupBaseOSLayer.Find() | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsAttachLayerStorageFilter.Addr(), 2, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(layerData)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsDetachLayerStorageFilter(layerPath string) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(layerPath) |  | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsDetachLayerStorageFilter(_p0) | 	r0, _, _ := syscall.Syscall(procHcsSetupBaseOSLayer.Addr(), 3, uintptr(unsafe.Pointer(layerPath)), uintptr(handle), uintptr(unsafe.Pointer(options))) | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsDetachLayerStorageFilter(layerPath *uint16) (hr error) { |  | ||||||
| 	if hr = procHcsDetachLayerStorageFilter.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsDetachLayerStorageFilter.Addr(), 1, uintptr(unsafe.Pointer(layerPath)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsFormatWritableLayerVhd(handle windows.Handle) (hr error) { |  | ||||||
| 	if hr = procHcsFormatWritableLayerVhd.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsFormatWritableLayerVhd.Addr(), 1, uintptr(handle), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsGetLayerVhdMountPath(vhdHandle windows.Handle, mountPath **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsGetLayerVhdMountPath.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsGetLayerVhdMountPath.Addr(), 2, uintptr(vhdHandle), uintptr(unsafe.Pointer(mountPath)), 0) |  | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -305,7 +317,8 @@ func hcsSetupBaseOSVolume(layerPath string, volumePath string, options string) ( | |||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsSetupBaseOSVolume(layerPath *uint16, volumePath *uint16, options *uint16) (hr error) { | func _hcsSetupBaseOSVolume(layerPath *uint16, volumePath *uint16, options *uint16) (hr error) { | ||||||
| 	if hr = procHcsSetupBaseOSVolume.Find(); hr != nil { | 	hr = procHcsSetupBaseOSVolume.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsSetupBaseOSVolume.Addr(), 3, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(volumePath)), uintptr(unsafe.Pointer(options))) | 	r0, _, _ := syscall.Syscall(procHcsSetupBaseOSVolume.Addr(), 3, uintptr(unsafe.Pointer(layerPath)), uintptr(unsafe.Pointer(volumePath)), uintptr(unsafe.Pointer(options))) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								vendor/github.com/Microsoft/hcsshim/ext4/tar2ext4/tar2ext4.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/Microsoft/hcsshim/ext4/tar2ext4/tar2ext4.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -5,9 +5,7 @@ import ( | |||||||
| 	"bufio" | 	"bufio" | ||||||
| 	"encoding/binary" | 	"encoding/binary" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/pkg/errors" |  | ||||||
| 	"io" | 	"io" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"path" | 	"path" | ||||||
| 	"strings" | 	"strings" | ||||||
| @@ -15,6 +13,7 @@ import ( | |||||||
| 	"github.com/Microsoft/hcsshim/ext4/dmverity" | 	"github.com/Microsoft/hcsshim/ext4/dmverity" | ||||||
| 	"github.com/Microsoft/hcsshim/ext4/internal/compactext4" | 	"github.com/Microsoft/hcsshim/ext4/internal/compactext4" | ||||||
| 	"github.com/Microsoft/hcsshim/ext4/internal/format" | 	"github.com/Microsoft/hcsshim/ext4/internal/format" | ||||||
|  | 	"github.com/pkg/errors" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type params struct { | type params struct { | ||||||
| @@ -243,7 +242,7 @@ func ReadExt4SuperBlock(vhdPath string) (*format.SuperBlock, error) { | |||||||
| // merkle tree root digest. Convert is called with minimal options: ConvertWhiteout and MaximumDiskSize | // merkle tree root digest. Convert is called with minimal options: ConvertWhiteout and MaximumDiskSize | ||||||
| // set to dmverity.RecommendedVHDSizeGB. | // set to dmverity.RecommendedVHDSizeGB. | ||||||
| func ConvertAndComputeRootDigest(r io.Reader) (string, error) { | func ConvertAndComputeRootDigest(r io.Reader) (string, error) { | ||||||
| 	out, err := ioutil.TempFile("", "") | 	out, err := os.CreateTemp("", "") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return "", fmt.Errorf("failed to create temporary file: %s", err) | 		return "", fmt.Errorf("failed to create temporary file: %s", err) | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcn.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"github.com/Microsoft/go-winio/pkg/guid" | 	"github.com/Microsoft/go-winio/pkg/guid" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //go:generate go run ../mksyscall_windows.go -output zsyscall_windows.go hcn.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hcn.go | ||||||
|  |  | ||||||
| /// HNS V1 API | /// HNS V1 API | ||||||
|  |  | ||||||
| @@ -228,7 +228,7 @@ func IPv6DualStackSupported() error { | |||||||
| 	return platformDoesNotSupportError("IPv6 DualStack") | 	return platformDoesNotSupportError("IPv6 DualStack") | ||||||
| } | } | ||||||
|  |  | ||||||
| //L4proxySupported returns an error if the HCN version does not support L4Proxy | // L4proxySupported returns an error if the HCN version does not support L4Proxy | ||||||
| func L4proxyPolicySupported() error { | func L4proxyPolicySupported() error { | ||||||
| 	supported, err := GetCachedSupportedFeatures() | 	supported, err := GetCachedSupportedFeatures() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|   | |||||||
							
								
								
									
										62
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -72,14 +72,14 @@ type PolicyEndpointRequest struct { | |||||||
| 	Policies []EndpointPolicy `json:",omitempty"` | 	Policies []EndpointPolicy `json:",omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func getEndpoint(endpointGuid guid.GUID, query string) (*HostComputeEndpoint, error) { | func getEndpoint(endpointGUID guid.GUID, query string) (*HostComputeEndpoint, error) { | ||||||
| 	// Open endpoint. | 	// Open endpoint. | ||||||
| 	var ( | 	var ( | ||||||
| 		endpointHandle   hcnEndpoint | 		endpointHandle   hcnEndpoint | ||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenEndpoint(&endpointGuid, &endpointHandle, &resultBuffer) | 	hr := hcnOpenEndpoint(&endpointGUID, &endpointHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenEndpoint", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenEndpoint", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -121,8 +121,8 @@ func enumerateEndpoints(query string) ([]HostComputeEndpoint, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var outputEndpoints []HostComputeEndpoint | 	var outputEndpoints []HostComputeEndpoint | ||||||
| 	for _, endpointGuid := range endpointIds { | 	for _, endpointGUID := range endpointIds { | ||||||
| 		endpoint, err := getEndpoint(endpointGuid, query) | 		endpoint, err := getEndpoint(endpointGUID, query) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, err | 			return nil, err | ||||||
| 		} | 		} | ||||||
| @@ -131,22 +131,22 @@ func enumerateEndpoints(query string) ([]HostComputeEndpoint, error) { | |||||||
| 	return outputEndpoints, nil | 	return outputEndpoints, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func createEndpoint(networkId string, endpointSettings string) (*HostComputeEndpoint, error) { | func createEndpoint(networkID string, endpointSettings string) (*HostComputeEndpoint, error) { | ||||||
| 	networkGuid, err := guid.FromString(networkId) | 	networkGUID, err := guid.FromString(networkID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, errInvalidNetworkID | 		return nil, errInvalidNetworkID | ||||||
| 	} | 	} | ||||||
| 	// Open network. | 	// Open network. | ||||||
| 	var networkHandle hcnNetwork | 	var networkHandle hcnNetwork | ||||||
| 	var resultBuffer *uint16 | 	var resultBuffer *uint16 | ||||||
| 	hr := hcnOpenNetwork(&networkGuid, &networkHandle, &resultBuffer) | 	hr := hcnOpenNetwork(&networkGUID, &networkHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenNetwork", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenNetwork", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	// Create endpoint. | 	// Create endpoint. | ||||||
| 	endpointId := guid.GUID{} | 	endpointID := guid.GUID{} | ||||||
| 	var endpointHandle hcnEndpoint | 	var endpointHandle hcnEndpoint | ||||||
| 	hr = hcnCreateEndpoint(networkHandle, &endpointId, endpointSettings, &endpointHandle, &resultBuffer) | 	hr = hcnCreateEndpoint(networkHandle, &endpointID, endpointSettings, &endpointHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnCreateEndpoint", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnCreateEndpoint", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -180,8 +180,8 @@ func createEndpoint(networkId string, endpointSettings string) (*HostComputeEndp | |||||||
| 	return &outputEndpoint, nil | 	return &outputEndpoint, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func modifyEndpoint(endpointId string, settings string) (*HostComputeEndpoint, error) { | func modifyEndpoint(endpointID string, settings string) (*HostComputeEndpoint, error) { | ||||||
| 	endpointGuid, err := guid.FromString(endpointId) | 	endpointGUID, err := guid.FromString(endpointID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, errInvalidEndpointID | 		return nil, errInvalidEndpointID | ||||||
| 	} | 	} | ||||||
| @@ -191,7 +191,7 @@ func modifyEndpoint(endpointId string, settings string) (*HostComputeEndpoint, e | |||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenEndpoint(&endpointGuid, &endpointHandle, &resultBuffer) | 	hr := hcnOpenEndpoint(&endpointGUID, &endpointHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenEndpoint", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenEndpoint", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -224,13 +224,13 @@ func modifyEndpoint(endpointId string, settings string) (*HostComputeEndpoint, e | |||||||
| 	return &outputEndpoint, nil | 	return &outputEndpoint, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func deleteEndpoint(endpointId string) error { | func deleteEndpoint(endpointID string) error { | ||||||
| 	endpointGuid, err := guid.FromString(endpointId) | 	endpointGUID, err := guid.FromString(endpointID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return errInvalidEndpointID | 		return errInvalidEndpointID | ||||||
| 	} | 	} | ||||||
| 	var resultBuffer *uint16 | 	var resultBuffer *uint16 | ||||||
| 	hr := hcnDeleteEndpoint(&endpointGuid, &resultBuffer) | 	hr := hcnDeleteEndpoint(&endpointGUID, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnDeleteEndpoint", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnDeleteEndpoint", hr, resultBuffer); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -249,12 +249,12 @@ func ListEndpoints() ([]HostComputeEndpoint, error) { | |||||||
|  |  | ||||||
| // ListEndpointsQuery makes a call to query the list of available endpoints. | // ListEndpointsQuery makes a call to query the list of available endpoints. | ||||||
| func ListEndpointsQuery(query HostComputeQuery) ([]HostComputeEndpoint, error) { | func ListEndpointsQuery(query HostComputeQuery) ([]HostComputeEndpoint, error) { | ||||||
| 	queryJson, err := json.Marshal(query) | 	queryJSON, err := json.Marshal(query) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	endpoints, err := enumerateEndpoints(string(queryJson)) | 	endpoints, err := enumerateEndpoints(string(queryJSON)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -262,10 +262,10 @@ func ListEndpointsQuery(query HostComputeQuery) ([]HostComputeEndpoint, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| // ListEndpointsOfNetwork queries the list of endpoints on a network. | // ListEndpointsOfNetwork queries the list of endpoints on a network. | ||||||
| func ListEndpointsOfNetwork(networkId string) ([]HostComputeEndpoint, error) { | func ListEndpointsOfNetwork(networkID string) ([]HostComputeEndpoint, error) { | ||||||
| 	hcnQuery := defaultQuery() | 	hcnQuery := defaultQuery() | ||||||
| 	// TODO: Once query can convert schema, change to {HostComputeNetwork:networkId} | 	// TODO: Once query can convert schema, change to {HostComputeNetwork:networkId} | ||||||
| 	mapA := map[string]string{"VirtualNetwork": networkId} | 	mapA := map[string]string{"VirtualNetwork": networkID} | ||||||
| 	filter, err := json.Marshal(mapA) | 	filter, err := json.Marshal(mapA) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -276,9 +276,9 @@ func ListEndpointsOfNetwork(networkId string) ([]HostComputeEndpoint, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| // GetEndpointByID returns an endpoint specified by Id | // GetEndpointByID returns an endpoint specified by Id | ||||||
| func GetEndpointByID(endpointId string) (*HostComputeEndpoint, error) { | func GetEndpointByID(endpointID string) (*HostComputeEndpoint, error) { | ||||||
| 	hcnQuery := defaultQuery() | 	hcnQuery := defaultQuery() | ||||||
| 	mapA := map[string]string{"ID": endpointId} | 	mapA := map[string]string{"ID": endpointID} | ||||||
| 	filter, err := json.Marshal(mapA) | 	filter, err := json.Marshal(mapA) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -290,7 +290,7 @@ func GetEndpointByID(endpointId string) (*HostComputeEndpoint, error) { | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	if len(endpoints) == 0 { | 	if len(endpoints) == 0 { | ||||||
| 		return nil, EndpointNotFoundError{EndpointID: endpointId} | 		return nil, EndpointNotFoundError{EndpointID: endpointID} | ||||||
| 	} | 	} | ||||||
| 	return &endpoints[0], err | 	return &endpoints[0], err | ||||||
| } | } | ||||||
| @@ -347,15 +347,15 @@ func (endpoint *HostComputeEndpoint) Delete() error { | |||||||
| } | } | ||||||
|  |  | ||||||
| // ModifyEndpointSettings updates the Port/Policy of an Endpoint. | // ModifyEndpointSettings updates the Port/Policy of an Endpoint. | ||||||
| func ModifyEndpointSettings(endpointId string, request *ModifyEndpointSettingRequest) error { | func ModifyEndpointSettings(endpointID string, request *ModifyEndpointSettingRequest) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeEndpoint::ModifyEndpointSettings id=%s", endpointId) | 	logrus.Debugf("hcn::HostComputeEndpoint::ModifyEndpointSettings id=%s", endpointID) | ||||||
|  |  | ||||||
| 	endpointSettingsRequest, err := json.Marshal(request) | 	endpointSettingsRequest, err := json.Marshal(request) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	_, err = modifyEndpoint(endpointId, string(endpointSettingsRequest)) | 	_, err = modifyEndpoint(endpointID, string(endpointSettingsRequest)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -366,25 +366,25 @@ func ModifyEndpointSettings(endpointId string, request *ModifyEndpointSettingReq | |||||||
| func (endpoint *HostComputeEndpoint) ApplyPolicy(requestType RequestType, endpointPolicy PolicyEndpointRequest) error { | func (endpoint *HostComputeEndpoint) ApplyPolicy(requestType RequestType, endpointPolicy PolicyEndpointRequest) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeEndpoint::ApplyPolicy id=%s", endpoint.Id) | 	logrus.Debugf("hcn::HostComputeEndpoint::ApplyPolicy id=%s", endpoint.Id) | ||||||
|  |  | ||||||
| 	settingsJson, err := json.Marshal(endpointPolicy) | 	settingsJSON, err := json.Marshal(endpointPolicy) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	requestMessage := &ModifyEndpointSettingRequest{ | 	requestMessage := &ModifyEndpointSettingRequest{ | ||||||
| 		ResourceType: EndpointResourceTypePolicy, | 		ResourceType: EndpointResourceTypePolicy, | ||||||
| 		RequestType:  requestType, | 		RequestType:  requestType, | ||||||
| 		Settings:     settingsJson, | 		Settings:     settingsJSON, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return ModifyEndpointSettings(endpoint.Id, requestMessage) | 	return ModifyEndpointSettings(endpoint.Id, requestMessage) | ||||||
| } | } | ||||||
|  |  | ||||||
| // NamespaceAttach modifies a Namespace to add an endpoint. | // NamespaceAttach modifies a Namespace to add an endpoint. | ||||||
| func (endpoint *HostComputeEndpoint) NamespaceAttach(namespaceId string) error { | func (endpoint *HostComputeEndpoint) NamespaceAttach(namespaceID string) error { | ||||||
| 	return AddNamespaceEndpoint(namespaceId, endpoint.Id) | 	return AddNamespaceEndpoint(namespaceID, endpoint.Id) | ||||||
| } | } | ||||||
|  |  | ||||||
| // NamespaceDetach modifies a Namespace to remove an endpoint. | // NamespaceDetach modifies a Namespace to remove an endpoint. | ||||||
| func (endpoint *HostComputeEndpoint) NamespaceDetach(namespaceId string) error { | func (endpoint *HostComputeEndpoint) NamespaceDetach(namespaceID string) error { | ||||||
| 	return RemoveNamespaceEndpoint(namespaceId, endpoint.Id) | 	return RemoveNamespaceEndpoint(namespaceID, endpoint.Id) | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnerrors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnerrors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -10,6 +10,7 @@ import ( | |||||||
| 	"github.com/Microsoft/hcsshim/internal/hcserror" | 	"github.com/Microsoft/hcsshim/internal/hcserror" | ||||||
| 	"github.com/Microsoft/hcsshim/internal/interop" | 	"github.com/Microsoft/hcsshim/internal/interop" | ||||||
| 	"github.com/sirupsen/logrus" | 	"github.com/sirupsen/logrus" | ||||||
|  | 	"golang.org/x/sys/windows" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -48,8 +49,8 @@ type ErrorCode uint32 | |||||||
|  |  | ||||||
| // For common errors, define the error as it is in windows, so we can quickly determine it later | // For common errors, define the error as it is in windows, so we can quickly determine it later | ||||||
| const ( | const ( | ||||||
| 	ERROR_NOT_FOUND                     = 0x490 | 	ERROR_NOT_FOUND                     = ErrorCode(windows.ERROR_NOT_FOUND) | ||||||
| 	HCN_E_PORT_ALREADY_EXISTS ErrorCode = 0x803b0013 | 	HCN_E_PORT_ALREADY_EXISTS ErrorCode = ErrorCode(windows.HCN_E_PORT_ALREADY_EXISTS) | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type HcnError struct { | type HcnError struct { | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnloadbalancer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnloadbalancer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -30,7 +30,7 @@ type HostComputeLoadBalancer struct { | |||||||
| 	Flags                LoadBalancerFlags         `json:",omitempty"` // 0: None, 1: EnableDirectServerReturn | 	Flags                LoadBalancerFlags         `json:",omitempty"` // 0: None, 1: EnableDirectServerReturn | ||||||
| } | } | ||||||
|  |  | ||||||
| //LoadBalancerFlags modify settings for a loadbalancer. | // LoadBalancerFlags modify settings for a loadbalancer. | ||||||
| type LoadBalancerFlags uint32 | type LoadBalancerFlags uint32 | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| @@ -69,14 +69,14 @@ var ( | |||||||
| 	LoadBalancerDistributionSourceIP LoadBalancerDistribution = 2 | 	LoadBalancerDistributionSourceIP LoadBalancerDistribution = 2 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func getLoadBalancer(loadBalancerGuid guid.GUID, query string) (*HostComputeLoadBalancer, error) { | func getLoadBalancer(loadBalancerGUID guid.GUID, query string) (*HostComputeLoadBalancer, error) { | ||||||
| 	// Open loadBalancer. | 	// Open loadBalancer. | ||||||
| 	var ( | 	var ( | ||||||
| 		loadBalancerHandle hcnLoadBalancer | 		loadBalancerHandle hcnLoadBalancer | ||||||
| 		resultBuffer       *uint16 | 		resultBuffer       *uint16 | ||||||
| 		propertiesBuffer   *uint16 | 		propertiesBuffer   *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenLoadBalancer(&loadBalancerGuid, &loadBalancerHandle, &resultBuffer) | 	hr := hcnOpenLoadBalancer(&loadBalancerGUID, &loadBalancerHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenLoadBalancer", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenLoadBalancer", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -117,8 +117,8 @@ func enumerateLoadBalancers(query string) ([]HostComputeLoadBalancer, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var outputLoadBalancers []HostComputeLoadBalancer | 	var outputLoadBalancers []HostComputeLoadBalancer | ||||||
| 	for _, loadBalancerGuid := range loadBalancerIds { | 	for _, loadBalancerGUID := range loadBalancerIds { | ||||||
| 		loadBalancer, err := getLoadBalancer(loadBalancerGuid, query) | 		loadBalancer, err := getLoadBalancer(loadBalancerGUID, query) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, err | 			return nil, err | ||||||
| 		} | 		} | ||||||
| @@ -134,8 +134,8 @@ func createLoadBalancer(settings string) (*HostComputeLoadBalancer, error) { | |||||||
| 		resultBuffer       *uint16 | 		resultBuffer       *uint16 | ||||||
| 		propertiesBuffer   *uint16 | 		propertiesBuffer   *uint16 | ||||||
| 	) | 	) | ||||||
| 	loadBalancerGuid := guid.GUID{} | 	loadBalancerGUID := guid.GUID{} | ||||||
| 	hr := hcnCreateLoadBalancer(&loadBalancerGuid, settings, &loadBalancerHandle, &resultBuffer) | 	hr := hcnCreateLoadBalancer(&loadBalancerGUID, settings, &loadBalancerHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnCreateLoadBalancer", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnCreateLoadBalancer", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -163,13 +163,13 @@ func createLoadBalancer(settings string) (*HostComputeLoadBalancer, error) { | |||||||
| 	return &outputLoadBalancer, nil | 	return &outputLoadBalancer, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func deleteLoadBalancer(loadBalancerId string) error { | func deleteLoadBalancer(loadBalancerID string) error { | ||||||
| 	loadBalancerGuid, err := guid.FromString(loadBalancerId) | 	loadBalancerGUID, err := guid.FromString(loadBalancerID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return errInvalidLoadBalancerID | 		return errInvalidLoadBalancerID | ||||||
| 	} | 	} | ||||||
| 	var resultBuffer *uint16 | 	var resultBuffer *uint16 | ||||||
| 	hr := hcnDeleteLoadBalancer(&loadBalancerGuid, &resultBuffer) | 	hr := hcnDeleteLoadBalancer(&loadBalancerGUID, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnDeleteLoadBalancer", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnDeleteLoadBalancer", hr, resultBuffer); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -188,12 +188,12 @@ func ListLoadBalancers() ([]HostComputeLoadBalancer, error) { | |||||||
|  |  | ||||||
| // ListLoadBalancersQuery makes a call to query the list of available loadBalancers. | // ListLoadBalancersQuery makes a call to query the list of available loadBalancers. | ||||||
| func ListLoadBalancersQuery(query HostComputeQuery) ([]HostComputeLoadBalancer, error) { | func ListLoadBalancersQuery(query HostComputeQuery) ([]HostComputeLoadBalancer, error) { | ||||||
| 	queryJson, err := json.Marshal(query) | 	queryJSON, err := json.Marshal(query) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	loadBalancers, err := enumerateLoadBalancers(string(queryJson)) | 	loadBalancers, err := enumerateLoadBalancers(string(queryJSON)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -201,9 +201,9 @@ func ListLoadBalancersQuery(query HostComputeQuery) ([]HostComputeLoadBalancer, | |||||||
| } | } | ||||||
|  |  | ||||||
| // GetLoadBalancerByID returns the LoadBalancer specified by Id. | // GetLoadBalancerByID returns the LoadBalancer specified by Id. | ||||||
| func GetLoadBalancerByID(loadBalancerId string) (*HostComputeLoadBalancer, error) { | func GetLoadBalancerByID(loadBalancerID string) (*HostComputeLoadBalancer, error) { | ||||||
| 	hcnQuery := defaultQuery() | 	hcnQuery := defaultQuery() | ||||||
| 	mapA := map[string]string{"ID": loadBalancerId} | 	mapA := map[string]string{"ID": loadBalancerID} | ||||||
| 	filter, err := json.Marshal(mapA) | 	filter, err := json.Marshal(mapA) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -215,7 +215,7 @@ func GetLoadBalancerByID(loadBalancerId string) (*HostComputeLoadBalancer, error | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	if len(loadBalancers) == 0 { | 	if len(loadBalancers) == 0 { | ||||||
| 		return nil, LoadBalancerNotFoundError{LoadBalancerId: loadBalancerId} | 		return nil, LoadBalancerNotFoundError{LoadBalancerId: loadBalancerID} | ||||||
| 	} | 	} | ||||||
| 	return &loadBalancers[0], err | 	return &loadBalancers[0], err | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										72
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnnamespace.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										72
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnnamespace.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -72,14 +72,14 @@ type ModifyNamespaceSettingRequest struct { | |||||||
| 	Settings     json.RawMessage       `json:",omitempty"` | 	Settings     json.RawMessage       `json:",omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func getNamespace(namespaceGuid guid.GUID, query string) (*HostComputeNamespace, error) { | func getNamespace(namespaceGUID guid.GUID, query string) (*HostComputeNamespace, error) { | ||||||
| 	// Open namespace. | 	// Open namespace. | ||||||
| 	var ( | 	var ( | ||||||
| 		namespaceHandle  hcnNamespace | 		namespaceHandle  hcnNamespace | ||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenNamespace(&namespaceGuid, &namespaceHandle, &resultBuffer) | 	hr := hcnOpenNamespace(&namespaceGUID, &namespaceHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenNamespace", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenNamespace", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -120,8 +120,8 @@ func enumerateNamespaces(query string) ([]HostComputeNamespace, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var outputNamespaces []HostComputeNamespace | 	var outputNamespaces []HostComputeNamespace | ||||||
| 	for _, namespaceGuid := range namespaceIds { | 	for _, namespaceGUID := range namespaceIds { | ||||||
| 		namespace, err := getNamespace(namespaceGuid, query) | 		namespace, err := getNamespace(namespaceGUID, query) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, err | 			return nil, err | ||||||
| 		} | 		} | ||||||
| @@ -137,8 +137,8 @@ func createNamespace(settings string) (*HostComputeNamespace, error) { | |||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	namespaceGuid := guid.GUID{} | 	namespaceGUID := guid.GUID{} | ||||||
| 	hr := hcnCreateNamespace(&namespaceGuid, settings, &namespaceHandle, &resultBuffer) | 	hr := hcnCreateNamespace(&namespaceGUID, settings, &namespaceHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnCreateNamespace", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnCreateNamespace", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -166,8 +166,8 @@ func createNamespace(settings string) (*HostComputeNamespace, error) { | |||||||
| 	return &outputNamespace, nil | 	return &outputNamespace, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func modifyNamespace(namespaceId string, settings string) (*HostComputeNamespace, error) { | func modifyNamespace(namespaceID string, settings string) (*HostComputeNamespace, error) { | ||||||
| 	namespaceGuid, err := guid.FromString(namespaceId) | 	namespaceGUID, err := guid.FromString(namespaceID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, errInvalidNamespaceID | 		return nil, errInvalidNamespaceID | ||||||
| 	} | 	} | ||||||
| @@ -177,7 +177,7 @@ func modifyNamespace(namespaceId string, settings string) (*HostComputeNamespace | |||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenNamespace(&namespaceGuid, &namespaceHandle, &resultBuffer) | 	hr := hcnOpenNamespace(&namespaceGUID, &namespaceHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenNamespace", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenNamespace", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -210,13 +210,13 @@ func modifyNamespace(namespaceId string, settings string) (*HostComputeNamespace | |||||||
| 	return &outputNamespace, nil | 	return &outputNamespace, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func deleteNamespace(namespaceId string) error { | func deleteNamespace(namespaceID string) error { | ||||||
| 	namespaceGuid, err := guid.FromString(namespaceId) | 	namespaceGUID, err := guid.FromString(namespaceID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return errInvalidNamespaceID | 		return errInvalidNamespaceID | ||||||
| 	} | 	} | ||||||
| 	var resultBuffer *uint16 | 	var resultBuffer *uint16 | ||||||
| 	hr := hcnDeleteNamespace(&namespaceGuid, &resultBuffer) | 	hr := hcnDeleteNamespace(&namespaceGUID, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnDeleteNamespace", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnDeleteNamespace", hr, resultBuffer); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -235,12 +235,12 @@ func ListNamespaces() ([]HostComputeNamespace, error) { | |||||||
|  |  | ||||||
| // ListNamespacesQuery makes a call to query the list of available namespaces. | // ListNamespacesQuery makes a call to query the list of available namespaces. | ||||||
| func ListNamespacesQuery(query HostComputeQuery) ([]HostComputeNamespace, error) { | func ListNamespacesQuery(query HostComputeQuery) ([]HostComputeNamespace, error) { | ||||||
| 	queryJson, err := json.Marshal(query) | 	queryJSON, err := json.Marshal(query) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	namespaces, err := enumerateNamespaces(string(queryJson)) | 	namespaces, err := enumerateNamespaces(string(queryJSON)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -248,9 +248,9 @@ func ListNamespacesQuery(query HostComputeQuery) ([]HostComputeNamespace, error) | |||||||
| } | } | ||||||
|  |  | ||||||
| // GetNamespaceByID returns the Namespace specified by Id. | // GetNamespaceByID returns the Namespace specified by Id. | ||||||
| func GetNamespaceByID(namespaceId string) (*HostComputeNamespace, error) { | func GetNamespaceByID(namespaceID string) (*HostComputeNamespace, error) { | ||||||
| 	hcnQuery := defaultQuery() | 	hcnQuery := defaultQuery() | ||||||
| 	mapA := map[string]string{"ID": namespaceId} | 	mapA := map[string]string{"ID": namespaceID} | ||||||
| 	filter, err := json.Marshal(mapA) | 	filter, err := json.Marshal(mapA) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| @@ -262,15 +262,15 @@ func GetNamespaceByID(namespaceId string) (*HostComputeNamespace, error) { | |||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 	if len(namespaces) == 0 { | 	if len(namespaces) == 0 { | ||||||
| 		return nil, NamespaceNotFoundError{NamespaceID: namespaceId} | 		return nil, NamespaceNotFoundError{NamespaceID: namespaceID} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return &namespaces[0], err | 	return &namespaces[0], err | ||||||
| } | } | ||||||
|  |  | ||||||
| // GetNamespaceEndpointIds returns the endpoints of the Namespace specified by Id. | // GetNamespaceEndpointIds returns the endpoints of the Namespace specified by Id. | ||||||
| func GetNamespaceEndpointIds(namespaceId string) ([]string, error) { | func GetNamespaceEndpointIds(namespaceID string) ([]string, error) { | ||||||
| 	namespace, err := GetNamespaceByID(namespaceId) | 	namespace, err := GetNamespaceByID(namespaceID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -288,8 +288,8 @@ func GetNamespaceEndpointIds(namespaceId string) ([]string, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| // GetNamespaceContainerIds returns the containers of the Namespace specified by Id. | // GetNamespaceContainerIds returns the containers of the Namespace specified by Id. | ||||||
| func GetNamespaceContainerIds(namespaceId string) ([]string, error) { | func GetNamespaceContainerIds(namespaceID string) ([]string, error) { | ||||||
| 	namespace, err := GetNamespaceByID(namespaceId) | 	namespace, err := GetNamespaceByID(namespaceID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -396,15 +396,15 @@ func (namespace *HostComputeNamespace) Sync() error { | |||||||
| } | } | ||||||
|  |  | ||||||
| // ModifyNamespaceSettings updates the Endpoints/Containers of a Namespace. | // ModifyNamespaceSettings updates the Endpoints/Containers of a Namespace. | ||||||
| func ModifyNamespaceSettings(namespaceId string, request *ModifyNamespaceSettingRequest) error { | func ModifyNamespaceSettings(namespaceID string, request *ModifyNamespaceSettingRequest) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeNamespace::ModifyNamespaceSettings id=%s", namespaceId) | 	logrus.Debugf("hcn::HostComputeNamespace::ModifyNamespaceSettings id=%s", namespaceID) | ||||||
|  |  | ||||||
| 	namespaceSettings, err := json.Marshal(request) | 	namespaceSettings, err := json.Marshal(request) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	_, err = modifyNamespace(namespaceId, string(namespaceSettings)) | 	_, err = modifyNamespace(namespaceID, string(namespaceSettings)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -412,37 +412,37 @@ func ModifyNamespaceSettings(namespaceId string, request *ModifyNamespaceSetting | |||||||
| } | } | ||||||
|  |  | ||||||
| // AddNamespaceEndpoint adds an endpoint to a Namespace. | // AddNamespaceEndpoint adds an endpoint to a Namespace. | ||||||
| func AddNamespaceEndpoint(namespaceId string, endpointId string) error { | func AddNamespaceEndpoint(namespaceID string, endpointID string) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeEndpoint::AddNamespaceEndpoint id=%s", endpointId) | 	logrus.Debugf("hcn::HostComputeEndpoint::AddNamespaceEndpoint id=%s", endpointID) | ||||||
|  |  | ||||||
| 	mapA := map[string]string{"EndpointId": endpointId} | 	mapA := map[string]string{"EndpointId": endpointID} | ||||||
| 	settingsJson, err := json.Marshal(mapA) | 	settingsJSON, err := json.Marshal(mapA) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	requestMessage := &ModifyNamespaceSettingRequest{ | 	requestMessage := &ModifyNamespaceSettingRequest{ | ||||||
| 		ResourceType: NamespaceResourceTypeEndpoint, | 		ResourceType: NamespaceResourceTypeEndpoint, | ||||||
| 		RequestType:  RequestTypeAdd, | 		RequestType:  RequestTypeAdd, | ||||||
| 		Settings:     settingsJson, | 		Settings:     settingsJSON, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return ModifyNamespaceSettings(namespaceId, requestMessage) | 	return ModifyNamespaceSettings(namespaceID, requestMessage) | ||||||
| } | } | ||||||
|  |  | ||||||
| // RemoveNamespaceEndpoint removes an endpoint from a Namespace. | // RemoveNamespaceEndpoint removes an endpoint from a Namespace. | ||||||
| func RemoveNamespaceEndpoint(namespaceId string, endpointId string) error { | func RemoveNamespaceEndpoint(namespaceID string, endpointID string) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeNamespace::RemoveNamespaceEndpoint id=%s", endpointId) | 	logrus.Debugf("hcn::HostComputeNamespace::RemoveNamespaceEndpoint id=%s", endpointID) | ||||||
|  |  | ||||||
| 	mapA := map[string]string{"EndpointId": endpointId} | 	mapA := map[string]string{"EndpointId": endpointID} | ||||||
| 	settingsJson, err := json.Marshal(mapA) | 	settingsJSON, err := json.Marshal(mapA) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	requestMessage := &ModifyNamespaceSettingRequest{ | 	requestMessage := &ModifyNamespaceSettingRequest{ | ||||||
| 		ResourceType: NamespaceResourceTypeEndpoint, | 		ResourceType: NamespaceResourceTypeEndpoint, | ||||||
| 		RequestType:  RequestTypeRemove, | 		RequestType:  RequestTypeRemove, | ||||||
| 		Settings:     settingsJson, | 		Settings:     settingsJSON, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return ModifyNamespaceSettings(namespaceId, requestMessage) | 	return ModifyNamespaceSettings(namespaceID, requestMessage) | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										36
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnnetwork.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnnetwork.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -112,14 +112,14 @@ type PolicyNetworkRequest struct { | |||||||
| 	Policies []NetworkPolicy `json:",omitempty"` | 	Policies []NetworkPolicy `json:",omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| func getNetwork(networkGuid guid.GUID, query string) (*HostComputeNetwork, error) { | func getNetwork(networkGUID guid.GUID, query string) (*HostComputeNetwork, error) { | ||||||
| 	// Open network. | 	// Open network. | ||||||
| 	var ( | 	var ( | ||||||
| 		networkHandle    hcnNetwork | 		networkHandle    hcnNetwork | ||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenNetwork(&networkGuid, &networkHandle, &resultBuffer) | 	hr := hcnOpenNetwork(&networkGUID, &networkHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenNetwork", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenNetwork", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -166,8 +166,8 @@ func enumerateNetworks(query string) ([]HostComputeNetwork, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var outputNetworks []HostComputeNetwork | 	var outputNetworks []HostComputeNetwork | ||||||
| 	for _, networkGuid := range networkIds { | 	for _, networkGUID := range networkIds { | ||||||
| 		network, err := getNetwork(networkGuid, query) | 		network, err := getNetwork(networkGUID, query) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return nil, err | 			return nil, err | ||||||
| 		} | 		} | ||||||
| @@ -183,8 +183,8 @@ func createNetwork(settings string) (*HostComputeNetwork, error) { | |||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	networkGuid := guid.GUID{} | 	networkGUID := guid.GUID{} | ||||||
| 	hr := hcnCreateNetwork(&networkGuid, settings, &networkHandle, &resultBuffer) | 	hr := hcnCreateNetwork(&networkGUID, settings, &networkHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnCreateNetwork", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnCreateNetwork", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -218,8 +218,8 @@ func createNetwork(settings string) (*HostComputeNetwork, error) { | |||||||
| 	return &outputNetwork, nil | 	return &outputNetwork, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func modifyNetwork(networkId string, settings string) (*HostComputeNetwork, error) { | func modifyNetwork(networkID string, settings string) (*HostComputeNetwork, error) { | ||||||
| 	networkGuid, err := guid.FromString(networkId) | 	networkGUID, err := guid.FromString(networkID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, errInvalidNetworkID | 		return nil, errInvalidNetworkID | ||||||
| 	} | 	} | ||||||
| @@ -229,7 +229,7 @@ func modifyNetwork(networkId string, settings string) (*HostComputeNetwork, erro | |||||||
| 		resultBuffer     *uint16 | 		resultBuffer     *uint16 | ||||||
| 		propertiesBuffer *uint16 | 		propertiesBuffer *uint16 | ||||||
| 	) | 	) | ||||||
| 	hr := hcnOpenNetwork(&networkGuid, &networkHandle, &resultBuffer) | 	hr := hcnOpenNetwork(&networkGUID, &networkHandle, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnOpenNetwork", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnOpenNetwork", hr, resultBuffer); err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -268,13 +268,13 @@ func modifyNetwork(networkId string, settings string) (*HostComputeNetwork, erro | |||||||
| 	return &outputNetwork, nil | 	return &outputNetwork, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func deleteNetwork(networkId string) error { | func deleteNetwork(networkID string) error { | ||||||
| 	networkGuid, err := guid.FromString(networkId) | 	networkGUID, err := guid.FromString(networkID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return errInvalidNetworkID | 		return errInvalidNetworkID | ||||||
| 	} | 	} | ||||||
| 	var resultBuffer *uint16 | 	var resultBuffer *uint16 | ||||||
| 	hr := hcnDeleteNetwork(&networkGuid, &resultBuffer) | 	hr := hcnDeleteNetwork(&networkGUID, &resultBuffer) | ||||||
| 	if err := checkForErrors("hcnDeleteNetwork", hr, resultBuffer); err != nil { | 	if err := checkForErrors("hcnDeleteNetwork", hr, resultBuffer); err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| @@ -293,12 +293,12 @@ func ListNetworks() ([]HostComputeNetwork, error) { | |||||||
|  |  | ||||||
| // ListNetworksQuery makes a call to query the list of available networks. | // ListNetworksQuery makes a call to query the list of available networks. | ||||||
| func ListNetworksQuery(query HostComputeQuery) ([]HostComputeNetwork, error) { | func ListNetworksQuery(query HostComputeQuery) ([]HostComputeNetwork, error) { | ||||||
| 	queryJson, err := json.Marshal(query) | 	queryJSON, err := json.Marshal(query) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	networks, err := enumerateNetworks(string(queryJson)) | 	networks, err := enumerateNetworks(string(queryJSON)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| @@ -410,14 +410,14 @@ func (network *HostComputeNetwork) ModifyNetworkSettings(request *ModifyNetworkS | |||||||
| func (network *HostComputeNetwork) AddPolicy(networkPolicy PolicyNetworkRequest) error { | func (network *HostComputeNetwork) AddPolicy(networkPolicy PolicyNetworkRequest) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeNetwork::AddPolicy id=%s", network.Id) | 	logrus.Debugf("hcn::HostComputeNetwork::AddPolicy id=%s", network.Id) | ||||||
|  |  | ||||||
| 	settingsJson, err := json.Marshal(networkPolicy) | 	settingsJSON, err := json.Marshal(networkPolicy) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	requestMessage := &ModifyNetworkSettingRequest{ | 	requestMessage := &ModifyNetworkSettingRequest{ | ||||||
| 		ResourceType: NetworkResourceTypePolicy, | 		ResourceType: NetworkResourceTypePolicy, | ||||||
| 		RequestType:  RequestTypeAdd, | 		RequestType:  RequestTypeAdd, | ||||||
| 		Settings:     settingsJson, | 		Settings:     settingsJSON, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return network.ModifyNetworkSettings(requestMessage) | 	return network.ModifyNetworkSettings(requestMessage) | ||||||
| @@ -427,14 +427,14 @@ func (network *HostComputeNetwork) AddPolicy(networkPolicy PolicyNetworkRequest) | |||||||
| func (network *HostComputeNetwork) RemovePolicy(networkPolicy PolicyNetworkRequest) error { | func (network *HostComputeNetwork) RemovePolicy(networkPolicy PolicyNetworkRequest) error { | ||||||
| 	logrus.Debugf("hcn::HostComputeNetwork::RemovePolicy id=%s", network.Id) | 	logrus.Debugf("hcn::HostComputeNetwork::RemovePolicy id=%s", network.Id) | ||||||
|  |  | ||||||
| 	settingsJson, err := json.Marshal(networkPolicy) | 	settingsJSON, err := json.Marshal(networkPolicy) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	requestMessage := &ModifyNetworkSettingRequest{ | 	requestMessage := &ModifyNetworkSettingRequest{ | ||||||
| 		ResourceType: NetworkResourceTypePolicy, | 		ResourceType: NetworkResourceTypePolicy, | ||||||
| 		RequestType:  RequestTypeRemove, | 		RequestType:  RequestTypeRemove, | ||||||
| 		Settings:     settingsJson, | 		Settings:     settingsJSON, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return network.ModifyNetworkSettings(requestMessage) | 	return network.ModifyNetworkSettings(requestMessage) | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnpolicy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/hcnpolicy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -315,7 +315,7 @@ const ( | |||||||
| 	ProtocolTypeICMPv6  ProtocolType = 58 | 	ProtocolTypeICMPv6  ProtocolType = 58 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //L4ProxyPolicySetting applies proxy policy on network/endpoint | // L4ProxyPolicySetting applies proxy policy on network/endpoint | ||||||
| type L4ProxyPolicySetting struct { | type L4ProxyPolicySetting struct { | ||||||
| 	IP          string       `json:",omitempty"` | 	IP          string       `json:",omitempty"` | ||||||
| 	Port        string       `json:",omitempty"` | 	Port        string       `json:",omitempty"` | ||||||
|   | |||||||
							
								
								
									
										1457
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1457
									
								
								vendor/github.com/Microsoft/hcsshim/hcn/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										10
									
								
								vendor/github.com/Microsoft/hcsshim/hcsshim.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/Microsoft/hcsshim/hcsshim.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -6,12 +6,12 @@ | |||||||
| package hcsshim | package hcsshim | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"syscall" | 	"golang.org/x/sys/windows" | ||||||
|  |  | ||||||
| 	"github.com/Microsoft/hcsshim/internal/hcserror" | 	"github.com/Microsoft/hcsshim/internal/hcserror" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //go:generate go run mksyscall_windows.go -output zsyscall_windows.go hcsshim.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hcsshim.go | ||||||
|  |  | ||||||
| //sys SetCurrentThreadCompartmentId(compartmentId uint32) (hr error) = iphlpapi.SetCurrentThreadCompartmentId | //sys SetCurrentThreadCompartmentId(compartmentId uint32) (hr error) = iphlpapi.SetCurrentThreadCompartmentId | ||||||
|  |  | ||||||
| @@ -19,9 +19,9 @@ const ( | |||||||
| 	// Specific user-visible exit codes | 	// Specific user-visible exit codes | ||||||
| 	WaitErrExecFailed = 32767 | 	WaitErrExecFailed = 32767 | ||||||
|  |  | ||||||
| 	ERROR_GEN_FAILURE          = hcserror.ERROR_GEN_FAILURE | 	ERROR_GEN_FAILURE          = windows.ERROR_GEN_FAILURE | ||||||
| 	ERROR_SHUTDOWN_IN_PROGRESS = syscall.Errno(1115) | 	ERROR_SHUTDOWN_IN_PROGRESS = windows.ERROR_SHUTDOWN_IN_PROGRESS | ||||||
| 	WSAEINVAL                  = syscall.Errno(10022) | 	WSAEINVAL                  = windows.WSAEINVAL | ||||||
|  |  | ||||||
| 	// Timeout on wait calls | 	// Timeout on wait calls | ||||||
| 	TimeoutInfinite = 0xFFFFFFFF | 	TimeoutInfinite = 0xFFFFFFFF | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/hnsendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/hnsendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -15,7 +15,7 @@ type HNSEndpointStats = hns.EndpointStats | |||||||
| // Namespace represents a Compartment. | // Namespace represents a Compartment. | ||||||
| type Namespace = hns.Namespace | type Namespace = hns.Namespace | ||||||
|  |  | ||||||
| //SystemType represents the type of the system on which actions are done | // SystemType represents the type of the system on which actions are done | ||||||
| type SystemType string | type SystemType string | ||||||
|  |  | ||||||
| // SystemType const | // SystemType const | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/cow/cow.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/cow/cow.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -88,6 +88,12 @@ type Container interface { | |||||||
| 	// container to be terminated by some error condition (including calling | 	// container to be terminated by some error condition (including calling | ||||||
| 	// Close). | 	// Close). | ||||||
| 	Wait() error | 	Wait() error | ||||||
|  | 	// WaitChannel returns the wait channel of the container | ||||||
|  | 	WaitChannel() <-chan struct{} | ||||||
|  | 	// WaitError returns the container termination error. | ||||||
|  | 	// This function should only be called after the channel in WaitChannel() | ||||||
|  | 	// is closed. Otherwise it is not thread safe. | ||||||
|  | 	WaitError() error | ||||||
| 	// Modify sends a request to modify container resources | 	// Modify sends a request to modify container resources | ||||||
| 	Modify(ctx context.Context, config interface{}) error | 	Modify(ctx context.Context, config interface{}) error | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										128
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										128
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -87,7 +87,7 @@ var ( | |||||||
| 	// ErrProcessAlreadyStopped is returned by hcs if the process we're trying to kill has already been stopped. | 	// ErrProcessAlreadyStopped is returned by hcs if the process we're trying to kill has already been stopped. | ||||||
| 	ErrProcessAlreadyStopped = syscall.Errno(0x8037011f) | 	ErrProcessAlreadyStopped = syscall.Errno(0x8037011f) | ||||||
|  |  | ||||||
| 	// ErrInvalidHandle is an error that can be encountrered when querying the properties of a compute system when the handle to that | 	// ErrInvalidHandle is an error that can be encountered when querying the properties of a compute system when the handle to that | ||||||
| 	// compute system has already been closed. | 	// compute system has already been closed. | ||||||
| 	ErrInvalidHandle = syscall.Errno(0x6) | 	ErrInvalidHandle = syscall.Errno(0x6) | ||||||
| ) | ) | ||||||
| @@ -157,33 +157,38 @@ func (e *HcsError) Error() string { | |||||||
| 	return s | 	return s | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (e *HcsError) Is(target error) bool { | ||||||
|  | 	return errors.Is(e.Err, target) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // unwrap isnt really needed, but helpful convince function | ||||||
|  |  | ||||||
|  | func (e *HcsError) Unwrap() error { | ||||||
|  | 	return e.Err | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Deprecated: net.Error.Temporary is deprecated. | ||||||
| func (e *HcsError) Temporary() bool { | func (e *HcsError) Temporary() bool { | ||||||
| 	err, ok := e.Err.(net.Error) | 	err := e.netError() | ||||||
| 	return ok && err.Temporary() | 	return (err != nil) && err.Temporary() | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e *HcsError) Timeout() bool { | func (e *HcsError) Timeout() bool { | ||||||
| 	err, ok := e.Err.(net.Error) | 	err := e.netError() | ||||||
| 	return ok && err.Timeout() | 	return (err != nil) && err.Timeout() | ||||||
| } | } | ||||||
|  |  | ||||||
| // ProcessError is an error encountered in HCS during an operation on a Process object | func (e *HcsError) netError() (err net.Error) { | ||||||
| type ProcessError struct { | 	if errors.As(e.Unwrap(), &err) { | ||||||
| 	SystemID string | 		return err | ||||||
| 	Pid      int | 	} | ||||||
| 	Op       string | 	return nil | ||||||
| 	Err      error |  | ||||||
| 	Events   []ErrorEvent |  | ||||||
| } | } | ||||||
|  |  | ||||||
| var _ net.Error = &ProcessError{} |  | ||||||
|  |  | ||||||
| // SystemError is an error encountered in HCS during an operation on a Container object | // SystemError is an error encountered in HCS during an operation on a Container object | ||||||
| type SystemError struct { | type SystemError struct { | ||||||
|  | 	HcsError | ||||||
| 	ID string | 	ID string | ||||||
| 	Op     string |  | ||||||
| 	Err    error |  | ||||||
| 	Events []ErrorEvent |  | ||||||
| } | } | ||||||
|  |  | ||||||
| var _ net.Error = &SystemError{} | var _ net.Error = &SystemError{} | ||||||
| @@ -196,29 +201,32 @@ func (e *SystemError) Error() string { | |||||||
| 	return s | 	return s | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e *SystemError) Temporary() bool { |  | ||||||
| 	err, ok := e.Err.(net.Error) |  | ||||||
| 	return ok && err.Temporary() |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (e *SystemError) Timeout() bool { |  | ||||||
| 	err, ok := e.Err.(net.Error) |  | ||||||
| 	return ok && err.Timeout() |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func makeSystemError(system *System, op string, err error, events []ErrorEvent) error { | func makeSystemError(system *System, op string, err error, events []ErrorEvent) error { | ||||||
| 	// Don't double wrap errors | 	// Don't double wrap errors | ||||||
| 	if _, ok := err.(*SystemError); ok { | 	var e *SystemError | ||||||
|  | 	if errors.As(err, &e) { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return &SystemError{ | 	return &SystemError{ | ||||||
| 		ID: system.ID(), | 		ID: system.ID(), | ||||||
|  | 		HcsError: HcsError{ | ||||||
| 			Op:     op, | 			Op:     op, | ||||||
| 			Err:    err, | 			Err:    err, | ||||||
| 			Events: events, | 			Events: events, | ||||||
|  | 		}, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // ProcessError is an error encountered in HCS during an operation on a Process object | ||||||
|  | type ProcessError struct { | ||||||
|  | 	HcsError | ||||||
|  | 	SystemID string | ||||||
|  | 	Pid      int | ||||||
|  | } | ||||||
|  |  | ||||||
|  | var _ net.Error = &ProcessError{} | ||||||
|  |  | ||||||
| func (e *ProcessError) Error() string { | func (e *ProcessError) Error() string { | ||||||
| 	s := fmt.Sprintf("%s %s:%d: %s", e.Op, e.SystemID, e.Pid, e.Err.Error()) | 	s := fmt.Sprintf("%s %s:%d: %s", e.Op, e.SystemID, e.Pid, e.Err.Error()) | ||||||
| 	for _, ev := range e.Events { | 	for _, ev := range e.Events { | ||||||
| @@ -227,27 +235,20 @@ func (e *ProcessError) Error() string { | |||||||
| 	return s | 	return s | ||||||
| } | } | ||||||
|  |  | ||||||
| func (e *ProcessError) Temporary() bool { |  | ||||||
| 	err, ok := e.Err.(net.Error) |  | ||||||
| 	return ok && err.Temporary() |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (e *ProcessError) Timeout() bool { |  | ||||||
| 	err, ok := e.Err.(net.Error) |  | ||||||
| 	return ok && err.Timeout() |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func makeProcessError(process *Process, op string, err error, events []ErrorEvent) error { | func makeProcessError(process *Process, op string, err error, events []ErrorEvent) error { | ||||||
| 	// Don't double wrap errors | 	// Don't double wrap errors | ||||||
| 	if _, ok := err.(*ProcessError); ok { | 	var e *ProcessError | ||||||
|  | 	if errors.As(err, &e) { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	return &ProcessError{ | 	return &ProcessError{ | ||||||
| 		Pid:      process.Pid(), | 		Pid:      process.Pid(), | ||||||
| 		SystemID: process.SystemID(), | 		SystemID: process.SystemID(), | ||||||
|  | 		HcsError: HcsError{ | ||||||
| 			Op:     op, | 			Op:     op, | ||||||
| 			Err:    err, | 			Err:    err, | ||||||
| 			Events: events, | 			Events: events, | ||||||
|  | 		}, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -256,41 +257,41 @@ func makeProcessError(process *Process, op string, err error, events []ErrorEven | |||||||
| // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist | // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist | ||||||
| // will currently return true when the error is ErrElementNotFound. | // will currently return true when the error is ErrElementNotFound. | ||||||
| func IsNotExist(err error) bool { | func IsNotExist(err error) bool { | ||||||
| 	err = getInnerError(err) | 	return IsAny(err, ErrComputeSystemDoesNotExist, ErrElementNotFound) | ||||||
| 	return errors.Is(err, ErrComputeSystemDoesNotExist) || |  | ||||||
| 		errors.Is(err, ErrElementNotFound) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsErrorInvalidHandle checks whether the error is the result of an operation carried | // IsErrorInvalidHandle checks whether the error is the result of an operation carried | ||||||
| // out on a handle that is invalid/closed. This error popped up while trying to query | // out on a handle that is invalid/closed. This error popped up while trying to query | ||||||
| // stats on a container in the process of being stopped. | // stats on a container in the process of being stopped. | ||||||
| func IsErrorInvalidHandle(err error) bool { | func IsErrorInvalidHandle(err error) bool { | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	return errors.Is(err, ErrInvalidHandle) | 	return errors.Is(err, ErrInvalidHandle) | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsAlreadyClosed checks if an error is caused by the Container or Process having been | // IsAlreadyClosed checks if an error is caused by the Container or Process having been | ||||||
| // already closed by a call to the Close() method. | // already closed by a call to the Close() method. | ||||||
| func IsAlreadyClosed(err error) bool { | func IsAlreadyClosed(err error) bool { | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	return errors.Is(err, ErrAlreadyClosed) | 	return errors.Is(err, ErrAlreadyClosed) | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsPending returns a boolean indicating whether the error is that | // IsPending returns a boolean indicating whether the error is that | ||||||
| // the requested operation is being completed in the background. | // the requested operation is being completed in the background. | ||||||
| func IsPending(err error) bool { | func IsPending(err error) bool { | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	return errors.Is(err, ErrVmcomputeOperationPending) | 	return errors.Is(err, ErrVmcomputeOperationPending) | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsTimeout returns a boolean indicating whether the error is caused by | // IsTimeout returns a boolean indicating whether the error is caused by | ||||||
| // a timeout waiting for the operation to complete. | // a timeout waiting for the operation to complete. | ||||||
| func IsTimeout(err error) bool { | func IsTimeout(err error) bool { | ||||||
| 	if err, ok := err.(net.Error); ok && err.Timeout() { | 	// HcsError and co. implement Timeout regardless of whether the errors they wrap do, | ||||||
|  | 	// so `errors.As(err, net.Error)`` will always be true. | ||||||
|  | 	// Using `errors.As(err.Unwrap(), net.Err)` wont work for general errors. | ||||||
|  | 	// So first check if there an `ErrTimeout` in the chain, then convert to a net error. | ||||||
|  | 	if errors.Is(err, ErrTimeout) { | ||||||
| 		return true | 		return true | ||||||
| 	} | 	} | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	return errors.Is(err, ErrTimeout) | 	var nerr net.Error | ||||||
|  | 	return errors.As(err, &nerr) && nerr.Timeout() | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsAlreadyStopped returns a boolean indicating whether the error is caused by | // IsAlreadyStopped returns a boolean indicating whether the error is caused by | ||||||
| @@ -299,10 +300,7 @@ func IsTimeout(err error) bool { | |||||||
| // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist | // already exited, or does not exist. Both IsAlreadyStopped and IsNotExist | ||||||
| // will currently return true when the error is ErrElementNotFound. | // will currently return true when the error is ErrElementNotFound. | ||||||
| func IsAlreadyStopped(err error) bool { | func IsAlreadyStopped(err error) bool { | ||||||
| 	err = getInnerError(err) | 	return IsAny(err, ErrVmcomputeAlreadyStopped, ErrProcessAlreadyStopped, ErrElementNotFound) | ||||||
| 	return errors.Is(err, ErrVmcomputeAlreadyStopped) || |  | ||||||
| 		errors.Is(err, ErrProcessAlreadyStopped) || |  | ||||||
| 		errors.Is(err, ErrElementNotFound) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsNotSupported returns a boolean indicating whether the error is caused by | // IsNotSupported returns a boolean indicating whether the error is caused by | ||||||
| @@ -311,38 +309,28 @@ func IsAlreadyStopped(err error) bool { | |||||||
| // ErrVmcomputeInvalidJSON, ErrInvalidData, ErrNotSupported or ErrVmcomputeUnknownMessage | // ErrVmcomputeInvalidJSON, ErrInvalidData, ErrNotSupported or ErrVmcomputeUnknownMessage | ||||||
| // is thrown from the Platform | // is thrown from the Platform | ||||||
| func IsNotSupported(err error) bool { | func IsNotSupported(err error) bool { | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	// If Platform doesn't recognize or support the request sent, below errors are seen | 	// If Platform doesn't recognize or support the request sent, below errors are seen | ||||||
| 	return errors.Is(err, ErrVmcomputeInvalidJSON) || | 	return IsAny(err, ErrVmcomputeInvalidJSON, ErrInvalidData, ErrNotSupported, ErrVmcomputeUnknownMessage) | ||||||
| 		errors.Is(err, ErrInvalidData) || |  | ||||||
| 		errors.Is(err, ErrNotSupported) || |  | ||||||
| 		errors.Is(err, ErrVmcomputeUnknownMessage) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsOperationInvalidState returns true when err is caused by | // IsOperationInvalidState returns true when err is caused by | ||||||
| // `ErrVmcomputeOperationInvalidState`. | // `ErrVmcomputeOperationInvalidState`. | ||||||
| func IsOperationInvalidState(err error) bool { | func IsOperationInvalidState(err error) bool { | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	return errors.Is(err, ErrVmcomputeOperationInvalidState) | 	return errors.Is(err, ErrVmcomputeOperationInvalidState) | ||||||
| } | } | ||||||
|  |  | ||||||
| // IsAccessIsDenied returns true when err is caused by | // IsAccessIsDenied returns true when err is caused by | ||||||
| // `ErrVmcomputeOperationAccessIsDenied`. | // `ErrVmcomputeOperationAccessIsDenied`. | ||||||
| func IsAccessIsDenied(err error) bool { | func IsAccessIsDenied(err error) bool { | ||||||
| 	err = getInnerError(err) |  | ||||||
| 	return errors.Is(err, ErrVmcomputeOperationAccessIsDenied) | 	return errors.Is(err, ErrVmcomputeOperationAccessIsDenied) | ||||||
| } | } | ||||||
|  |  | ||||||
| func getInnerError(err error) error { | // IsAny is a vectorized version of [errors.Is], it returns true if err is one of targets. | ||||||
| 	switch pe := err.(type) { | func IsAny(err error, targets ...error) bool { | ||||||
| 	case nil: | 	for _, e := range targets { | ||||||
| 		return nil | 		if errors.Is(err, e) { | ||||||
| 	case *HcsError: | 			return true | ||||||
| 		err = pe.Err |  | ||||||
| 	case *SystemError: |  | ||||||
| 		err = pe.Err |  | ||||||
| 	case *ProcessError: |  | ||||||
| 		err = pe.Err |  | ||||||
| 		} | 		} | ||||||
| 	return err | 	} | ||||||
|  | 	return false | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										99
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										99
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,6 +12,7 @@ import ( | |||||||
| 	"syscall" | 	"syscall" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"github.com/Microsoft/hcsshim/internal/cow" | ||||||
| 	"github.com/Microsoft/hcsshim/internal/log" | 	"github.com/Microsoft/hcsshim/internal/log" | ||||||
| 	"github.com/Microsoft/hcsshim/internal/oc" | 	"github.com/Microsoft/hcsshim/internal/oc" | ||||||
| 	"github.com/Microsoft/hcsshim/internal/vmcompute" | 	"github.com/Microsoft/hcsshim/internal/vmcompute" | ||||||
| @@ -38,6 +39,8 @@ type Process struct { | |||||||
| 	waitError      error | 	waitError      error | ||||||
| } | } | ||||||
|  |  | ||||||
|  | var _ cow.Process = &Process{} | ||||||
|  |  | ||||||
| func newProcess(process vmcompute.HcsProcess, processID int, computeSystem *System) *Process { | func newProcess(process vmcompute.HcsProcess, processID int, computeSystem *System) *Process { | ||||||
| 	return &Process{ | 	return &Process{ | ||||||
| 		handle:    process, | 		handle:    process, | ||||||
| @@ -91,10 +94,7 @@ func (process *Process) processSignalResult(ctx context.Context, err error) (boo | |||||||
| 	case nil: | 	case nil: | ||||||
| 		return true, nil | 		return true, nil | ||||||
| 	case ErrVmcomputeOperationInvalidState, ErrComputeSystemDoesNotExist, ErrElementNotFound: | 	case ErrVmcomputeOperationInvalidState, ErrComputeSystemDoesNotExist, ErrElementNotFound: | ||||||
| 		select { | 		if !process.stopped() { | ||||||
| 		case <-process.waitBlock: |  | ||||||
| 			// The process exit notification has already arrived. |  | ||||||
| 		default: |  | ||||||
| 			// The process should be gone, but we have not received the notification. | 			// The process should be gone, but we have not received the notification. | ||||||
| 			// After a second, force unblock the process wait to work around a possible | 			// After a second, force unblock the process wait to work around a possible | ||||||
| 			// deadlock in the HCS. | 			// deadlock in the HCS. | ||||||
| @@ -154,6 +154,10 @@ func (process *Process) Kill(ctx context.Context) (bool, error) { | |||||||
| 		return false, makeProcessError(process, operation, ErrAlreadyClosed, nil) | 		return false, makeProcessError(process, operation, ErrAlreadyClosed, nil) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if process.stopped() { | ||||||
|  | 		return false, makeProcessError(process, operation, ErrProcessAlreadyStopped, nil) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if process.killSignalDelivered { | 	if process.killSignalDelivered { | ||||||
| 		// A kill signal has already been sent to this process. Sending a second | 		// A kill signal has already been sent to this process. Sending a second | ||||||
| 		// one offers no real benefit, as processes cannot stop themselves from | 		// one offers no real benefit, as processes cannot stop themselves from | ||||||
| @@ -163,7 +167,39 @@ func (process *Process) Kill(ctx context.Context) (bool, error) { | |||||||
| 		return true, nil | 		return true, nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	resultJSON, err := vmcompute.HcsTerminateProcess(ctx, process.handle) | 	// HCS serializes the signals sent to a target pid per compute system handle. | ||||||
|  | 	// To avoid SIGKILL being serialized behind other signals, we open a new compute | ||||||
|  | 	// system handle to deliver the kill signal. | ||||||
|  | 	// If the calls to opening a new compute system handle fail, we forcefully | ||||||
|  | 	// terminate the container itself so that no container is left behind | ||||||
|  | 	hcsSystem, err := OpenComputeSystem(ctx, process.system.id) | ||||||
|  | 	if err != nil { | ||||||
|  | 		// log error and force termination of container | ||||||
|  | 		log.G(ctx).WithField("err", err).Error("OpenComputeSystem() call failed") | ||||||
|  | 		err = process.system.Terminate(ctx) | ||||||
|  | 		// if the Terminate() call itself ever failed, log and return error | ||||||
|  | 		if err != nil { | ||||||
|  | 			log.G(ctx).WithField("err", err).Error("Terminate() call failed") | ||||||
|  | 			return false, err | ||||||
|  | 		} | ||||||
|  | 		process.system.Close() | ||||||
|  | 		return true, nil | ||||||
|  | 	} | ||||||
|  | 	defer hcsSystem.Close() | ||||||
|  |  | ||||||
|  | 	newProcessHandle, err := hcsSystem.OpenProcess(ctx, process.Pid()) | ||||||
|  | 	if err != nil { | ||||||
|  | 		// Return true only if the target process has either already | ||||||
|  | 		// exited, or does not exist. | ||||||
|  | 		if IsAlreadyStopped(err) { | ||||||
|  | 			return true, nil | ||||||
|  | 		} else { | ||||||
|  | 			return false, err | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	defer newProcessHandle.Close() | ||||||
|  |  | ||||||
|  | 	resultJSON, err := vmcompute.HcsTerminateProcess(ctx, newProcessHandle.handle) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		// We still need to check these two cases, as processes may still be killed by an | 		// We still need to check these two cases, as processes may still be killed by an | ||||||
| 		// external actor (human operator, OOM, random script etc). | 		// external actor (human operator, OOM, random script etc). | ||||||
| @@ -187,9 +223,9 @@ func (process *Process) Kill(ctx context.Context) (bool, error) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	events := processHcsResult(ctx, resultJSON) | 	events := processHcsResult(ctx, resultJSON) | ||||||
| 	delivered, err := process.processSignalResult(ctx, err) | 	delivered, err := newProcessHandle.processSignalResult(ctx, err) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		err = makeProcessError(process, operation, err, events) | 		err = makeProcessError(newProcessHandle, operation, err, events) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	process.killSignalDelivered = delivered | 	process.killSignalDelivered = delivered | ||||||
| @@ -229,12 +265,12 @@ func (process *Process) waitBackground() { | |||||||
| 			propertiesJSON, resultJSON, err = vmcompute.HcsGetProcessProperties(ctx, process.handle) | 			propertiesJSON, resultJSON, err = vmcompute.HcsGetProcessProperties(ctx, process.handle) | ||||||
| 			events := processHcsResult(ctx, resultJSON) | 			events := processHcsResult(ctx, resultJSON) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				err = makeProcessError(process, operation, err, events) //nolint:ineffassign | 				err = makeProcessError(process, operation, err, events) | ||||||
| 			} else { | 			} else { | ||||||
| 				properties := &processStatus{} | 				properties := &processStatus{} | ||||||
| 				err = json.Unmarshal([]byte(propertiesJSON), properties) | 				err = json.Unmarshal([]byte(propertiesJSON), properties) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
| 					err = makeProcessError(process, operation, err, nil) //nolint:ineffassign | 					err = makeProcessError(process, operation, err, nil) | ||||||
| 				} else { | 				} else { | ||||||
| 					if properties.LastWaitResult != 0 { | 					if properties.LastWaitResult != 0 { | ||||||
| 						log.G(ctx).WithField("wait-result", properties.LastWaitResult).Warning("non-zero last wait result") | 						log.G(ctx).WithField("wait-result", properties.LastWaitResult).Warning("non-zero last wait result") | ||||||
| @@ -262,6 +298,16 @@ func (process *Process) Wait() error { | |||||||
| 	return process.waitError | 	return process.waitError | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // Exited returns if the process has stopped | ||||||
|  | func (process *Process) stopped() bool { | ||||||
|  | 	select { | ||||||
|  | 	case <-process.waitBlock: | ||||||
|  | 		return true | ||||||
|  | 	default: | ||||||
|  | 		return false | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| // ResizeConsole resizes the console of the process. | // ResizeConsole resizes the console of the process. | ||||||
| func (process *Process) ResizeConsole(ctx context.Context, width, height uint16) error { | func (process *Process) ResizeConsole(ctx context.Context, width, height uint16) error { | ||||||
| 	process.handleLock.RLock() | 	process.handleLock.RLock() | ||||||
| @@ -298,15 +344,13 @@ func (process *Process) ResizeConsole(ctx context.Context, width, height uint16) | |||||||
| // ExitCode returns the exit code of the process. The process must have | // ExitCode returns the exit code of the process. The process must have | ||||||
| // already terminated. | // already terminated. | ||||||
| func (process *Process) ExitCode() (int, error) { | func (process *Process) ExitCode() (int, error) { | ||||||
| 	select { | 	if !process.stopped() { | ||||||
| 	case <-process.waitBlock: | 		return -1, makeProcessError(process, "hcs::Process::ExitCode", ErrInvalidProcessState, nil) | ||||||
|  | 	} | ||||||
| 	if process.waitError != nil { | 	if process.waitError != nil { | ||||||
| 		return -1, process.waitError | 		return -1, process.waitError | ||||||
| 	} | 	} | ||||||
| 	return process.exitCode, nil | 	return process.exitCode, nil | ||||||
| 	default: |  | ||||||
| 		return -1, makeProcessError(process, "hcs::Process::ExitCode", ErrInvalidProcessState, nil) |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // StdioLegacy returns the stdin, stdout, and stderr pipes, respectively. Closing | // StdioLegacy returns the stdin, stdout, and stderr pipes, respectively. Closing | ||||||
| @@ -352,7 +396,7 @@ func (process *Process) StdioLegacy() (_ io.WriteCloser, _ io.ReadCloser, _ io.R | |||||||
| } | } | ||||||
|  |  | ||||||
| // Stdio returns the stdin, stdout, and stderr pipes, respectively. | // Stdio returns the stdin, stdout, and stderr pipes, respectively. | ||||||
| // To close them, close the process handle. | // To close them, close the process handle, or use the `CloseStd*` functions. | ||||||
| func (process *Process) Stdio() (stdin io.Writer, stdout, stderr io.Reader) { | func (process *Process) Stdio() (stdin io.Writer, stdout, stderr io.Reader) { | ||||||
| 	process.stdioLock.Lock() | 	process.stdioLock.Lock() | ||||||
| 	defer process.stdioLock.Unlock() | 	defer process.stdioLock.Unlock() | ||||||
| @@ -361,16 +405,30 @@ func (process *Process) Stdio() (stdin io.Writer, stdout, stderr io.Reader) { | |||||||
|  |  | ||||||
| // CloseStdin closes the write side of the stdin pipe so that the process is | // CloseStdin closes the write side of the stdin pipe so that the process is | ||||||
| // notified on the read side that there is no more data in stdin. | // notified on the read side that there is no more data in stdin. | ||||||
| func (process *Process) CloseStdin(ctx context.Context) error { | func (process *Process) CloseStdin(ctx context.Context) (err error) { | ||||||
|  | 	operation := "hcs::Process::CloseStdin" | ||||||
|  | 	ctx, span := trace.StartSpan(ctx, operation) | ||||||
|  | 	defer span.End() | ||||||
|  | 	defer func() { oc.SetSpanStatus(span, err) }() | ||||||
|  | 	span.AddAttributes( | ||||||
|  | 		trace.StringAttribute("cid", process.SystemID()), | ||||||
|  | 		trace.Int64Attribute("pid", int64(process.processID))) | ||||||
|  |  | ||||||
| 	process.handleLock.RLock() | 	process.handleLock.RLock() | ||||||
| 	defer process.handleLock.RUnlock() | 	defer process.handleLock.RUnlock() | ||||||
|  |  | ||||||
| 	operation := "hcs::Process::CloseStdin" |  | ||||||
|  |  | ||||||
| 	if process.handle == 0 { | 	if process.handle == 0 { | ||||||
| 		return makeProcessError(process, operation, ErrAlreadyClosed, nil) | 		return makeProcessError(process, operation, ErrAlreadyClosed, nil) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	process.stdioLock.Lock() | ||||||
|  | 	defer process.stdioLock.Unlock() | ||||||
|  | 	if process.stdin == nil { | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	//HcsModifyProcess request to close stdin will fail if the process has already exited | ||||||
|  | 	if !process.stopped() { | ||||||
| 		modifyRequest := processModifyRequest{ | 		modifyRequest := processModifyRequest{ | ||||||
| 			Operation: modifyCloseHandle, | 			Operation: modifyCloseHandle, | ||||||
| 			CloseHandle: &closeHandle{ | 			CloseHandle: &closeHandle{ | ||||||
| @@ -388,13 +446,10 @@ func (process *Process) CloseStdin(ctx context.Context) error { | |||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return makeProcessError(process, operation, err, events) | 			return makeProcessError(process, operation, err, events) | ||||||
| 		} | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	process.stdioLock.Lock() |  | ||||||
| 	if process.stdin != nil { |  | ||||||
| 	process.stdin.Close() | 	process.stdin.Close() | ||||||
| 	process.stdin = nil | 	process.stdin = nil | ||||||
| 	} |  | ||||||
| 	process.stdioLock.Unlock() |  | ||||||
|  |  | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/debug_options.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/debug_options.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.1 | ||||||
|  |  * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | package hcsschema | ||||||
|  |  | ||||||
|  | type DebugOptions struct { | ||||||
|  | 	// BugcheckSavedStateFileName is the path for the file in which the guest VM state will be saved when | ||||||
|  | 	// the guest crashes. | ||||||
|  | 	BugcheckSavedStateFileName string `json:"BugcheckSavedStateFileName,omitempty"` | ||||||
|  | 	// BugcheckNoCrashdumpSavedStateFileName is the path of the file in which the guest VM state will be | ||||||
|  | 	// saved when the guest crashes but the guest isn't able to generate the crash dump. This usually | ||||||
|  | 	// happens in early boot failures. | ||||||
|  | 	BugcheckNoCrashdumpSavedStateFileName string `json:"BugcheckNoCrashdumpSavedStateFileName,omitempty"` | ||||||
|  | 	TripleFaultSavedStateFileName         string `json:"TripleFaultSavedStateFileName,omitempty"` | ||||||
|  | 	FirmwareDumpFileName                  string `json:"FirmwareDumpFileName,omitempty"` | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/virtual_machine.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/virtual_machine.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -31,4 +31,6 @@ type VirtualMachine struct { | |||||||
| 	GuestConnection *GuestConnection `json:"GuestConnection,omitempty"` | 	GuestConnection *GuestConnection `json:"GuestConnection,omitempty"` | ||||||
|  |  | ||||||
| 	SecuritySettings *SecuritySettings `json:"SecuritySettings,omitempty"` | 	SecuritySettings *SecuritySettings `json:"SecuritySettings,omitempty"` | ||||||
|  |  | ||||||
|  | 	DebugOptions *DebugOptions `json:"DebugOptions,omitempty"` | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										75
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										75
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -39,6 +39,9 @@ type System struct { | |||||||
| 	startTime      time.Time | 	startTime      time.Time | ||||||
| } | } | ||||||
|  |  | ||||||
|  | var _ cow.Container = &System{} | ||||||
|  | var _ cow.ProcessHost = &System{} | ||||||
|  |  | ||||||
| func newSystem(id string) *System { | func newSystem(id string) *System { | ||||||
| 	return &System{ | 	return &System{ | ||||||
| 		id:        id, | 		id:        id, | ||||||
| @@ -91,7 +94,8 @@ func CreateComputeSystem(ctx context.Context, id string, hcsDocumentInterface in | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	events, err := processAsyncHcsResult(ctx, createError, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemCreateCompleted, &timeout.SystemCreate) | 	events, err := processAsyncHcsResult(ctx, createError, resultJSON, computeSystem.callbackNumber, | ||||||
|  | 		hcsNotificationSystemCreateCompleted, &timeout.SystemCreate) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		if err == ErrTimeout { | 		if err == ErrTimeout { | ||||||
| 			// Terminate the compute system if it still exists. We're okay to | 			// Terminate the compute system if it still exists. We're okay to | ||||||
| @@ -200,12 +204,15 @@ func (computeSystem *System) Start(ctx context.Context) (err error) { | |||||||
| 	computeSystem.handleLock.RLock() | 	computeSystem.handleLock.RLock() | ||||||
| 	defer computeSystem.handleLock.RUnlock() | 	defer computeSystem.handleLock.RUnlock() | ||||||
|  |  | ||||||
|  | 	// prevent starting an exited system because waitblock we do not recreate waitBlock | ||||||
|  | 	// or rerun waitBackground, so we have no way to be notified of it closing again | ||||||
| 	if computeSystem.handle == 0 { | 	if computeSystem.handle == 0 { | ||||||
| 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | 		return makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	resultJSON, err := vmcompute.HcsStartComputeSystem(ctx, computeSystem.handle, "") | 	resultJSON, err := vmcompute.HcsStartComputeSystem(ctx, computeSystem.handle, "") | ||||||
| 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemStartCompleted, &timeout.SystemStart) | 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, | ||||||
|  | 		hcsNotificationSystemStartCompleted, &timeout.SystemStart) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return makeSystemError(computeSystem, operation, err, events) | 		return makeSystemError(computeSystem, operation, err, events) | ||||||
| 	} | 	} | ||||||
| @@ -225,7 +232,7 @@ func (computeSystem *System) Shutdown(ctx context.Context) error { | |||||||
|  |  | ||||||
| 	operation := "hcs::System::Shutdown" | 	operation := "hcs::System::Shutdown" | ||||||
|  |  | ||||||
| 	if computeSystem.handle == 0 { | 	if computeSystem.handle == 0 || computeSystem.stopped() { | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -246,7 +253,7 @@ func (computeSystem *System) Terminate(ctx context.Context) error { | |||||||
|  |  | ||||||
| 	operation := "hcs::System::Terminate" | 	operation := "hcs::System::Terminate" | ||||||
|  |  | ||||||
| 	if computeSystem.handle == 0 { | 	if computeSystem.handle == 0 || computeSystem.stopped() { | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -289,24 +296,40 @@ func (computeSystem *System) waitBackground() { | |||||||
| 	oc.SetSpanStatus(span, err) | 	oc.SetSpanStatus(span, err) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (computeSystem *System) WaitChannel() <-chan struct{} { | ||||||
|  | 	return computeSystem.waitBlock | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (computeSystem *System) WaitError() error { | ||||||
|  | 	return computeSystem.waitError | ||||||
|  | } | ||||||
|  |  | ||||||
| // Wait synchronously waits for the compute system to shutdown or terminate. If | // Wait synchronously waits for the compute system to shutdown or terminate. If | ||||||
| // the compute system has already exited returns the previous error (if any). | // the compute system has already exited returns the previous error (if any). | ||||||
| func (computeSystem *System) Wait() error { | func (computeSystem *System) Wait() error { | ||||||
| 	<-computeSystem.waitBlock | 	<-computeSystem.WaitChannel() | ||||||
| 	return computeSystem.waitError | 	return computeSystem.WaitError() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // stopped returns true if the compute system stopped. | ||||||
|  | func (computeSystem *System) stopped() bool { | ||||||
|  | 	select { | ||||||
|  | 	case <-computeSystem.waitBlock: | ||||||
|  | 		return true | ||||||
|  | 	default: | ||||||
|  | 	} | ||||||
|  | 	return false | ||||||
| } | } | ||||||
|  |  | ||||||
| // ExitError returns an error describing the reason the compute system terminated. | // ExitError returns an error describing the reason the compute system terminated. | ||||||
| func (computeSystem *System) ExitError() error { | func (computeSystem *System) ExitError() error { | ||||||
| 	select { | 	if !computeSystem.stopped() { | ||||||
| 	case <-computeSystem.waitBlock: | 		return errors.New("container not exited") | ||||||
|  | 	} | ||||||
| 	if computeSystem.waitError != nil { | 	if computeSystem.waitError != nil { | ||||||
| 		return computeSystem.waitError | 		return computeSystem.waitError | ||||||
| 	} | 	} | ||||||
| 	return computeSystem.exitError | 	return computeSystem.exitError | ||||||
| 	default: |  | ||||||
| 		return errors.New("container not exited") |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // Properties returns the requested container properties targeting a V1 schema container. | // Properties returns the requested container properties targeting a V1 schema container. | ||||||
| @@ -316,6 +339,10 @@ func (computeSystem *System) Properties(ctx context.Context, types ...schema1.Pr | |||||||
|  |  | ||||||
| 	operation := "hcs::System::Properties" | 	operation := "hcs::System::Properties" | ||||||
|  |  | ||||||
|  | 	if computeSystem.handle == 0 { | ||||||
|  | 		return nil, makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	queryBytes, err := json.Marshal(schema1.PropertyQuery{PropertyTypes: types}) | 	queryBytes, err := json.Marshal(schema1.PropertyQuery{PropertyTypes: types}) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||||
| @@ -343,7 +370,11 @@ func (computeSystem *System) Properties(ctx context.Context, types ...schema1.Pr | |||||||
| // failed to be queried they will be tallied up and returned in as the first return value. Failures on | // failed to be queried they will be tallied up and returned in as the first return value. Failures on | ||||||
| // query are NOT considered errors; the only failure case for this method is if the containers job object | // query are NOT considered errors; the only failure case for this method is if the containers job object | ||||||
| // cannot be opened. | // cannot be opened. | ||||||
| func (computeSystem *System) queryInProc(ctx context.Context, props *hcsschema.Properties, types []hcsschema.PropertyType) ([]hcsschema.PropertyType, error) { | func (computeSystem *System) queryInProc( | ||||||
|  | 	ctx context.Context, | ||||||
|  | 	props *hcsschema.Properties, | ||||||
|  | 	types []hcsschema.PropertyType, | ||||||
|  | ) ([]hcsschema.PropertyType, error) { | ||||||
| 	// In the future we can make use of some new functionality in the HCS that allows you | 	// In the future we can make use of some new functionality in the HCS that allows you | ||||||
| 	// to pass a job object for HCS to use for the container. Currently, the only way we'll | 	// to pass a job object for HCS to use for the container. Currently, the only way we'll | ||||||
| 	// be able to open the job/silo is if we're running as SYSTEM. | 	// be able to open the job/silo is if we're running as SYSTEM. | ||||||
| @@ -409,7 +440,7 @@ func (computeSystem *System) statisticsInProc(job *jobobject.JobObject) (*hcssch | |||||||
| 	// as well which isn't great and is wasted work to fetch. | 	// as well which isn't great and is wasted work to fetch. | ||||||
| 	// | 	// | ||||||
| 	// HCS only let's you grab statistics in an all or nothing fashion, so we can't just grab the private | 	// HCS only let's you grab statistics in an all or nothing fashion, so we can't just grab the private | ||||||
| 	// working set ourselves and ask for everything else seperately. The optimization we can make here is | 	// working set ourselves and ask for everything else separately. The optimization we can make here is | ||||||
| 	// to open the silo ourselves and do the same queries for the rest of the info, as well as calculating | 	// to open the silo ourselves and do the same queries for the rest of the info, as well as calculating | ||||||
| 	// the private working set in a more efficient manner by: | 	// the private working set in a more efficient manner by: | ||||||
| 	// | 	// | ||||||
| @@ -449,6 +480,10 @@ func (computeSystem *System) statisticsInProc(job *jobobject.JobObject) (*hcssch | |||||||
| func (computeSystem *System) hcsPropertiesV2Query(ctx context.Context, types []hcsschema.PropertyType) (*hcsschema.Properties, error) { | func (computeSystem *System) hcsPropertiesV2Query(ctx context.Context, types []hcsschema.PropertyType) (*hcsschema.Properties, error) { | ||||||
| 	operation := "hcs::System::PropertiesV2" | 	operation := "hcs::System::PropertiesV2" | ||||||
|  |  | ||||||
|  | 	if computeSystem.handle == 0 { | ||||||
|  | 		return nil, makeSystemError(computeSystem, operation, ErrAlreadyClosed, nil) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	queryBytes, err := json.Marshal(hcsschema.PropertyQuery{PropertyTypes: types}) | 	queryBytes, err := json.Marshal(hcsschema.PropertyQuery{PropertyTypes: types}) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, makeSystemError(computeSystem, operation, err, nil) | 		return nil, makeSystemError(computeSystem, operation, err, nil) | ||||||
| @@ -529,7 +564,7 @@ func (computeSystem *System) PropertiesV2(ctx context.Context, types ...hcsschem | |||||||
| func (computeSystem *System) Pause(ctx context.Context) (err error) { | func (computeSystem *System) Pause(ctx context.Context) (err error) { | ||||||
| 	operation := "hcs::System::Pause" | 	operation := "hcs::System::Pause" | ||||||
|  |  | ||||||
| 	// hcsPauseComputeSystemContext is an async peration. Start the outer span | 	// hcsPauseComputeSystemContext is an async operation. Start the outer span | ||||||
| 	// here to measure the full pause time. | 	// here to measure the full pause time. | ||||||
| 	ctx, span := oc.StartSpan(ctx, operation) | 	ctx, span := oc.StartSpan(ctx, operation) | ||||||
| 	defer span.End() | 	defer span.End() | ||||||
| @@ -544,7 +579,8 @@ func (computeSystem *System) Pause(ctx context.Context) (err error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	resultJSON, err := vmcompute.HcsPauseComputeSystem(ctx, computeSystem.handle, "") | 	resultJSON, err := vmcompute.HcsPauseComputeSystem(ctx, computeSystem.handle, "") | ||||||
| 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemPauseCompleted, &timeout.SystemPause) | 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, | ||||||
|  | 		hcsNotificationSystemPauseCompleted, &timeout.SystemPause) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return makeSystemError(computeSystem, operation, err, events) | 		return makeSystemError(computeSystem, operation, err, events) | ||||||
| 	} | 	} | ||||||
| @@ -571,7 +607,8 @@ func (computeSystem *System) Resume(ctx context.Context) (err error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	resultJSON, err := vmcompute.HcsResumeComputeSystem(ctx, computeSystem.handle, "") | 	resultJSON, err := vmcompute.HcsResumeComputeSystem(ctx, computeSystem.handle, "") | ||||||
| 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, hcsNotificationSystemResumeCompleted, &timeout.SystemResume) | 	events, err := processAsyncHcsResult(ctx, err, resultJSON, computeSystem.callbackNumber, | ||||||
|  | 		hcsNotificationSystemResumeCompleted, &timeout.SystemResume) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return makeSystemError(computeSystem, operation, err, events) | 		return makeSystemError(computeSystem, operation, err, events) | ||||||
| 	} | 	} | ||||||
| @@ -603,7 +640,8 @@ func (computeSystem *System) Save(ctx context.Context, options interface{}) (err | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	result, err := vmcompute.HcsSaveComputeSystem(ctx, computeSystem.handle, string(saveOptions)) | 	result, err := vmcompute.HcsSaveComputeSystem(ctx, computeSystem.handle, string(saveOptions)) | ||||||
| 	events, err := processAsyncHcsResult(ctx, err, result, computeSystem.callbackNumber, hcsNotificationSystemSaveCompleted, &timeout.SystemSave) | 	events, err := processAsyncHcsResult(ctx, err, result, computeSystem.callbackNumber, | ||||||
|  | 		hcsNotificationSystemSaveCompleted, &timeout.SystemSave) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return makeSystemError(computeSystem, operation, err, events) | 		return makeSystemError(computeSystem, operation, err, events) | ||||||
| 	} | 	} | ||||||
| @@ -742,7 +780,8 @@ func (computeSystem *System) registerCallback(ctx context.Context) error { | |||||||
| 	callbackMap[callbackNumber] = callbackContext | 	callbackMap[callbackNumber] = callbackContext | ||||||
| 	callbackMapLock.Unlock() | 	callbackMapLock.Unlock() | ||||||
|  |  | ||||||
| 	callbackHandle, err := vmcompute.HcsRegisterComputeSystemCallback(ctx, computeSystem.handle, notificationWatcherCallback, callbackNumber) | 	callbackHandle, err := vmcompute.HcsRegisterComputeSystemCallback(ctx, computeSystem.handle, | ||||||
|  | 		notificationWatcherCallback, callbackNumber) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcs/waithelper.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,7 +9,14 @@ import ( | |||||||
| 	"github.com/Microsoft/hcsshim/internal/log" | 	"github.com/Microsoft/hcsshim/internal/log" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func processAsyncHcsResult(ctx context.Context, err error, resultJSON string, callbackNumber uintptr, expectedNotification hcsNotification, timeout *time.Duration) ([]ErrorEvent, error) { | func processAsyncHcsResult( | ||||||
|  | 	ctx context.Context, | ||||||
|  | 	err error, | ||||||
|  | 	resultJSON string, | ||||||
|  | 	callbackNumber uintptr, | ||||||
|  | 	expectedNotification hcsNotification, | ||||||
|  | 	timeout *time.Duration, | ||||||
|  | ) ([]ErrorEvent, error) { | ||||||
| 	events := processHcsResult(ctx, resultJSON) | 	events := processHcsResult(ctx, resultJSON) | ||||||
| 	if IsPending(err) { | 	if IsPending(err) { | ||||||
| 		return nil, waitForNotification(ctx, callbackNumber, expectedNotification, timeout) | 		return nil, waitForNotification(ctx, callbackNumber, expectedNotification, timeout) | ||||||
| @@ -18,7 +25,12 @@ func processAsyncHcsResult(ctx context.Context, err error, resultJSON string, ca | |||||||
| 	return events, err | 	return events, err | ||||||
| } | } | ||||||
|  |  | ||||||
| func waitForNotification(ctx context.Context, callbackNumber uintptr, expectedNotification hcsNotification, timeout *time.Duration) error { | func waitForNotification( | ||||||
|  | 	ctx context.Context, | ||||||
|  | 	callbackNumber uintptr, | ||||||
|  | 	expectedNotification hcsNotification, | ||||||
|  | 	timeout *time.Duration, | ||||||
|  | ) error { | ||||||
| 	callbackMapLock.RLock() | 	callbackMapLock.RLock() | ||||||
| 	if _, ok := callbackMap[callbackNumber]; !ok { | 	if _, ok := callbackMap[callbackNumber]; !ok { | ||||||
| 		callbackMapLock.RUnlock() | 		callbackMapLock.RUnlock() | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcserror/hcserror.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hcserror/hcserror.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,11 +3,11 @@ | |||||||
| package hcserror | package hcserror | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
|  | 	"errors" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"syscall" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| const ERROR_GEN_FAILURE = syscall.Errno(31) | 	"golang.org/x/sys/windows" | ||||||
|  | ) | ||||||
|  |  | ||||||
| type HcsError struct { | type HcsError struct { | ||||||
| 	title string | 	title string | ||||||
| @@ -32,18 +32,21 @@ func (e *HcsError) Error() string { | |||||||
|  |  | ||||||
| func New(err error, title, rest string) error { | func New(err error, title, rest string) error { | ||||||
| 	// Pass through DLL errors directly since they do not originate from HCS. | 	// Pass through DLL errors directly since they do not originate from HCS. | ||||||
| 	if _, ok := err.(*syscall.DLLError); ok { | 	var e *windows.DLLError | ||||||
|  | 	if errors.As(err, &e) { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	return &HcsError{title, rest, err} | 	return &HcsError{title, rest, err} | ||||||
| } | } | ||||||
|  |  | ||||||
| func Win32FromError(err error) uint32 { | func Win32FromError(err error) uint32 { | ||||||
| 	if herr, ok := err.(*HcsError); ok { | 	var herr *HcsError | ||||||
|  | 	if errors.As(err, &herr) { | ||||||
| 		return Win32FromError(herr.Err) | 		return Win32FromError(herr.Err) | ||||||
| 	} | 	} | ||||||
| 	if code, ok := err.(syscall.Errno); ok { | 	var code windows.Errno | ||||||
|  | 	if errors.As(err, &code) { | ||||||
| 		return uint32(code) | 		return uint32(code) | ||||||
| 	} | 	} | ||||||
| 	return uint32(ERROR_GEN_FAILURE) | 	return uint32(windows.ERROR_GEN_FAILURE) | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/hns.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/hns.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,7 @@ package hns | |||||||
|  |  | ||||||
| import "fmt" | import "fmt" | ||||||
|  |  | ||||||
| //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go hns.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go hns.go | ||||||
|  |  | ||||||
| //sys _hnsCall(method string, path string, object string, response **uint16) (hr error) = vmcompute.HNSCall? | //sys _hnsCall(method string, path string, object string, response **uint16) (hr error) = vmcompute.HNSCall? | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/hnsendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/hnsendpoint.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -36,7 +36,7 @@ type HNSEndpoint struct { | |||||||
| 	SharedContainers   []string          `json:",omitempty"` | 	SharedContainers   []string          `json:",omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| //SystemType represents the type of the system on which actions are done | // SystemType represents the type of the system on which actions are done | ||||||
| type SystemType string | type SystemType string | ||||||
|  |  | ||||||
| // SystemType const | // SystemType const | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/Microsoft/hcsshim/internal/hns/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package hns | package hns | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
| @@ -62,7 +65,8 @@ func _hnsCall(method string, path string, object string, response **uint16) (hr | |||||||
| } | } | ||||||
|  |  | ||||||
| func __hnsCall(method *uint16, path *uint16, object *uint16, response **uint16) (hr error) { | func __hnsCall(method *uint16, path *uint16, object *uint16, response **uint16) (hr error) { | ||||||
| 	if hr = procHNSCall.Find(); hr != nil { | 	hr = procHNSCall.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procHNSCall.Addr(), 4, uintptr(unsafe.Pointer(method)), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(object)), uintptr(unsafe.Pointer(response)), 0, 0) | 	r0, _, _ := syscall.Syscall6(procHNSCall.Addr(), 4, uintptr(unsafe.Pointer(method)), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(object)), uintptr(unsafe.Pointer(response)), 0, 0) | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/interop/interop.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/interop/interop.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,7 +7,7 @@ import ( | |||||||
| 	"unsafe" | 	"unsafe" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go interop.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go interop.go | ||||||
|  |  | ||||||
| //sys coTaskMemFree(buffer unsafe.Pointer) = api_ms_win_core_com_l1_1_0.CoTaskMemFree | //sys coTaskMemFree(buffer unsafe.Pointer) = api_ms_win_core_com_l1_1_0.CoTaskMemFree | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/interop/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/interop/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package interop | package interop | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/jobobject/jobobject.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/Microsoft/hcsshim/internal/jobobject/jobobject.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -471,7 +471,7 @@ func (job *JobObject) QueryStorageStats() (*winapi.JOBOBJECT_IO_ATTRIBUTION_INFO | |||||||
| // ApplyFileBinding makes a file binding using the Bind Filter from target to root. If the job has | // ApplyFileBinding makes a file binding using the Bind Filter from target to root. If the job has | ||||||
| // not been upgraded to a silo this call will fail. The binding is only applied and visible for processes | // not been upgraded to a silo this call will fail. The binding is only applied and visible for processes | ||||||
| // running in the job, any processes on the host or in another job will not be able to see the binding. | // running in the job, any processes on the host or in another job will not be able to see the binding. | ||||||
| func (job *JobObject) ApplyFileBinding(root, target string, merged bool) error { | func (job *JobObject) ApplyFileBinding(root, target string, readOnly bool) error { | ||||||
| 	job.handleLock.RLock() | 	job.handleLock.RLock() | ||||||
| 	defer job.handleLock.RUnlock() | 	defer job.handleLock.RUnlock() | ||||||
|  |  | ||||||
| @@ -501,8 +501,8 @@ func (job *JobObject) ApplyFileBinding(root, target string, merged bool) error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	flags := winapi.BINDFLT_FLAG_USE_CURRENT_SILO_MAPPING | 	flags := winapi.BINDFLT_FLAG_USE_CURRENT_SILO_MAPPING | ||||||
| 	if merged { | 	if readOnly { | ||||||
| 		flags |= winapi.BINDFLT_FLAG_MERGED_BIND_MAPPING | 		flags |= winapi.BINDFLT_FLAG_READ_ONLY_MAPPING | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if err := winapi.BfSetupFilter( | 	if err := winapi.BfSetupFilter( | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/log/context.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/log/context.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -48,7 +48,8 @@ func GetEntry(ctx context.Context) *logrus.Entry { | |||||||
| } | } | ||||||
|  |  | ||||||
| // SetEntry updates the log entry in the context with the provided fields, and | // SetEntry updates the log entry in the context with the provided fields, and | ||||||
| // returns both. It is equivlent to: | // returns both. It is equivalent to: | ||||||
|  | // | ||||||
| //	entry := GetEntry(ctx).WithFields(fields) | //	entry := GetEntry(ctx).WithFields(fields) | ||||||
| //	ctx = WithContext(ctx, entry) | //	ctx = WithContext(ctx, entry) | ||||||
| // | // | ||||||
| @@ -63,8 +64,9 @@ func SetEntry(ctx context.Context, fields logrus.Fields) (context.Context, *logr | |||||||
|  |  | ||||||
| // UpdateContext extracts the log entry from the context, and, if the entry's | // UpdateContext extracts the log entry from the context, and, if the entry's | ||||||
| // context points to a parent's of the current context, ands the entry | // context points to a parent's of the current context, ands the entry | ||||||
| // to the most recent context. It is equivlent to: | // to the most recent context. It is equivalent to: | ||||||
| //   entry :=GetEntry(ctx) | // | ||||||
|  | //	entry := GetEntry(ctx) | ||||||
| //	ctx = WithContext(ctx, entry) | //	ctx = WithContext(ctx, entry) | ||||||
| // | // | ||||||
| // This allows the entry to reference the most recent context and any new | // This allows the entry to reference the most recent context and any new | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/regstate/regstate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/regstate/regstate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -15,7 +15,7 @@ import ( | |||||||
| 	"golang.org/x/sys/windows/registry" | 	"golang.org/x/sys/windows/registry" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go regstate.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go regstate.go | ||||||
|  |  | ||||||
| //sys	regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) = advapi32.RegCreateKeyExW | //sys	regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) = advapi32.RegCreateKeyExW | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/regstate/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/regstate/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated by 'go generate'; DO NOT EDIT. | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package regstate | package regstate | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/runhcs/container.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/runhcs/container.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,7 +7,6 @@ import ( | |||||||
| 	"errors" | 	"errors" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"syscall" | 	"syscall" | ||||||
| 	"time" | 	"time" | ||||||
| @@ -42,7 +41,7 @@ type ContainerState struct { | |||||||
| // returned success or error. If error converts that to an error and returns. If | // returned success or error. If error converts that to an error and returns. If | ||||||
| // `p` is not nill will issue a `Kill` and `Wait` for exit. | // `p` is not nill will issue a `Kill` and `Wait` for exit. | ||||||
| func GetErrorFromPipe(pipe io.Reader, p *os.Process) error { | func GetErrorFromPipe(pipe io.Reader, p *os.Process) error { | ||||||
| 	serr, err := ioutil.ReadAll(pipe) | 	serr, err := io.ReadAll(pipe) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -345,7 +345,6 @@ func MkdirRelative(path string, root *os.File) error { | |||||||
| func MkdirAllRelative(path string, root *os.File) error { | func MkdirAllRelative(path string, root *os.File) error { | ||||||
| 	pathParts := strings.Split(filepath.Clean(path), (string)(filepath.Separator)) | 	pathParts := strings.Split(filepath.Clean(path), (string)(filepath.Separator)) | ||||||
| 	for index := range pathParts { | 	for index := range pathParts { | ||||||
|  |  | ||||||
| 		partialPath := filepath.Join(pathParts[0 : index+1]...) | 		partialPath := filepath.Join(pathParts[0 : index+1]...) | ||||||
| 		stat, err := LstatRelative(partialPath, root) | 		stat, err := LstatRelative(partialPath, root) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/security/syscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/security/syscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| package security | package security | ||||||
|  |  | ||||||
| //go:generate go run $GOPATH/src/golang.org/x/sys/windows/mkwinsyscall/mkwinsyscall.go -output zsyscall_windows.go syscall_windows.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go syscall_windows.go | ||||||
|  |  | ||||||
| //sys getSecurityInfo(handle syscall.Handle, objectType uint32, si uint32, ppsidOwner **uintptr, ppsidGroup **uintptr, ppDacl *uintptr, ppSacl *uintptr, ppSecurityDescriptor *uintptr) (win32err error) = advapi32.GetSecurityInfo | //sys getSecurityInfo(handle syscall.Handle, objectType uint32, si uint32, ppsidOwner **uintptr, ppsidGroup **uintptr, ppDacl *uintptr, ppSacl *uintptr, ppSecurityDescriptor *uintptr) (win32err error) = advapi32.GetSecurityInfo | ||||||
| //sys setSecurityInfo(handle syscall.Handle, objectType uint32, si uint32, psidOwner uintptr, psidGroup uintptr, pDacl uintptr, pSacl uintptr) (win32err error) = advapi32.SetSecurityInfo | //sys setSecurityInfo(handle syscall.Handle, objectType uint32, si uint32, psidOwner uintptr, psidGroup uintptr, pDacl uintptr, pSacl uintptr) (win32err error) = advapi32.SetSecurityInfo | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/internal/security/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/Microsoft/hcsshim/internal/security/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated by 'go generate'; DO NOT EDIT. | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package security | package security | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,6 +7,7 @@ import ( | |||||||
| 	"syscall" | 	"syscall" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
|  | 	"github.com/sirupsen/logrus" | ||||||
| 	"go.opencensus.io/trace" | 	"go.opencensus.io/trace" | ||||||
|  |  | ||||||
| 	"github.com/Microsoft/hcsshim/internal/interop" | 	"github.com/Microsoft/hcsshim/internal/interop" | ||||||
| @@ -16,7 +17,7 @@ import ( | |||||||
| 	"github.com/Microsoft/hcsshim/internal/timeout" | 	"github.com/Microsoft/hcsshim/internal/timeout" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go vmcompute.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go vmcompute.go | ||||||
|  |  | ||||||
| //sys hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) = vmcompute.HcsEnumerateComputeSystems? | //sys hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) = vmcompute.HcsEnumerateComputeSystems? | ||||||
| //sys hcsCreateComputeSystem(id string, configuration string, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) = vmcompute.HcsCreateComputeSystem? | //sys hcsCreateComputeSystem(id string, configuration string, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) = vmcompute.HcsCreateComputeSystem? | ||||||
| @@ -65,7 +66,7 @@ type HcsCallback syscall.Handle | |||||||
| type HcsProcessInformation struct { | type HcsProcessInformation struct { | ||||||
| 	// ProcessId is the pid of the created process. | 	// ProcessId is the pid of the created process. | ||||||
| 	ProcessId uint32 | 	ProcessId uint32 | ||||||
| 	reserved  uint32 //nolint:structcheck | 	_         uint32 // reserved padding | ||||||
| 	// StdInput is the handle associated with the stdin of the process. | 	// StdInput is the handle associated with the stdin of the process. | ||||||
| 	StdInput syscall.Handle | 	StdInput syscall.Handle | ||||||
| 	// StdOutput is the handle associated with the stdout of the process. | 	// StdOutput is the handle associated with the stdout of the process. | ||||||
| @@ -75,12 +76,28 @@ type HcsProcessInformation struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| func execute(ctx gcontext.Context, timeout time.Duration, f func() error) error { | func execute(ctx gcontext.Context, timeout time.Duration, f func() error) error { | ||||||
|  | 	now := time.Now() | ||||||
| 	if timeout > 0 { | 	if timeout > 0 { | ||||||
| 		var cancel gcontext.CancelFunc | 		var cancel gcontext.CancelFunc | ||||||
| 		ctx, cancel = gcontext.WithTimeout(ctx, timeout) | 		ctx, cancel = gcontext.WithTimeout(ctx, timeout) | ||||||
| 		defer cancel() | 		defer cancel() | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	// if ctx already has prior deadlines, the shortest timeout takes precedence and is used. | ||||||
|  | 	// find the true timeout for reporting | ||||||
|  | 	// | ||||||
|  | 	// this is mostly an issue with (*UtilityVM).Start(context.Context), which sets its | ||||||
|  | 	// own (2 minute) timeout. | ||||||
|  | 	deadline, ok := ctx.Deadline() | ||||||
|  | 	trueTimeout := timeout | ||||||
|  | 	if ok { | ||||||
|  | 		trueTimeout = deadline.Sub(now) | ||||||
|  | 		log.G(ctx).WithFields(logrus.Fields{ | ||||||
|  | 			logfields.Timeout: trueTimeout, | ||||||
|  | 			"desiredTimeout":  timeout, | ||||||
|  | 		}).Trace("Executing syscall with deadline") | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	done := make(chan error, 1) | 	done := make(chan error, 1) | ||||||
| 	go func() { | 	go func() { | ||||||
| 		done <- f() | 		done <- f() | ||||||
| @@ -88,8 +105,10 @@ func execute(ctx gcontext.Context, timeout time.Duration, f func() error) error | |||||||
| 	select { | 	select { | ||||||
| 	case <-ctx.Done(): | 	case <-ctx.Done(): | ||||||
| 		if ctx.Err() == gcontext.DeadlineExceeded { | 		if ctx.Err() == gcontext.DeadlineExceeded { | ||||||
| 			log.G(ctx).WithField(logfields.Timeout, timeout). | 			log.G(ctx).WithField(logfields.Timeout, trueTimeout). | ||||||
| 				Warning("Syscall did not complete within operation timeout. This may indicate a platform issue. If it appears to be making no forward progress, obtain the stacks and see if there is a syscall stuck in the platform API for a significant length of time.") | 				Warning("Syscall did not complete within operation timeout. This may indicate a platform issue. " + | ||||||
|  | 					"If it appears to be making no forward progress, obtain the stacks and see if there is a syscall " + | ||||||
|  | 					"stuck in the platform API for a significant length of time.") | ||||||
| 		} | 		} | ||||||
| 		return ctx.Err() | 		return ctx.Err() | ||||||
| 	case err := <-done: | 	case err := <-done: | ||||||
|   | |||||||
							
								
								
									
										785
									
								
								vendor/github.com/Microsoft/hcsshim/internal/vmcompute/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										785
									
								
								vendor/github.com/Microsoft/hcsshim/internal/vmcompute/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package vmcompute | package vmcompute | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
| @@ -39,48 +42,55 @@ func errnoErr(e syscall.Errno) error { | |||||||
| var ( | var ( | ||||||
| 	modvmcompute = windows.NewLazySystemDLL("vmcompute.dll") | 	modvmcompute = windows.NewLazySystemDLL("vmcompute.dll") | ||||||
|  |  | ||||||
| 	procHcsEnumerateComputeSystems         = modvmcompute.NewProc("HcsEnumerateComputeSystems") |  | ||||||
| 	procHcsCreateComputeSystem             = modvmcompute.NewProc("HcsCreateComputeSystem") |  | ||||||
| 	procHcsOpenComputeSystem               = modvmcompute.NewProc("HcsOpenComputeSystem") |  | ||||||
| 	procHcsCloseComputeSystem              = modvmcompute.NewProc("HcsCloseComputeSystem") | 	procHcsCloseComputeSystem              = modvmcompute.NewProc("HcsCloseComputeSystem") | ||||||
| 	procHcsStartComputeSystem              = modvmcompute.NewProc("HcsStartComputeSystem") |  | ||||||
| 	procHcsShutdownComputeSystem           = modvmcompute.NewProc("HcsShutdownComputeSystem") |  | ||||||
| 	procHcsTerminateComputeSystem          = modvmcompute.NewProc("HcsTerminateComputeSystem") |  | ||||||
| 	procHcsPauseComputeSystem              = modvmcompute.NewProc("HcsPauseComputeSystem") |  | ||||||
| 	procHcsResumeComputeSystem             = modvmcompute.NewProc("HcsResumeComputeSystem") |  | ||||||
| 	procHcsGetComputeSystemProperties      = modvmcompute.NewProc("HcsGetComputeSystemProperties") |  | ||||||
| 	procHcsModifyComputeSystem             = modvmcompute.NewProc("HcsModifyComputeSystem") |  | ||||||
| 	procHcsModifyServiceSettings           = modvmcompute.NewProc("HcsModifyServiceSettings") |  | ||||||
| 	procHcsRegisterComputeSystemCallback   = modvmcompute.NewProc("HcsRegisterComputeSystemCallback") |  | ||||||
| 	procHcsUnregisterComputeSystemCallback = modvmcompute.NewProc("HcsUnregisterComputeSystemCallback") |  | ||||||
| 	procHcsSaveComputeSystem               = modvmcompute.NewProc("HcsSaveComputeSystem") |  | ||||||
| 	procHcsCreateProcess                   = modvmcompute.NewProc("HcsCreateProcess") |  | ||||||
| 	procHcsOpenProcess                     = modvmcompute.NewProc("HcsOpenProcess") |  | ||||||
| 	procHcsCloseProcess                    = modvmcompute.NewProc("HcsCloseProcess") | 	procHcsCloseProcess                    = modvmcompute.NewProc("HcsCloseProcess") | ||||||
| 	procHcsTerminateProcess                = modvmcompute.NewProc("HcsTerminateProcess") | 	procHcsCreateComputeSystem             = modvmcompute.NewProc("HcsCreateComputeSystem") | ||||||
| 	procHcsSignalProcess                   = modvmcompute.NewProc("HcsSignalProcess") | 	procHcsCreateProcess                   = modvmcompute.NewProc("HcsCreateProcess") | ||||||
|  | 	procHcsEnumerateComputeSystems         = modvmcompute.NewProc("HcsEnumerateComputeSystems") | ||||||
|  | 	procHcsGetComputeSystemProperties      = modvmcompute.NewProc("HcsGetComputeSystemProperties") | ||||||
| 	procHcsGetProcessInfo                  = modvmcompute.NewProc("HcsGetProcessInfo") | 	procHcsGetProcessInfo                  = modvmcompute.NewProc("HcsGetProcessInfo") | ||||||
| 	procHcsGetProcessProperties            = modvmcompute.NewProc("HcsGetProcessProperties") | 	procHcsGetProcessProperties            = modvmcompute.NewProc("HcsGetProcessProperties") | ||||||
| 	procHcsModifyProcess                   = modvmcompute.NewProc("HcsModifyProcess") |  | ||||||
| 	procHcsGetServiceProperties            = modvmcompute.NewProc("HcsGetServiceProperties") | 	procHcsGetServiceProperties            = modvmcompute.NewProc("HcsGetServiceProperties") | ||||||
|  | 	procHcsModifyComputeSystem             = modvmcompute.NewProc("HcsModifyComputeSystem") | ||||||
|  | 	procHcsModifyProcess                   = modvmcompute.NewProc("HcsModifyProcess") | ||||||
|  | 	procHcsModifyServiceSettings           = modvmcompute.NewProc("HcsModifyServiceSettings") | ||||||
|  | 	procHcsOpenComputeSystem               = modvmcompute.NewProc("HcsOpenComputeSystem") | ||||||
|  | 	procHcsOpenProcess                     = modvmcompute.NewProc("HcsOpenProcess") | ||||||
|  | 	procHcsPauseComputeSystem              = modvmcompute.NewProc("HcsPauseComputeSystem") | ||||||
|  | 	procHcsRegisterComputeSystemCallback   = modvmcompute.NewProc("HcsRegisterComputeSystemCallback") | ||||||
| 	procHcsRegisterProcessCallback         = modvmcompute.NewProc("HcsRegisterProcessCallback") | 	procHcsRegisterProcessCallback         = modvmcompute.NewProc("HcsRegisterProcessCallback") | ||||||
|  | 	procHcsResumeComputeSystem             = modvmcompute.NewProc("HcsResumeComputeSystem") | ||||||
|  | 	procHcsSaveComputeSystem               = modvmcompute.NewProc("HcsSaveComputeSystem") | ||||||
|  | 	procHcsShutdownComputeSystem           = modvmcompute.NewProc("HcsShutdownComputeSystem") | ||||||
|  | 	procHcsSignalProcess                   = modvmcompute.NewProc("HcsSignalProcess") | ||||||
|  | 	procHcsStartComputeSystem              = modvmcompute.NewProc("HcsStartComputeSystem") | ||||||
|  | 	procHcsTerminateComputeSystem          = modvmcompute.NewProc("HcsTerminateComputeSystem") | ||||||
|  | 	procHcsTerminateProcess                = modvmcompute.NewProc("HcsTerminateProcess") | ||||||
|  | 	procHcsUnregisterComputeSystemCallback = modvmcompute.NewProc("HcsUnregisterComputeSystemCallback") | ||||||
| 	procHcsUnregisterProcessCallback       = modvmcompute.NewProc("HcsUnregisterProcessCallback") | 	procHcsUnregisterProcessCallback       = modvmcompute.NewProc("HcsUnregisterProcessCallback") | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) { | func hcsCloseComputeSystem(computeSystem HcsSystem) (hr error) { | ||||||
| 	var _p0 *uint16 | 	hr = procHcsCloseComputeSystem.Find() | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(query) |  | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsEnumerateComputeSystems(_p0, computeSystems, result) | 	r0, _, _ := syscall.Syscall(procHcsCloseComputeSystem.Addr(), 1, uintptr(computeSystem), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsEnumerateComputeSystems(query *uint16, computeSystems **uint16, result **uint16) (hr error) { | func hcsCloseProcess(process HcsProcess) (hr error) { | ||||||
| 	if hr = procHcsEnumerateComputeSystems.Find(); hr != nil { | 	hr = procHcsCloseProcess.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsEnumerateComputeSystems.Addr(), 3, uintptr(unsafe.Pointer(query)), uintptr(unsafe.Pointer(computeSystems)), uintptr(unsafe.Pointer(result))) | 	r0, _, _ := syscall.Syscall(procHcsCloseProcess.Addr(), 1, uintptr(process), 0, 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -105,7 +115,8 @@ func hcsCreateComputeSystem(id string, configuration string, identity syscall.Ha | |||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsCreateComputeSystem(id *uint16, configuration *uint16, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) { | func _hcsCreateComputeSystem(id *uint16, configuration *uint16, identity syscall.Handle, computeSystem *HcsSystem, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsCreateComputeSystem.Find(); hr != nil { | 	hr = procHcsCreateComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsCreateComputeSystem.Addr(), 5, uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(configuration)), uintptr(identity), uintptr(unsafe.Pointer(computeSystem)), uintptr(unsafe.Pointer(result)), 0) | 	r0, _, _ := syscall.Syscall6(procHcsCreateComputeSystem.Addr(), 5, uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(configuration)), uintptr(identity), uintptr(unsafe.Pointer(computeSystem)), uintptr(unsafe.Pointer(result)), 0) | ||||||
| @@ -118,278 +129,6 @@ func _hcsCreateComputeSystem(id *uint16, configuration *uint16, identity syscall | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func hcsOpenComputeSystem(id string, computeSystem *HcsSystem, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsOpenComputeSystem(_p0, computeSystem, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsOpenComputeSystem(id *uint16, computeSystem *HcsSystem, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsOpenComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsOpenComputeSystem.Addr(), 3, uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(computeSystem)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsCloseComputeSystem(computeSystem HcsSystem) (hr error) { |  | ||||||
| 	if hr = procHcsCloseComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsCloseComputeSystem.Addr(), 1, uintptr(computeSystem), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsStartComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsStartComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsStartComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsStartComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsStartComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsShutdownComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsShutdownComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsShutdownComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsShutdownComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsShutdownComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsTerminateComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsTerminateComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsTerminateComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsTerminateComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsTerminateComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsPauseComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsPauseComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsPauseComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsPauseComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsPauseComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsResumeComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsResumeComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsResumeComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsResumeComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsResumeComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery string, properties **uint16, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(propertyQuery) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsGetComputeSystemProperties(computeSystem, _p0, properties, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery *uint16, properties **uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsGetComputeSystemProperties.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsGetComputeSystemProperties.Addr(), 4, uintptr(computeSystem), uintptr(unsafe.Pointer(propertyQuery)), uintptr(unsafe.Pointer(properties)), uintptr(unsafe.Pointer(result)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsModifyComputeSystem(computeSystem HcsSystem, configuration string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(configuration) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsModifyComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsModifyComputeSystem(computeSystem HcsSystem, configuration *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsModifyComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsModifyComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(configuration)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsModifyServiceSettings(settings string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(settings) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsModifyServiceSettings(_p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsModifyServiceSettings(settings *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsModifyServiceSettings.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsModifyServiceSettings.Addr(), 2, uintptr(unsafe.Pointer(settings)), uintptr(unsafe.Pointer(result)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsRegisterComputeSystemCallback(computeSystem HcsSystem, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) { |  | ||||||
| 	if hr = procHcsRegisterComputeSystemCallback.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsRegisterComputeSystemCallback.Addr(), 4, uintptr(computeSystem), uintptr(callback), uintptr(context), uintptr(unsafe.Pointer(callbackHandle)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsUnregisterComputeSystemCallback(callbackHandle HcsCallback) (hr error) { |  | ||||||
| 	if hr = procHcsUnregisterComputeSystemCallback.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsUnregisterComputeSystemCallback.Addr(), 1, uintptr(callbackHandle), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsSaveComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _hcsSaveComputeSystem(computeSystem, _p0, result) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsSaveComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsSaveComputeSystem.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsSaveComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsCreateProcess(computeSystem HcsSystem, processParameters string, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) { | func hcsCreateProcess(computeSystem HcsSystem, processParameters string, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(processParameters) | 	_p0, hr = syscall.UTF16PtrFromString(processParameters) | ||||||
| @@ -400,7 +139,8 @@ func hcsCreateProcess(computeSystem HcsSystem, processParameters string, process | |||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsCreateProcess(computeSystem HcsSystem, processParameters *uint16, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) { | func _hcsCreateProcess(computeSystem HcsSystem, processParameters *uint16, processInformation *HcsProcessInformation, process *HcsProcess, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsCreateProcess.Find(); hr != nil { | 	hr = procHcsCreateProcess.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsCreateProcess.Addr(), 5, uintptr(computeSystem), uintptr(unsafe.Pointer(processParameters)), uintptr(unsafe.Pointer(processInformation)), uintptr(unsafe.Pointer(process)), uintptr(unsafe.Pointer(result)), 0) | 	r0, _, _ := syscall.Syscall6(procHcsCreateProcess.Addr(), 5, uintptr(computeSystem), uintptr(unsafe.Pointer(processParameters)), uintptr(unsafe.Pointer(processInformation)), uintptr(unsafe.Pointer(process)), uintptr(unsafe.Pointer(result)), 0) | ||||||
| @@ -413,62 +153,45 @@ func _hcsCreateProcess(computeSystem HcsSystem, processParameters *uint16, proce | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func hcsOpenProcess(computeSystem HcsSystem, pid uint32, process *HcsProcess, result **uint16) (hr error) { | func hcsEnumerateComputeSystems(query string, computeSystems **uint16, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsOpenProcess.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsOpenProcess.Addr(), 4, uintptr(computeSystem), uintptr(pid), uintptr(unsafe.Pointer(process)), uintptr(unsafe.Pointer(result)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsCloseProcess(process HcsProcess) (hr error) { |  | ||||||
| 	if hr = procHcsCloseProcess.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsCloseProcess.Addr(), 1, uintptr(process), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsTerminateProcess(process HcsProcess, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsTerminateProcess.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsTerminateProcess.Addr(), 2, uintptr(process), uintptr(unsafe.Pointer(result)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsSignalProcess(process HcsProcess, options string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(options) | 	_p0, hr = syscall.UTF16PtrFromString(query) | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsSignalProcess(process, _p0, result) | 	return _hcsEnumerateComputeSystems(_p0, computeSystems, result) | ||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsSignalProcess(process HcsProcess, options *uint16, result **uint16) (hr error) { | func _hcsEnumerateComputeSystems(query *uint16, computeSystems **uint16, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsSignalProcess.Find(); hr != nil { | 	hr = procHcsEnumerateComputeSystems.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsSignalProcess.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | 	r0, _, _ := syscall.Syscall(procHcsEnumerateComputeSystems.Addr(), 3, uintptr(unsafe.Pointer(query)), uintptr(unsafe.Pointer(computeSystems)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery string, properties **uint16, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(propertyQuery) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsGetComputeSystemProperties(computeSystem, _p0, properties, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsGetComputeSystemProperties(computeSystem HcsSystem, propertyQuery *uint16, properties **uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsGetComputeSystemProperties.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procHcsGetComputeSystemProperties.Addr(), 4, uintptr(computeSystem), uintptr(unsafe.Pointer(propertyQuery)), uintptr(unsafe.Pointer(properties)), uintptr(unsafe.Pointer(result)), 0, 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -479,7 +202,8 @@ func _hcsSignalProcess(process HcsProcess, options *uint16, result **uint16) (hr | |||||||
| } | } | ||||||
|  |  | ||||||
| func hcsGetProcessInfo(process HcsProcess, processInformation *HcsProcessInformation, result **uint16) (hr error) { | func hcsGetProcessInfo(process HcsProcess, processInformation *HcsProcessInformation, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsGetProcessInfo.Find(); hr != nil { | 	hr = procHcsGetProcessInfo.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsGetProcessInfo.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(processInformation)), uintptr(unsafe.Pointer(result))) | 	r0, _, _ := syscall.Syscall(procHcsGetProcessInfo.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(processInformation)), uintptr(unsafe.Pointer(result))) | ||||||
| @@ -493,33 +217,11 @@ func hcsGetProcessInfo(process HcsProcess, processInformation *HcsProcessInforma | |||||||
| } | } | ||||||
|  |  | ||||||
| func hcsGetProcessProperties(process HcsProcess, processProperties **uint16, result **uint16) (hr error) { | func hcsGetProcessProperties(process HcsProcess, processProperties **uint16, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsGetProcessProperties.Find(); hr != nil { | 	hr = procHcsGetProcessProperties.Find() | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsGetProcessProperties.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(processProperties)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func hcsModifyProcess(process HcsProcess, settings string, result **uint16) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(settings) |  | ||||||
| 	if hr != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _hcsModifyProcess(process, _p0, result) | 	r0, _, _ := syscall.Syscall(procHcsGetProcessProperties.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(processProperties)), uintptr(unsafe.Pointer(result))) | ||||||
| } |  | ||||||
|  |  | ||||||
| func _hcsModifyProcess(process HcsProcess, settings *uint16, result **uint16) (hr error) { |  | ||||||
| 	if hr = procHcsModifyProcess.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsModifyProcess.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(settings)), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -539,7 +241,8 @@ func hcsGetServiceProperties(propertyQuery string, properties **uint16, result * | |||||||
| } | } | ||||||
|  |  | ||||||
| func _hcsGetServiceProperties(propertyQuery *uint16, properties **uint16, result **uint16) (hr error) { | func _hcsGetServiceProperties(propertyQuery *uint16, properties **uint16, result **uint16) (hr error) { | ||||||
| 	if hr = procHcsGetServiceProperties.Find(); hr != nil { | 	hr = procHcsGetServiceProperties.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsGetServiceProperties.Addr(), 3, uintptr(unsafe.Pointer(propertyQuery)), uintptr(unsafe.Pointer(properties)), uintptr(unsafe.Pointer(result))) | 	r0, _, _ := syscall.Syscall(procHcsGetServiceProperties.Addr(), 3, uintptr(unsafe.Pointer(propertyQuery)), uintptr(unsafe.Pointer(properties)), uintptr(unsafe.Pointer(result))) | ||||||
| @@ -552,8 +255,159 @@ func _hcsGetServiceProperties(propertyQuery *uint16, properties **uint16, result | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func hcsModifyComputeSystem(computeSystem HcsSystem, configuration string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(configuration) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsModifyComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsModifyComputeSystem(computeSystem HcsSystem, configuration *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsModifyComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsModifyComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(configuration)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsModifyProcess(process HcsProcess, settings string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(settings) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsModifyProcess(process, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsModifyProcess(process HcsProcess, settings *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsModifyProcess.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsModifyProcess.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(settings)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsModifyServiceSettings(settings string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(settings) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsModifyServiceSettings(_p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsModifyServiceSettings(settings *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsModifyServiceSettings.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsModifyServiceSettings.Addr(), 2, uintptr(unsafe.Pointer(settings)), uintptr(unsafe.Pointer(result)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsOpenComputeSystem(id string, computeSystem *HcsSystem, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsOpenComputeSystem(_p0, computeSystem, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsOpenComputeSystem(id *uint16, computeSystem *HcsSystem, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsOpenComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsOpenComputeSystem.Addr(), 3, uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(computeSystem)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsOpenProcess(computeSystem HcsSystem, pid uint32, process *HcsProcess, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsOpenProcess.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procHcsOpenProcess.Addr(), 4, uintptr(computeSystem), uintptr(pid), uintptr(unsafe.Pointer(process)), uintptr(unsafe.Pointer(result)), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsPauseComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsPauseComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsPauseComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsPauseComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsPauseComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsRegisterComputeSystemCallback(computeSystem HcsSystem, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) { | ||||||
|  | 	hr = procHcsRegisterComputeSystemCallback.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procHcsRegisterComputeSystemCallback.Addr(), 4, uintptr(computeSystem), uintptr(callback), uintptr(context), uintptr(unsafe.Pointer(callbackHandle)), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func hcsRegisterProcessCallback(process HcsProcess, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) { | func hcsRegisterProcessCallback(process HcsProcess, callback uintptr, context uintptr, callbackHandle *HcsCallback) (hr error) { | ||||||
| 	if hr = procHcsRegisterProcessCallback.Find(); hr != nil { | 	hr = procHcsRegisterProcessCallback.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procHcsRegisterProcessCallback.Addr(), 4, uintptr(process), uintptr(callback), uintptr(context), uintptr(unsafe.Pointer(callbackHandle)), 0, 0) | 	r0, _, _ := syscall.Syscall6(procHcsRegisterProcessCallback.Addr(), 4, uintptr(process), uintptr(callback), uintptr(context), uintptr(unsafe.Pointer(callbackHandle)), 0, 0) | ||||||
| @@ -566,8 +420,183 @@ func hcsRegisterProcessCallback(process HcsProcess, callback uintptr, context ui | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func hcsResumeComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsResumeComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsResumeComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsResumeComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsResumeComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsSaveComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsSaveComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsSaveComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsSaveComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsSaveComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsShutdownComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsShutdownComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsShutdownComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsShutdownComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsShutdownComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsSignalProcess(process HcsProcess, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsSignalProcess(process, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsSignalProcess(process HcsProcess, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsSignalProcess.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsSignalProcess.Addr(), 3, uintptr(process), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsStartComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsStartComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsStartComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsStartComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsStartComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsTerminateComputeSystem(computeSystem HcsSystem, options string, result **uint16) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(options) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _hcsTerminateComputeSystem(computeSystem, _p0, result) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _hcsTerminateComputeSystem(computeSystem HcsSystem, options *uint16, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsTerminateComputeSystem.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsTerminateComputeSystem.Addr(), 3, uintptr(computeSystem), uintptr(unsafe.Pointer(options)), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsTerminateProcess(process HcsProcess, result **uint16) (hr error) { | ||||||
|  | 	hr = procHcsTerminateProcess.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsTerminateProcess.Addr(), 2, uintptr(process), uintptr(unsafe.Pointer(result)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func hcsUnregisterComputeSystemCallback(callbackHandle HcsCallback) (hr error) { | ||||||
|  | 	hr = procHcsUnregisterComputeSystemCallback.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procHcsUnregisterComputeSystemCallback.Addr(), 1, uintptr(callbackHandle), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func hcsUnregisterProcessCallback(callbackHandle HcsCallback) (hr error) { | func hcsUnregisterProcessCallback(callbackHandle HcsCallback) (hr error) { | ||||||
| 	if hr = procHcsUnregisterProcessCallback.Find(); hr != nil { | 	hr = procHcsUnregisterProcessCallback.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procHcsUnregisterProcessCallback.Addr(), 1, uintptr(callbackHandle), 0, 0) | 	r0, _, _ := syscall.Syscall(procHcsUnregisterProcessCallback.Addr(), 1, uintptr(callbackHandle), 0, 0) | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/exportlayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/exportlayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,6 @@ package wclayer | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| @@ -68,7 +67,7 @@ func NewLayerReader(ctx context.Context, path string, parentLayerPaths []string) | |||||||
| 		trace.StringAttribute("path", path), | 		trace.StringAttribute("path", path), | ||||||
| 		trace.StringAttribute("parentLayerPaths", strings.Join(parentLayerPaths, ", "))) | 		trace.StringAttribute("parentLayerPaths", strings.Join(parentLayerPaths, ", "))) | ||||||
|  |  | ||||||
| 	exportPath, err := ioutil.TempDir("", "hcs") | 	exportPath, err := os.MkdirTemp("", "hcs") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/importlayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/importlayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,6 @@ package wclayer | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"strings" | 	"strings" | ||||||
| @@ -150,7 +149,7 @@ func NewLayerWriter(ctx context.Context, path string, parentLayerPaths []string) | |||||||
| 		}, nil | 		}, nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	importPath, err := ioutil.TempDir("", "hcs") | 	importPath, err := os.MkdirTemp("", "hcs") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -13,7 +13,9 @@ import ( | |||||||
| 	"github.com/sirupsen/logrus" | 	"github.com/sirupsen/logrus" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| /* To pass into syscall, we need a struct matching the following: | /* | ||||||
|  | To pass into syscall, we need a struct matching the following: | ||||||
|  |  | ||||||
| enum GraphDriverType | enum GraphDriverType | ||||||
| { | { | ||||||
|     DiffDriver, |     DiffDriver, | ||||||
| @@ -36,7 +38,9 @@ var ( | |||||||
| 	stdDriverInfo    = driverInfo{1, &utf16EmptyString} | 	stdDriverInfo    = driverInfo{1, &utf16EmptyString} | ||||||
| ) | ) | ||||||
|  |  | ||||||
| /* To pass into syscall, we need a struct matching the following: | /* | ||||||
|  | To pass into syscall, we need a struct matching the following: | ||||||
|  |  | ||||||
| typedef struct _WC_LAYER_DESCRIPTOR { | typedef struct _WC_LAYER_DESCRIPTOR { | ||||||
|  |  | ||||||
| 	// | 	// | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,7 +8,6 @@ import ( | |||||||
| 	"errors" | 	"errors" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"strings" | 	"strings" | ||||||
| @@ -377,7 +376,7 @@ func newLegacyLayerWriter(root string, parentRoots []string, destRoot string) (w | |||||||
| 		} | 		} | ||||||
| 		w.parentRoots = append(w.parentRoots, f) | 		w.parentRoots = append(w.parentRoots, f) | ||||||
| 	} | 	} | ||||||
| 	w.bufWriter = bufio.NewWriterSize(ioutil.Discard, 65536) | 	w.bufWriter = bufio.NewWriterSize(io.Discard, 65536) | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -420,7 +419,7 @@ func (w *legacyLayerWriter) reset() error { | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	w.bufWriter.Reset(ioutil.Discard) | 	w.bufWriter.Reset(io.Discard) | ||||||
| 	if w.currentIsDir { | 	if w.currentIsDir { | ||||||
| 		r := w.currentFile | 		r := w.currentFile | ||||||
| 		br := winio.NewBackupStreamReader(r) | 		br := winio.NewBackupStreamReader(r) | ||||||
| @@ -696,7 +695,7 @@ func (w *legacyLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) erro | |||||||
| 		// The file attributes are written before the stream. | 		// The file attributes are written before the stream. | ||||||
| 		err = binary.Write(w.bufWriter, binary.LittleEndian, uint32(fileInfo.FileAttributes)) | 		err = binary.Write(w.bufWriter, binary.LittleEndian, uint32(fileInfo.FileAttributes)) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			w.bufWriter.Reset(ioutil.Discard) | 			w.bufWriter.Reset(io.Discard) | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/wclayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/wclayer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,7 @@ package wclayer | |||||||
|  |  | ||||||
| import "github.com/Microsoft/go-winio/pkg/guid" | import "github.com/Microsoft/go-winio/pkg/guid" | ||||||
|  |  | ||||||
| //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go wclayer.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go wclayer.go | ||||||
|  |  | ||||||
| //sys activateLayer(info *driverInfo, id string) (hr error) = vmcompute.ActivateLayer? | //sys activateLayer(info *driverInfo, id string) (hr error) = vmcompute.ActivateLayer? | ||||||
| //sys copyLayer(info *driverInfo, srcId string, dstId string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.CopyLayer? | //sys copyLayer(info *driverInfo, srcId string, dstId string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) = vmcompute.CopyLayer? | ||||||
|   | |||||||
							
								
								
									
										549
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										549
									
								
								vendor/github.com/Microsoft/hcsshim/internal/wclayer/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package wclayer | package wclayer | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
| @@ -37,33 +40,75 @@ func errnoErr(e syscall.Errno) error { | |||||||
| } | } | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	modvmcompute = windows.NewLazySystemDLL("vmcompute.dll") |  | ||||||
| 	modvirtdisk  = windows.NewLazySystemDLL("virtdisk.dll") |  | ||||||
| 	modkernel32  = windows.NewLazySystemDLL("kernel32.dll") | 	modkernel32  = windows.NewLazySystemDLL("kernel32.dll") | ||||||
|  | 	modvirtdisk  = windows.NewLazySystemDLL("virtdisk.dll") | ||||||
|  | 	modvmcompute = windows.NewLazySystemDLL("vmcompute.dll") | ||||||
|  |  | ||||||
|  | 	procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") | ||||||
|  | 	procAttachVirtualDisk   = modvirtdisk.NewProc("AttachVirtualDisk") | ||||||
|  | 	procOpenVirtualDisk     = modvirtdisk.NewProc("OpenVirtualDisk") | ||||||
| 	procActivateLayer       = modvmcompute.NewProc("ActivateLayer") | 	procActivateLayer       = modvmcompute.NewProc("ActivateLayer") | ||||||
| 	procCopyLayer           = modvmcompute.NewProc("CopyLayer") | 	procCopyLayer           = modvmcompute.NewProc("CopyLayer") | ||||||
| 	procCreateLayer         = modvmcompute.NewProc("CreateLayer") | 	procCreateLayer         = modvmcompute.NewProc("CreateLayer") | ||||||
| 	procCreateSandboxLayer  = modvmcompute.NewProc("CreateSandboxLayer") | 	procCreateSandboxLayer  = modvmcompute.NewProc("CreateSandboxLayer") | ||||||
| 	procExpandSandboxSize   = modvmcompute.NewProc("ExpandSandboxSize") |  | ||||||
| 	procDeactivateLayer     = modvmcompute.NewProc("DeactivateLayer") | 	procDeactivateLayer     = modvmcompute.NewProc("DeactivateLayer") | ||||||
| 	procDestroyLayer        = modvmcompute.NewProc("DestroyLayer") | 	procDestroyLayer        = modvmcompute.NewProc("DestroyLayer") | ||||||
|  | 	procExpandSandboxSize   = modvmcompute.NewProc("ExpandSandboxSize") | ||||||
| 	procExportLayer         = modvmcompute.NewProc("ExportLayer") | 	procExportLayer         = modvmcompute.NewProc("ExportLayer") | ||||||
| 	procGetLayerMountPath   = modvmcompute.NewProc("GetLayerMountPath") |  | ||||||
| 	procGetBaseImages       = modvmcompute.NewProc("GetBaseImages") | 	procGetBaseImages       = modvmcompute.NewProc("GetBaseImages") | ||||||
|  | 	procGetLayerMountPath   = modvmcompute.NewProc("GetLayerMountPath") | ||||||
|  | 	procGrantVmAccess       = modvmcompute.NewProc("GrantVmAccess") | ||||||
| 	procImportLayer         = modvmcompute.NewProc("ImportLayer") | 	procImportLayer         = modvmcompute.NewProc("ImportLayer") | ||||||
| 	procLayerExists         = modvmcompute.NewProc("LayerExists") | 	procLayerExists         = modvmcompute.NewProc("LayerExists") | ||||||
| 	procNameToGuid          = modvmcompute.NewProc("NameToGuid") | 	procNameToGuid          = modvmcompute.NewProc("NameToGuid") | ||||||
| 	procPrepareLayer        = modvmcompute.NewProc("PrepareLayer") | 	procPrepareLayer        = modvmcompute.NewProc("PrepareLayer") | ||||||
| 	procUnprepareLayer      = modvmcompute.NewProc("UnprepareLayer") |  | ||||||
| 	procProcessBaseImage    = modvmcompute.NewProc("ProcessBaseImage") | 	procProcessBaseImage    = modvmcompute.NewProc("ProcessBaseImage") | ||||||
| 	procProcessUtilityImage = modvmcompute.NewProc("ProcessUtilityImage") | 	procProcessUtilityImage = modvmcompute.NewProc("ProcessUtilityImage") | ||||||
| 	procGrantVmAccess       = modvmcompute.NewProc("GrantVmAccess") | 	procUnprepareLayer      = modvmcompute.NewProc("UnprepareLayer") | ||||||
| 	procOpenVirtualDisk     = modvirtdisk.NewProc("OpenVirtualDisk") |  | ||||||
| 	procAttachVirtualDisk   = modvirtdisk.NewProc("AttachVirtualDisk") |  | ||||||
| 	procGetDiskFreeSpaceExW = modkernel32.NewProc("GetDiskFreeSpaceExW") |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | func getDiskFreeSpaceEx(directoryName string, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, err = syscall.UTF16PtrFromString(directoryName) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _getDiskFreeSpaceEx(_p0, freeBytesAvailableToCaller, totalNumberOfBytes, totalNumberOfFreeBytes) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _getDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) { | ||||||
|  | 	r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) | ||||||
|  | 	if r1 == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func attachVirtualDisk(handle syscall.Handle, sd uintptr, flags uint32, providerFlags uint32, params uintptr, overlapped uintptr) (err error) { | ||||||
|  | 	r1, _, e1 := syscall.Syscall6(procAttachVirtualDisk.Addr(), 6, uintptr(handle), uintptr(sd), uintptr(flags), uintptr(providerFlags), uintptr(params), uintptr(overlapped)) | ||||||
|  | 	if r1 != 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func openVirtualDisk(virtualStorageType *virtualStorageType, path string, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, err = syscall.UTF16PtrFromString(path) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _openVirtualDisk(virtualStorageType, _p0, virtualDiskAccessMask, flags, parameters, handle) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _openVirtualDisk(virtualStorageType *virtualStorageType, path *uint16, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) { | ||||||
|  | 	r1, _, e1 := syscall.Syscall6(procOpenVirtualDisk.Addr(), 6, uintptr(unsafe.Pointer(virtualStorageType)), uintptr(unsafe.Pointer(path)), uintptr(virtualDiskAccessMask), uintptr(flags), uintptr(unsafe.Pointer(parameters)), uintptr(unsafe.Pointer(handle))) | ||||||
|  | 	if r1 != 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func activateLayer(info *driverInfo, id string) (hr error) { | func activateLayer(info *driverInfo, id string) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
| @@ -74,7 +119,8 @@ func activateLayer(info *driverInfo, id string) (hr error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func _activateLayer(info *driverInfo, id *uint16) (hr error) { | func _activateLayer(info *driverInfo, id *uint16) (hr error) { | ||||||
| 	if hr = procActivateLayer.Find(); hr != nil { | 	hr = procActivateLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procActivateLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | 	r0, _, _ := syscall.Syscall(procActivateLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | ||||||
| @@ -102,13 +148,14 @@ func copyLayer(info *driverInfo, srcId string, dstId string, descriptors []WC_LA | |||||||
| } | } | ||||||
|  |  | ||||||
| func _copyLayer(info *driverInfo, srcId *uint16, dstId *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | func _copyLayer(info *driverInfo, srcId *uint16, dstId *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
|  | 	hr = procCopyLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
| 	var _p2 *WC_LAYER_DESCRIPTOR | 	var _p2 *WC_LAYER_DESCRIPTOR | ||||||
| 	if len(descriptors) > 0 { | 	if len(descriptors) > 0 { | ||||||
| 		_p2 = &descriptors[0] | 		_p2 = &descriptors[0] | ||||||
| 	} | 	} | ||||||
| 	if hr = procCopyLayer.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procCopyLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(srcId)), uintptr(unsafe.Pointer(dstId)), uintptr(unsafe.Pointer(_p2)), uintptr(len(descriptors)), 0) | 	r0, _, _ := syscall.Syscall6(procCopyLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(srcId)), uintptr(unsafe.Pointer(dstId)), uintptr(unsafe.Pointer(_p2)), uintptr(len(descriptors)), 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| @@ -134,7 +181,8 @@ func createLayer(info *driverInfo, id string, parent string) (hr error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func _createLayer(info *driverInfo, id *uint16, parent *uint16) (hr error) { | func _createLayer(info *driverInfo, id *uint16, parent *uint16) (hr error) { | ||||||
| 	if hr = procCreateLayer.Find(); hr != nil { | 	hr = procCreateLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procCreateLayer.Addr(), 3, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(parent))) | 	r0, _, _ := syscall.Syscall(procCreateLayer.Addr(), 3, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(parent))) | ||||||
| @@ -157,13 +205,14 @@ func createSandboxLayer(info *driverInfo, id string, parent uintptr, descriptors | |||||||
| } | } | ||||||
|  |  | ||||||
| func _createSandboxLayer(info *driverInfo, id *uint16, parent uintptr, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | func _createSandboxLayer(info *driverInfo, id *uint16, parent uintptr, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
|  | 	hr = procCreateSandboxLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
| 	var _p1 *WC_LAYER_DESCRIPTOR | 	var _p1 *WC_LAYER_DESCRIPTOR | ||||||
| 	if len(descriptors) > 0 { | 	if len(descriptors) > 0 { | ||||||
| 		_p1 = &descriptors[0] | 		_p1 = &descriptors[0] | ||||||
| 	} | 	} | ||||||
| 	if hr = procCreateSandboxLayer.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procCreateSandboxLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(parent), uintptr(unsafe.Pointer(_p1)), uintptr(len(descriptors)), 0) | 	r0, _, _ := syscall.Syscall6(procCreateSandboxLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(parent), uintptr(unsafe.Pointer(_p1)), uintptr(len(descriptors)), 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| @@ -174,29 +223,6 @@ func _createSandboxLayer(info *driverInfo, id *uint16, parent uintptr, descripto | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func expandSandboxSize(info *driverInfo, id string, size uint64) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _expandSandboxSize(info, _p0, size) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _expandSandboxSize(info *driverInfo, id *uint16, size uint64) (hr error) { |  | ||||||
| 	if hr = procExpandSandboxSize.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procExpandSandboxSize.Addr(), 3, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(size)) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func deactivateLayer(info *driverInfo, id string) (hr error) { | func deactivateLayer(info *driverInfo, id string) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
| @@ -207,7 +233,8 @@ func deactivateLayer(info *driverInfo, id string) (hr error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func _deactivateLayer(info *driverInfo, id *uint16) (hr error) { | func _deactivateLayer(info *driverInfo, id *uint16) (hr error) { | ||||||
| 	if hr = procDeactivateLayer.Find(); hr != nil { | 	hr = procDeactivateLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procDeactivateLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | 	r0, _, _ := syscall.Syscall(procDeactivateLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | ||||||
| @@ -230,7 +257,8 @@ func destroyLayer(info *driverInfo, id string) (hr error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func _destroyLayer(info *driverInfo, id *uint16) (hr error) { | func _destroyLayer(info *driverInfo, id *uint16) (hr error) { | ||||||
| 	if hr = procDestroyLayer.Find(); hr != nil { | 	hr = procDestroyLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procDestroyLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | 	r0, _, _ := syscall.Syscall(procDestroyLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | ||||||
| @@ -243,6 +271,30 @@ func _destroyLayer(info *driverInfo, id *uint16) (hr error) { | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func expandSandboxSize(info *driverInfo, id string, size uint64) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _expandSandboxSize(info, _p0, size) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _expandSandboxSize(info *driverInfo, id *uint16, size uint64) (hr error) { | ||||||
|  | 	hr = procExpandSandboxSize.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procExpandSandboxSize.Addr(), 3, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(size)) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func exportLayer(info *driverInfo, id string, path string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | func exportLayer(info *driverInfo, id string, path string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
| @@ -258,14 +310,30 @@ func exportLayer(info *driverInfo, id string, path string, descriptors []WC_LAYE | |||||||
| } | } | ||||||
|  |  | ||||||
| func _exportLayer(info *driverInfo, id *uint16, path *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | func _exportLayer(info *driverInfo, id *uint16, path *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
|  | 	hr = procExportLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
| 	var _p2 *WC_LAYER_DESCRIPTOR | 	var _p2 *WC_LAYER_DESCRIPTOR | ||||||
| 	if len(descriptors) > 0 { | 	if len(descriptors) > 0 { | ||||||
| 		_p2 = &descriptors[0] | 		_p2 = &descriptors[0] | ||||||
| 	} | 	} | ||||||
| 	if hr = procExportLayer.Find(); hr != nil { | 	r0, _, _ := syscall.Syscall6(procExportLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(_p2)), uintptr(len(descriptors)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func getBaseImages(buffer **uint16) (hr error) { | ||||||
|  | 	hr = procGetBaseImages.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procExportLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(_p2)), uintptr(len(descriptors)), 0) | 	r0, _, _ := syscall.Syscall(procGetBaseImages.Addr(), 1, uintptr(unsafe.Pointer(buffer)), 0, 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -285,7 +353,8 @@ func getLayerMountPath(info *driverInfo, id string, length *uintptr, buffer *uin | |||||||
| } | } | ||||||
|  |  | ||||||
| func _getLayerMountPath(info *driverInfo, id *uint16, length *uintptr, buffer *uint16) (hr error) { | func _getLayerMountPath(info *driverInfo, id *uint16, length *uintptr, buffer *uint16) (hr error) { | ||||||
| 	if hr = procGetLayerMountPath.Find(); hr != nil { | 	hr = procGetLayerMountPath.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procGetLayerMountPath.Addr(), 4, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(length)), uintptr(unsafe.Pointer(buffer)), 0, 0) | 	r0, _, _ := syscall.Syscall6(procGetLayerMountPath.Addr(), 4, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(length)), uintptr(unsafe.Pointer(buffer)), 0, 0) | ||||||
| @@ -298,194 +367,6 @@ func _getLayerMountPath(info *driverInfo, id *uint16, length *uintptr, buffer *u | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func getBaseImages(buffer **uint16) (hr error) { |  | ||||||
| 	if hr = procGetBaseImages.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procGetBaseImages.Addr(), 1, uintptr(unsafe.Pointer(buffer)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func importLayer(info *driverInfo, id string, path string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	var _p1 *uint16 |  | ||||||
| 	_p1, hr = syscall.UTF16PtrFromString(path) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _importLayer(info, _p0, _p1, descriptors) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _importLayer(info *driverInfo, id *uint16, path *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { |  | ||||||
| 	var _p2 *WC_LAYER_DESCRIPTOR |  | ||||||
| 	if len(descriptors) > 0 { |  | ||||||
| 		_p2 = &descriptors[0] |  | ||||||
| 	} |  | ||||||
| 	if hr = procImportLayer.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procImportLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(_p2)), uintptr(len(descriptors)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func layerExists(info *driverInfo, id string, exists *uint32) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _layerExists(info, _p0, exists) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _layerExists(info *driverInfo, id *uint16, exists *uint32) (hr error) { |  | ||||||
| 	if hr = procLayerExists.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procLayerExists.Addr(), 3, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(exists))) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func nameToGuid(name string, guid *_guid) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(name) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _nameToGuid(_p0, guid) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _nameToGuid(name *uint16, guid *_guid) (hr error) { |  | ||||||
| 	if hr = procNameToGuid.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procNameToGuid.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(guid)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func prepareLayer(info *driverInfo, id string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _prepareLayer(info, _p0, descriptors) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _prepareLayer(info *driverInfo, id *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { |  | ||||||
| 	var _p1 *WC_LAYER_DESCRIPTOR |  | ||||||
| 	if len(descriptors) > 0 { |  | ||||||
| 		_p1 = &descriptors[0] |  | ||||||
| 	} |  | ||||||
| 	if hr = procPrepareLayer.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procPrepareLayer.Addr(), 4, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(_p1)), uintptr(len(descriptors)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func unprepareLayer(info *driverInfo, id string) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(id) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _unprepareLayer(info, _p0) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _unprepareLayer(info *driverInfo, id *uint16) (hr error) { |  | ||||||
| 	if hr = procUnprepareLayer.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procUnprepareLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func processBaseImage(path string) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(path) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _processBaseImage(_p0) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _processBaseImage(path *uint16) (hr error) { |  | ||||||
| 	if hr = procProcessBaseImage.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procProcessBaseImage.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func processUtilityImage(path string) (hr error) { |  | ||||||
| 	var _p0 *uint16 |  | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(path) |  | ||||||
| 	if hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	return _processUtilityImage(_p0) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func _processUtilityImage(path *uint16) (hr error) { |  | ||||||
| 	if hr = procProcessUtilityImage.Find(); hr != nil { |  | ||||||
| 		return |  | ||||||
| 	} |  | ||||||
| 	r0, _, _ := syscall.Syscall(procProcessUtilityImage.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func grantVmAccess(vmid string, filepath string) (hr error) { | func grantVmAccess(vmid string, filepath string) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(vmid) | 	_p0, hr = syscall.UTF16PtrFromString(vmid) | ||||||
| @@ -501,7 +382,8 @@ func grantVmAccess(vmid string, filepath string) (hr error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func _grantVmAccess(vmid *uint16, filepath *uint16) (hr error) { | func _grantVmAccess(vmid *uint16, filepath *uint16) (hr error) { | ||||||
| 	if hr = procGrantVmAccess.Find(); hr != nil { | 	hr = procGrantVmAccess.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall(procGrantVmAccess.Addr(), 2, uintptr(unsafe.Pointer(vmid)), uintptr(unsafe.Pointer(filepath)), 0) | 	r0, _, _ := syscall.Syscall(procGrantVmAccess.Addr(), 2, uintptr(unsafe.Pointer(vmid)), uintptr(unsafe.Pointer(filepath)), 0) | ||||||
| @@ -514,56 +396,183 @@ func _grantVmAccess(vmid *uint16, filepath *uint16) (hr error) { | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func openVirtualDisk(virtualStorageType *virtualStorageType, path string, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) { | func importLayer(info *driverInfo, id string, path string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, err = syscall.UTF16PtrFromString(path) | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
| 	if err != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _openVirtualDisk(virtualStorageType, _p0, virtualDiskAccessMask, flags, parameters, handle) | 	var _p1 *uint16 | ||||||
|  | 	_p1, hr = syscall.UTF16PtrFromString(path) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _importLayer(info, _p0, _p1, descriptors) | ||||||
| } | } | ||||||
|  |  | ||||||
| func _openVirtualDisk(virtualStorageType *virtualStorageType, path *uint16, virtualDiskAccessMask uint32, flags uint32, parameters *openVirtualDiskParameters, handle *syscall.Handle) (err error) { | func _importLayer(info *driverInfo, id *uint16, path *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
| 	r1, _, e1 := syscall.Syscall6(procOpenVirtualDisk.Addr(), 6, uintptr(unsafe.Pointer(virtualStorageType)), uintptr(unsafe.Pointer(path)), uintptr(virtualDiskAccessMask), uintptr(flags), uintptr(unsafe.Pointer(parameters)), uintptr(unsafe.Pointer(handle))) | 	hr = procImportLayer.Find() | ||||||
| 	if r1 != 0 { | 	if hr != nil { | ||||||
| 		if e1 != 0 { | 		return | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 	} | 	} | ||||||
|  | 	var _p2 *WC_LAYER_DESCRIPTOR | ||||||
|  | 	if len(descriptors) > 0 { | ||||||
|  | 		_p2 = &descriptors[0] | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procImportLayer.Addr(), 5, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(_p2)), uintptr(len(descriptors)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
| 	} | 	} | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func attachVirtualDisk(handle syscall.Handle, sd uintptr, flags uint32, providerFlags uint32, params uintptr, overlapped uintptr) (err error) { | func layerExists(info *driverInfo, id string, exists *uint32) (hr error) { | ||||||
| 	r1, _, e1 := syscall.Syscall6(procAttachVirtualDisk.Addr(), 6, uintptr(handle), uintptr(sd), uintptr(flags), uintptr(providerFlags), uintptr(params), uintptr(overlapped)) |  | ||||||
| 	if r1 != 0 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func getDiskFreeSpaceEx(directoryName string, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) { |  | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, err = syscall.UTF16PtrFromString(directoryName) | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
| 	if err != nil { | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	return _getDiskFreeSpaceEx(_p0, freeBytesAvailableToCaller, totalNumberOfBytes, totalNumberOfFreeBytes) | 	return _layerExists(info, _p0, exists) | ||||||
| } | } | ||||||
|  |  | ||||||
| func _getDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *int64, totalNumberOfBytes *int64, totalNumberOfFreeBytes *int64) (err error) { | func _layerExists(info *driverInfo, id *uint16, exists *uint32) (hr error) { | ||||||
| 	r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) | 	hr = procLayerExists.Find() | ||||||
| 	if r1 == 0 { | 	if hr != nil { | ||||||
| 		if e1 != 0 { | 		return | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 	} | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procLayerExists.Addr(), 3, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(exists))) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func nameToGuid(name string, guid *_guid) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(name) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _nameToGuid(_p0, guid) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _nameToGuid(name *uint16, guid *_guid) (hr error) { | ||||||
|  | 	hr = procNameToGuid.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procNameToGuid.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(guid)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func prepareLayer(info *driverInfo, id string, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _prepareLayer(info, _p0, descriptors) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _prepareLayer(info *driverInfo, id *uint16, descriptors []WC_LAYER_DESCRIPTOR) (hr error) { | ||||||
|  | 	hr = procPrepareLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	var _p1 *WC_LAYER_DESCRIPTOR | ||||||
|  | 	if len(descriptors) > 0 { | ||||||
|  | 		_p1 = &descriptors[0] | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procPrepareLayer.Addr(), 4, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), uintptr(unsafe.Pointer(_p1)), uintptr(len(descriptors)), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func processBaseImage(path string) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(path) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _processBaseImage(_p0) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _processBaseImage(path *uint16) (hr error) { | ||||||
|  | 	hr = procProcessBaseImage.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procProcessBaseImage.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func processUtilityImage(path string) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(path) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _processUtilityImage(_p0) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _processUtilityImage(path *uint16) (hr error) { | ||||||
|  | 	hr = procProcessUtilityImage.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procProcessUtilityImage.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func unprepareLayer(info *driverInfo, id string) (hr error) { | ||||||
|  | 	var _p0 *uint16 | ||||||
|  | 	_p0, hr = syscall.UTF16PtrFromString(id) | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	return _unprepareLayer(info, _p0) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func _unprepareLayer(info *driverInfo, id *uint16) (hr error) { | ||||||
|  | 	hr = procUnprepareLayer.Find() | ||||||
|  | 	if hr != nil { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	r0, _, _ := syscall.Syscall(procUnprepareLayer.Addr(), 2, uintptr(unsafe.Pointer(info)), uintptr(unsafe.Pointer(id)), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
| 	} | 	} | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/filesystem.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/filesystem.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,6 +2,7 @@ | |||||||
|  |  | ||||||
| package winapi | package winapi | ||||||
|  |  | ||||||
|  | //sys CopyFileW(existingFileName *uint16, newFileName *uint16, failIfExists int32) (err error) = kernel32.CopyFileW | ||||||
| //sys NtCreateFile(handle *uintptr, accessMask uint32, oa *ObjectAttributes, iosb *IOStatusBlock, allocationSize *uint64, fileAttributes uint32, shareAccess uint32, createDisposition uint32, createOptions uint32, eaBuffer *byte, eaLength uint32) (status uint32) = ntdll.NtCreateFile | //sys NtCreateFile(handle *uintptr, accessMask uint32, oa *ObjectAttributes, iosb *IOStatusBlock, allocationSize *uint64, fileAttributes uint32, shareAccess uint32, createDisposition uint32, createOptions uint32, eaBuffer *byte, eaLength uint32) (status uint32) = ntdll.NtCreateFile | ||||||
| //sys NtSetInformationFile(handle uintptr, iosb *IOStatusBlock, information uintptr, length uint32, class uint32) (status uint32) = ntdll.NtSetInformationFile | //sys NtSetInformationFile(handle uintptr, iosb *IOStatusBlock, information uintptr, length uint32, class uint32) (status uint32) = ntdll.NtSetInformationFile | ||||||
|  |  | ||||||
| @@ -36,6 +37,7 @@ const ( | |||||||
| // Select entries from FILE_INFO_BY_HANDLE_CLASS. | // Select entries from FILE_INFO_BY_HANDLE_CLASS. | ||||||
| // | // | ||||||
| // C declaration: | // C declaration: | ||||||
|  | // | ||||||
| //	typedef enum _FILE_INFO_BY_HANDLE_CLASS { | //	typedef enum _FILE_INFO_BY_HANDLE_CLASS { | ||||||
| //	    FileBasicInfo, | //	    FileBasicInfo, | ||||||
| //	    FileStandardInfo, | //	    FileStandardInfo, | ||||||
| @@ -100,6 +102,7 @@ type FileLinkInformation struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| // C declaration: | // C declaration: | ||||||
|  | // | ||||||
| //	typedef struct _FILE_ID_INFO { | //	typedef struct _FILE_ID_INFO { | ||||||
| //		ULONGLONG   VolumeSerialNumber; | //		ULONGLONG   VolumeSerialNumber; | ||||||
| //		FILE_ID_128 FileId; | //		FILE_ID_128 FileId; | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/process.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -20,8 +20,7 @@ const ProcessVmCounters = 3 | |||||||
| // | // | ||||||
| //sys NtQueryInformationProcess(processHandle windows.Handle, processInfoClass uint32, processInfo unsafe.Pointer, processInfoLength uint32, returnLength *uint32) (status uint32) = ntdll.NtQueryInformationProcess | //sys NtQueryInformationProcess(processHandle windows.Handle, processInfoClass uint32, processInfo unsafe.Pointer, processInfoLength uint32, returnLength *uint32) (status uint32) = ntdll.NtQueryInformationProcess | ||||||
|  |  | ||||||
| // typedef struct _VM_COUNTERS_EX | //	typedef struct _VM_COUNTERS_EX { | ||||||
| // { |  | ||||||
| //		   SIZE_T PeakVirtualSize; | //		   SIZE_T PeakVirtualSize; | ||||||
| //		   SIZE_T VirtualSize; | //		   SIZE_T VirtualSize; | ||||||
| //		   ULONG PageFaultCount; | //		   ULONG PageFaultCount; | ||||||
| @@ -35,7 +34,6 @@ const ProcessVmCounters = 3 | |||||||
| //		   SIZE_T PeakPagefileUsage; | //		   SIZE_T PeakPagefileUsage; | ||||||
| //		   SIZE_T PrivateUsage; | //		   SIZE_T PrivateUsage; | ||||||
| //	} VM_COUNTERS_EX, *PVM_COUNTERS_EX; | //	} VM_COUNTERS_EX, *PVM_COUNTERS_EX; | ||||||
| // |  | ||||||
| type VM_COUNTERS_EX struct { | type VM_COUNTERS_EX struct { | ||||||
| 	PeakVirtualSize            uintptr | 	PeakVirtualSize            uintptr | ||||||
| 	VirtualSize                uintptr | 	VirtualSize                uintptr | ||||||
| @@ -51,13 +49,11 @@ type VM_COUNTERS_EX struct { | |||||||
| 	PrivateUsage               uintptr | 	PrivateUsage               uintptr | ||||||
| } | } | ||||||
|  |  | ||||||
| // typedef struct _VM_COUNTERS_EX2 | //	typedef struct _VM_COUNTERS_EX2 { | ||||||
| // { |  | ||||||
| //		   VM_COUNTERS_EX CountersEx; | //		   VM_COUNTERS_EX CountersEx; | ||||||
| //		   SIZE_T PrivateWorkingSetSize; | //		   SIZE_T PrivateWorkingSetSize; | ||||||
| //		   SIZE_T SharedCommitUsage; | //		   SIZE_T SharedCommitUsage; | ||||||
| //	} VM_COUNTERS_EX2, *PVM_COUNTERS_EX2; | //	} VM_COUNTERS_EX2, *PVM_COUNTERS_EX2; | ||||||
| // |  | ||||||
| type VM_COUNTERS_EX2 struct { | type VM_COUNTERS_EX2 struct { | ||||||
| 	CountersEx            VM_COUNTERS_EX | 	CountersEx            VM_COUNTERS_EX | ||||||
| 	PrivateWorkingSetSize uintptr | 	PrivateWorkingSetSize uintptr | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/utils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/utils.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -34,7 +34,7 @@ type UnicodeString struct { | |||||||
| // denotes the maximum number of wide chars a path can have. | // denotes the maximum number of wide chars a path can have. | ||||||
| const NTSTRSAFE_UNICODE_STRING_MAX_CCH = 32767 | const NTSTRSAFE_UNICODE_STRING_MAX_CCH = 32767 | ||||||
|  |  | ||||||
| //String converts a UnicodeString to a golang string | // String converts a UnicodeString to a golang string | ||||||
| func (uni UnicodeString) String() string { | func (uni UnicodeString) String() string { | ||||||
| 	// UnicodeString is not guaranteed to be null terminated, therefore | 	// UnicodeString is not guaranteed to be null terminated, therefore | ||||||
| 	// use the UnicodeString's Length field | 	// use the UnicodeString's Length field | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/winapi.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/winapi.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,3 +1,3 @@ | |||||||
| package winapi | package winapi | ||||||
|  |  | ||||||
| //go:generate go run ..\..\mksyscall_windows.go -output zsyscall_windows.go bindflt.go user.go console.go system.go net.go path.go thread.go jobobject.go logon.go memory.go process.go processor.go devices.go filesystem.go errors.go | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go ./*.go | ||||||
|   | |||||||
							
								
								
									
										481
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										481
									
								
								vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package winapi | package winapi | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
| @@ -37,51 +40,61 @@ func errnoErr(e syscall.Errno) error { | |||||||
| } | } | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	modbindfltapi = windows.NewLazySystemDLL("bindfltapi.dll") |  | ||||||
| 	modnetapi32   = windows.NewLazySystemDLL("netapi32.dll") |  | ||||||
| 	modkernel32   = windows.NewLazySystemDLL("kernel32.dll") |  | ||||||
| 	modntdll      = windows.NewLazySystemDLL("ntdll.dll") |  | ||||||
| 	modiphlpapi   = windows.NewLazySystemDLL("iphlpapi.dll") |  | ||||||
| 	modadvapi32   = windows.NewLazySystemDLL("advapi32.dll") | 	modadvapi32   = windows.NewLazySystemDLL("advapi32.dll") | ||||||
|  | 	modbindfltapi = windows.NewLazySystemDLL("bindfltapi.dll") | ||||||
| 	modcfgmgr32   = windows.NewLazySystemDLL("cfgmgr32.dll") | 	modcfgmgr32   = windows.NewLazySystemDLL("cfgmgr32.dll") | ||||||
|  | 	modiphlpapi   = windows.NewLazySystemDLL("iphlpapi.dll") | ||||||
|  | 	modkernel32   = windows.NewLazySystemDLL("kernel32.dll") | ||||||
|  | 	modnetapi32   = windows.NewLazySystemDLL("netapi32.dll") | ||||||
|  | 	modntdll      = windows.NewLazySystemDLL("ntdll.dll") | ||||||
|  |  | ||||||
|  | 	procLogonUserW                             = modadvapi32.NewProc("LogonUserW") | ||||||
| 	procBfSetupFilter                          = modbindfltapi.NewProc("BfSetupFilter") | 	procBfSetupFilter                          = modbindfltapi.NewProc("BfSetupFilter") | ||||||
|  | 	procCM_Get_DevNode_PropertyW               = modcfgmgr32.NewProc("CM_Get_DevNode_PropertyW") | ||||||
|  | 	procCM_Get_Device_ID_ListA                 = modcfgmgr32.NewProc("CM_Get_Device_ID_ListA") | ||||||
|  | 	procCM_Get_Device_ID_List_SizeA            = modcfgmgr32.NewProc("CM_Get_Device_ID_List_SizeA") | ||||||
|  | 	procCM_Locate_DevNodeW                     = modcfgmgr32.NewProc("CM_Locate_DevNodeW") | ||||||
|  | 	procSetJobCompartmentId                    = modiphlpapi.NewProc("SetJobCompartmentId") | ||||||
|  | 	procClosePseudoConsole                     = modkernel32.NewProc("ClosePseudoConsole") | ||||||
|  | 	procCopyFileW                              = modkernel32.NewProc("CopyFileW") | ||||||
|  | 	procCreatePseudoConsole                    = modkernel32.NewProc("CreatePseudoConsole") | ||||||
|  | 	procCreateRemoteThread                     = modkernel32.NewProc("CreateRemoteThread") | ||||||
|  | 	procGetActiveProcessorCount                = modkernel32.NewProc("GetActiveProcessorCount") | ||||||
|  | 	procIsProcessInJob                         = modkernel32.NewProc("IsProcessInJob") | ||||||
|  | 	procLocalAlloc                             = modkernel32.NewProc("LocalAlloc") | ||||||
|  | 	procLocalFree                              = modkernel32.NewProc("LocalFree") | ||||||
|  | 	procOpenJobObjectW                         = modkernel32.NewProc("OpenJobObjectW") | ||||||
|  | 	procQueryInformationJobObject              = modkernel32.NewProc("QueryInformationJobObject") | ||||||
|  | 	procQueryIoRateControlInformationJobObject = modkernel32.NewProc("QueryIoRateControlInformationJobObject") | ||||||
|  | 	procResizePseudoConsole                    = modkernel32.NewProc("ResizePseudoConsole") | ||||||
|  | 	procSearchPathW                            = modkernel32.NewProc("SearchPathW") | ||||||
|  | 	procSetIoRateControlInformationJobObject   = modkernel32.NewProc("SetIoRateControlInformationJobObject") | ||||||
|  | 	procNetLocalGroupAddMembers                = modnetapi32.NewProc("NetLocalGroupAddMembers") | ||||||
| 	procNetLocalGroupGetInfo                   = modnetapi32.NewProc("NetLocalGroupGetInfo") | 	procNetLocalGroupGetInfo                   = modnetapi32.NewProc("NetLocalGroupGetInfo") | ||||||
| 	procNetUserAdd                             = modnetapi32.NewProc("NetUserAdd") | 	procNetUserAdd                             = modnetapi32.NewProc("NetUserAdd") | ||||||
| 	procNetUserDel                             = modnetapi32.NewProc("NetUserDel") | 	procNetUserDel                             = modnetapi32.NewProc("NetUserDel") | ||||||
| 	procNetLocalGroupAddMembers                = modnetapi32.NewProc("NetLocalGroupAddMembers") |  | ||||||
| 	procCreatePseudoConsole                    = modkernel32.NewProc("CreatePseudoConsole") |  | ||||||
| 	procClosePseudoConsole                     = modkernel32.NewProc("ClosePseudoConsole") |  | ||||||
| 	procResizePseudoConsole                    = modkernel32.NewProc("ResizePseudoConsole") |  | ||||||
| 	procNtQuerySystemInformation               = modntdll.NewProc("NtQuerySystemInformation") |  | ||||||
| 	procSetJobCompartmentId                    = modiphlpapi.NewProc("SetJobCompartmentId") |  | ||||||
| 	procSearchPathW                            = modkernel32.NewProc("SearchPathW") |  | ||||||
| 	procCreateRemoteThread                     = modkernel32.NewProc("CreateRemoteThread") |  | ||||||
| 	procIsProcessInJob                         = modkernel32.NewProc("IsProcessInJob") |  | ||||||
| 	procQueryInformationJobObject              = modkernel32.NewProc("QueryInformationJobObject") |  | ||||||
| 	procOpenJobObjectW                         = modkernel32.NewProc("OpenJobObjectW") |  | ||||||
| 	procSetIoRateControlInformationJobObject   = modkernel32.NewProc("SetIoRateControlInformationJobObject") |  | ||||||
| 	procQueryIoRateControlInformationJobObject = modkernel32.NewProc("QueryIoRateControlInformationJobObject") |  | ||||||
| 	procNtOpenJobObject                        = modntdll.NewProc("NtOpenJobObject") |  | ||||||
| 	procNtCreateJobObject                      = modntdll.NewProc("NtCreateJobObject") |  | ||||||
| 	procLogonUserW                             = modadvapi32.NewProc("LogonUserW") |  | ||||||
| 	procLocalAlloc                             = modkernel32.NewProc("LocalAlloc") |  | ||||||
| 	procLocalFree                              = modkernel32.NewProc("LocalFree") |  | ||||||
| 	procNtQueryInformationProcess              = modntdll.NewProc("NtQueryInformationProcess") |  | ||||||
| 	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") |  | ||||||
| 	procCM_Locate_DevNodeW                     = modcfgmgr32.NewProc("CM_Locate_DevNodeW") |  | ||||||
| 	procCM_Get_DevNode_PropertyW               = modcfgmgr32.NewProc("CM_Get_DevNode_PropertyW") |  | ||||||
| 	procNtCreateFile                           = modntdll.NewProc("NtCreateFile") | 	procNtCreateFile                           = modntdll.NewProc("NtCreateFile") | ||||||
| 	procNtSetInformationFile                   = modntdll.NewProc("NtSetInformationFile") | 	procNtCreateJobObject                      = modntdll.NewProc("NtCreateJobObject") | ||||||
| 	procNtOpenDirectoryObject                  = modntdll.NewProc("NtOpenDirectoryObject") | 	procNtOpenDirectoryObject                  = modntdll.NewProc("NtOpenDirectoryObject") | ||||||
|  | 	procNtOpenJobObject                        = modntdll.NewProc("NtOpenJobObject") | ||||||
| 	procNtQueryDirectoryObject                 = modntdll.NewProc("NtQueryDirectoryObject") | 	procNtQueryDirectoryObject                 = modntdll.NewProc("NtQueryDirectoryObject") | ||||||
|  | 	procNtQueryInformationProcess              = modntdll.NewProc("NtQueryInformationProcess") | ||||||
|  | 	procNtQuerySystemInformation               = modntdll.NewProc("NtQuerySystemInformation") | ||||||
|  | 	procNtSetInformationFile                   = modntdll.NewProc("NtSetInformationFile") | ||||||
| 	procRtlNtStatusToDosError                  = modntdll.NewProc("RtlNtStatusToDosError") | 	procRtlNtStatusToDosError                  = modntdll.NewProc("RtlNtStatusToDosError") | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | 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 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func BfSetupFilter(jobHandle windows.Handle, flags uint32, virtRootPath *uint16, virtTargetPath *uint16, virtExceptions **uint16, virtExceptionPathCount uint32) (hr error) { | func BfSetupFilter(jobHandle windows.Handle, flags uint32, virtRootPath *uint16, virtTargetPath *uint16, virtExceptions **uint16, virtExceptionPathCount uint32) (hr error) { | ||||||
| 	if hr = procBfSetupFilter.Find(); hr != nil { | 	hr = procBfSetupFilter.Find() | ||||||
|  | 	if hr != nil { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall6(procBfSetupFilter.Addr(), 6, uintptr(jobHandle), uintptr(flags), uintptr(unsafe.Pointer(virtRootPath)), uintptr(unsafe.Pointer(virtTargetPath)), uintptr(unsafe.Pointer(virtExceptions)), uintptr(virtExceptionPathCount)) | 	r0, _, _ := syscall.Syscall6(procBfSetupFilter.Addr(), 6, uintptr(jobHandle), uintptr(flags), uintptr(unsafe.Pointer(virtRootPath)), uintptr(unsafe.Pointer(virtTargetPath)), uintptr(unsafe.Pointer(virtExceptions)), uintptr(virtExceptionPathCount)) | ||||||
| @@ -94,217 +107,8 @@ func BfSetupFilter(jobHandle windows.Handle, flags uint32, virtRootPath *uint16, | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func netLocalGroupGetInfo(serverName *uint16, groupName *uint16, level uint32, bufptr **byte) (status error) { | func CMGetDevNodeProperty(dnDevInst uint32, propertyKey *DevPropKey, propertyType *uint32, propertyBuffer *uint16, propertyBufferSize *uint32, uFlags uint32) (hr error) { | ||||||
| 	r0, _, _ := syscall.Syscall6(procNetLocalGroupGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(groupName)), uintptr(level), uintptr(unsafe.Pointer(bufptr)), 0, 0) | 	r0, _, _ := syscall.Syscall6(procCM_Get_DevNode_PropertyW.Addr(), 6, uintptr(dnDevInst), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(unsafe.Pointer(propertyBufferSize)), uintptr(uFlags)) | ||||||
| 	if r0 != 0 { |  | ||||||
| 		status = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func netUserAdd(serverName *uint16, level uint32, buf *byte, parm_err *uint32) (status error) { |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procNetUserAdd.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(parm_err)), 0, 0) |  | ||||||
| 	if r0 != 0 { |  | ||||||
| 		status = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func netUserDel(serverName *uint16, username *uint16) (status error) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procNetUserDel.Addr(), 2, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(username)), 0) |  | ||||||
| 	if r0 != 0 { |  | ||||||
| 		status = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func netLocalGroupAddMembers(serverName *uint16, groupName *uint16, level uint32, buf *byte, totalEntries uint32) (status error) { |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procNetLocalGroupAddMembers.Addr(), 5, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(groupName)), uintptr(level), uintptr(unsafe.Pointer(buf)), uintptr(totalEntries), 0) |  | ||||||
| 	if r0 != 0 { |  | ||||||
| 		status = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func createPseudoConsole(size uint32, hInput windows.Handle, hOutput windows.Handle, dwFlags uint32, hpcon *windows.Handle) (hr error) { |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procCreatePseudoConsole.Addr(), 5, uintptr(size), uintptr(hInput), uintptr(hOutput), uintptr(dwFlags), uintptr(unsafe.Pointer(hpcon)), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func ClosePseudoConsole(hpc windows.Handle) { |  | ||||||
| 	syscall.Syscall(procClosePseudoConsole.Addr(), 1, uintptr(hpc), 0, 0) |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func resizePseudoConsole(hPc windows.Handle, size uint32) (hr error) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procResizePseudoConsole.Addr(), 2, uintptr(hPc), uintptr(size), 0) |  | ||||||
| 	if int32(r0) < 0 { |  | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { |  | ||||||
| 			r0 &= 0xffff |  | ||||||
| 		} |  | ||||||
| 		hr = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NtQuerySystemInformation(systemInfoClass int, systemInformation unsafe.Pointer, 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 { |  | ||||||
| 		win32Err = syscall.Errno(r0) |  | ||||||
| 	} |  | ||||||
| 	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 IsProcessInJob(procHandle windows.Handle, jobHandle windows.Handle, result *int32) (err error) { |  | ||||||
| 	r1, _, e1 := syscall.Syscall(procIsProcessInJob.Addr(), 3, uintptr(procHandle), uintptr(jobHandle), uintptr(unsafe.Pointer(result))) |  | ||||||
| 	if r1 == 0 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func QueryInformationJobObject(jobHandle windows.Handle, infoClass uint32, jobObjectInfo unsafe.Pointer, jobObjectInformationLength uint32, lpReturnLength *uint32) (err error) { |  | ||||||
| 	r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(jobHandle), uintptr(infoClass), uintptr(jobObjectInfo), uintptr(jobObjectInformationLength), uintptr(unsafe.Pointer(lpReturnLength)), 0) |  | ||||||
| 	if r1 == 0 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func OpenJobObject(desiredAccess uint32, inheritHandle int32, lpName *uint16) (handle windows.Handle, err error) { |  | ||||||
| 	r0, _, e1 := syscall.Syscall(procOpenJobObjectW.Addr(), 3, uintptr(desiredAccess), uintptr(inheritHandle), uintptr(unsafe.Pointer(lpName))) |  | ||||||
| 	handle = windows.Handle(r0) |  | ||||||
| 	if handle == 0 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func SetIoRateControlInformationJobObject(jobHandle windows.Handle, ioRateControlInfo *JOBOBJECT_IO_RATE_CONTROL_INFORMATION) (ret uint32, err error) { |  | ||||||
| 	r0, _, e1 := syscall.Syscall(procSetIoRateControlInformationJobObject.Addr(), 2, uintptr(jobHandle), uintptr(unsafe.Pointer(ioRateControlInfo)), 0) |  | ||||||
| 	ret = uint32(r0) |  | ||||||
| 	if ret == 0 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func QueryIoRateControlInformationJobObject(jobHandle windows.Handle, volumeName *uint16, ioRateControlInfo **JOBOBJECT_IO_RATE_CONTROL_INFORMATION, infoBlockCount *uint32) (ret uint32, err error) { |  | ||||||
| 	r0, _, e1 := syscall.Syscall6(procQueryIoRateControlInformationJobObject.Addr(), 4, uintptr(jobHandle), uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(ioRateControlInfo)), uintptr(unsafe.Pointer(infoBlockCount)), 0, 0) |  | ||||||
| 	ret = uint32(r0) |  | ||||||
| 	if ret == 0 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NtOpenJobObject(jobHandle *windows.Handle, desiredAccess uint32, objAttributes *ObjectAttributes) (status uint32) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procNtOpenJobObject.Addr(), 3, uintptr(unsafe.Pointer(jobHandle)), uintptr(desiredAccess), uintptr(unsafe.Pointer(objAttributes))) |  | ||||||
| 	status = uint32(r0) |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NtCreateJobObject(jobHandle *windows.Handle, desiredAccess uint32, objAttributes *ObjectAttributes) (status uint32) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procNtCreateJobObject.Addr(), 3, uintptr(unsafe.Pointer(jobHandle)), uintptr(desiredAccess), uintptr(unsafe.Pointer(objAttributes))) |  | ||||||
| 	status = uint32(r0) |  | ||||||
| 	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 { |  | ||||||
| 		if e1 != 0 { |  | ||||||
| 			err = errnoErr(e1) |  | ||||||
| 		} else { |  | ||||||
| 			err = syscall.EINVAL |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func LocalAlloc(flags uint32, size int) (ptr uintptr) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(size), 0) |  | ||||||
| 	ptr = uintptr(r0) |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func LocalFree(ptr uintptr) { |  | ||||||
| 	syscall.Syscall(procLocalFree.Addr(), 1, uintptr(ptr), 0, 0) |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NtQueryInformationProcess(processHandle windows.Handle, processInfoClass uint32, processInfo unsafe.Pointer, processInfoLength uint32, returnLength *uint32) (status uint32) { |  | ||||||
| 	r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(processHandle), uintptr(processInfoClass), uintptr(processInfo), uintptr(processInfoLength), uintptr(unsafe.Pointer(returnLength)), 0) |  | ||||||
| 	status = uint32(r0) |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func GetActiveProcessorCount(groupNumber uint16) (amount uint32) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) |  | ||||||
| 	amount = uint32(r0) |  | ||||||
| 	return |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func CMGetDeviceIDListSize(pulLen *uint32, pszFilter *byte, uFlags uint32) (hr error) { |  | ||||||
| 	r0, _, _ := syscall.Syscall(procCM_Get_Device_ID_List_SizeA.Addr(), 3, uintptr(unsafe.Pointer(pulLen)), uintptr(unsafe.Pointer(pszFilter)), uintptr(uFlags)) |  | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -325,6 +129,17 @@ func CMGetDeviceIDList(pszFilter *byte, buffer *byte, bufferLen uint32, uFlags u | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func CMGetDeviceIDListSize(pulLen *uint32, pszFilter *byte, uFlags uint32) (hr error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall(procCM_Get_Device_ID_List_SizeA.Addr(), 3, uintptr(unsafe.Pointer(pulLen)), uintptr(unsafe.Pointer(pszFilter)), uintptr(uFlags)) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func CMLocateDevNode(pdnDevInst *uint32, pDeviceID string, uFlags uint32) (hr error) { | func CMLocateDevNode(pdnDevInst *uint32, pDeviceID string, uFlags uint32) (hr error) { | ||||||
| 	var _p0 *uint16 | 	var _p0 *uint16 | ||||||
| 	_p0, hr = syscall.UTF16PtrFromString(pDeviceID) | 	_p0, hr = syscall.UTF16PtrFromString(pDeviceID) | ||||||
| @@ -345,8 +160,29 @@ func _CMLocateDevNode(pdnDevInst *uint32, pDeviceID *uint16, uFlags uint32) (hr | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func CMGetDevNodeProperty(dnDevInst uint32, propertyKey *DevPropKey, propertyType *uint32, propertyBuffer *uint16, propertyBufferSize *uint32, uFlags uint32) (hr error) { | func SetJobCompartmentId(handle windows.Handle, compartmentId uint32) (win32Err error) { | ||||||
| 	r0, _, _ := syscall.Syscall6(procCM_Get_DevNode_PropertyW.Addr(), 6, uintptr(dnDevInst), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(unsafe.Pointer(propertyBufferSize)), uintptr(uFlags)) | 	r0, _, _ := syscall.Syscall(procSetJobCompartmentId.Addr(), 2, uintptr(handle), uintptr(compartmentId), 0) | ||||||
|  | 	if r0 != 0 { | ||||||
|  | 		win32Err = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func ClosePseudoConsole(hpc windows.Handle) { | ||||||
|  | 	syscall.Syscall(procClosePseudoConsole.Addr(), 1, uintptr(hpc), 0, 0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func CopyFileW(existingFileName *uint16, newFileName *uint16, failIfExists int32) (err error) { | ||||||
|  | 	r1, _, e1 := syscall.Syscall(procCopyFileW.Addr(), 3, uintptr(unsafe.Pointer(existingFileName)), uintptr(unsafe.Pointer(newFileName)), uintptr(failIfExists)) | ||||||
|  | 	if r1 == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func createPseudoConsole(size uint32, hInput windows.Handle, hOutput windows.Handle, dwFlags uint32, hpcon *windows.Handle) (hr error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procCreatePseudoConsole.Addr(), 5, uintptr(size), uintptr(hInput), uintptr(hOutput), uintptr(dwFlags), uintptr(unsafe.Pointer(hpcon)), 0) | ||||||
| 	if int32(r0) < 0 { | 	if int32(r0) < 0 { | ||||||
| 		if r0&0x1fff0000 == 0x00070000 { | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
| 			r0 &= 0xffff | 			r0 &= 0xffff | ||||||
| @@ -356,14 +192,135 @@ func CMGetDevNodeProperty(dnDevInst uint32, propertyKey *DevPropKey, propertyTyp | |||||||
| 	return | 	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 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func GetActiveProcessorCount(groupNumber uint16) (amount uint32) { | ||||||
|  | 	r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) | ||||||
|  | 	amount = uint32(r0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func IsProcessInJob(procHandle windows.Handle, jobHandle windows.Handle, result *int32) (err error) { | ||||||
|  | 	r1, _, e1 := syscall.Syscall(procIsProcessInJob.Addr(), 3, uintptr(procHandle), uintptr(jobHandle), uintptr(unsafe.Pointer(result))) | ||||||
|  | 	if r1 == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func LocalAlloc(flags uint32, size int) (ptr uintptr) { | ||||||
|  | 	r0, _, _ := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(size), 0) | ||||||
|  | 	ptr = uintptr(r0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func LocalFree(ptr uintptr) { | ||||||
|  | 	syscall.Syscall(procLocalFree.Addr(), 1, uintptr(ptr), 0, 0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func OpenJobObject(desiredAccess uint32, inheritHandle int32, lpName *uint16) (handle windows.Handle, err error) { | ||||||
|  | 	r0, _, e1 := syscall.Syscall(procOpenJobObjectW.Addr(), 3, uintptr(desiredAccess), uintptr(inheritHandle), uintptr(unsafe.Pointer(lpName))) | ||||||
|  | 	handle = windows.Handle(r0) | ||||||
|  | 	if handle == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func QueryInformationJobObject(jobHandle windows.Handle, infoClass uint32, jobObjectInfo unsafe.Pointer, jobObjectInformationLength uint32, lpReturnLength *uint32) (err error) { | ||||||
|  | 	r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(jobHandle), uintptr(infoClass), uintptr(jobObjectInfo), uintptr(jobObjectInformationLength), uintptr(unsafe.Pointer(lpReturnLength)), 0) | ||||||
|  | 	if r1 == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func QueryIoRateControlInformationJobObject(jobHandle windows.Handle, volumeName *uint16, ioRateControlInfo **JOBOBJECT_IO_RATE_CONTROL_INFORMATION, infoBlockCount *uint32) (ret uint32, err error) { | ||||||
|  | 	r0, _, e1 := syscall.Syscall6(procQueryIoRateControlInformationJobObject.Addr(), 4, uintptr(jobHandle), uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(ioRateControlInfo)), uintptr(unsafe.Pointer(infoBlockCount)), 0, 0) | ||||||
|  | 	ret = uint32(r0) | ||||||
|  | 	if ret == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func resizePseudoConsole(hPc windows.Handle, size uint32) (hr error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall(procResizePseudoConsole.Addr(), 2, uintptr(hPc), uintptr(size), 0) | ||||||
|  | 	if int32(r0) < 0 { | ||||||
|  | 		if r0&0x1fff0000 == 0x00070000 { | ||||||
|  | 			r0 &= 0xffff | ||||||
|  | 		} | ||||||
|  | 		hr = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	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 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func SetIoRateControlInformationJobObject(jobHandle windows.Handle, ioRateControlInfo *JOBOBJECT_IO_RATE_CONTROL_INFORMATION) (ret uint32, err error) { | ||||||
|  | 	r0, _, e1 := syscall.Syscall(procSetIoRateControlInformationJobObject.Addr(), 2, uintptr(jobHandle), uintptr(unsafe.Pointer(ioRateControlInfo)), 0) | ||||||
|  | 	ret = uint32(r0) | ||||||
|  | 	if ret == 0 { | ||||||
|  | 		err = errnoErr(e1) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func netLocalGroupAddMembers(serverName *uint16, groupName *uint16, level uint32, buf *byte, totalEntries uint32) (status error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procNetLocalGroupAddMembers.Addr(), 5, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(groupName)), uintptr(level), uintptr(unsafe.Pointer(buf)), uintptr(totalEntries), 0) | ||||||
|  | 	if r0 != 0 { | ||||||
|  | 		status = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func netLocalGroupGetInfo(serverName *uint16, groupName *uint16, level uint32, bufptr **byte) (status error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procNetLocalGroupGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(groupName)), uintptr(level), uintptr(unsafe.Pointer(bufptr)), 0, 0) | ||||||
|  | 	if r0 != 0 { | ||||||
|  | 		status = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func netUserAdd(serverName *uint16, level uint32, buf *byte, parm_err *uint32) (status error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procNetUserAdd.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(parm_err)), 0, 0) | ||||||
|  | 	if r0 != 0 { | ||||||
|  | 		status = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func netUserDel(serverName *uint16, username *uint16) (status error) { | ||||||
|  | 	r0, _, _ := syscall.Syscall(procNetUserDel.Addr(), 2, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(username)), 0) | ||||||
|  | 	if r0 != 0 { | ||||||
|  | 		status = syscall.Errno(r0) | ||||||
|  | 	} | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func NtCreateFile(handle *uintptr, accessMask uint32, oa *ObjectAttributes, iosb *IOStatusBlock, allocationSize *uint64, fileAttributes uint32, shareAccess uint32, createDisposition uint32, createOptions uint32, eaBuffer *byte, eaLength uint32) (status uint32) { | func NtCreateFile(handle *uintptr, accessMask uint32, oa *ObjectAttributes, iosb *IOStatusBlock, allocationSize *uint64, fileAttributes uint32, shareAccess uint32, createDisposition uint32, createOptions uint32, eaBuffer *byte, eaLength uint32) (status uint32) { | ||||||
| 	r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(accessMask), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(fileAttributes), uintptr(shareAccess), uintptr(createDisposition), uintptr(createOptions), uintptr(unsafe.Pointer(eaBuffer)), uintptr(eaLength), 0) | 	r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(accessMask), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(fileAttributes), uintptr(shareAccess), uintptr(createDisposition), uintptr(createOptions), uintptr(unsafe.Pointer(eaBuffer)), uintptr(eaLength), 0) | ||||||
| 	status = uint32(r0) | 	status = uint32(r0) | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
| func NtSetInformationFile(handle uintptr, iosb *IOStatusBlock, information uintptr, length uint32, class uint32) (status uint32) { | func NtCreateJobObject(jobHandle *windows.Handle, desiredAccess uint32, objAttributes *ObjectAttributes) (status uint32) { | ||||||
| 	r0, _, _ := syscall.Syscall6(procNtSetInformationFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(information), uintptr(length), uintptr(class), 0) | 	r0, _, _ := syscall.Syscall(procNtCreateJobObject.Addr(), 3, uintptr(unsafe.Pointer(jobHandle)), uintptr(desiredAccess), uintptr(unsafe.Pointer(objAttributes))) | ||||||
| 	status = uint32(r0) | 	status = uint32(r0) | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
| @@ -374,24 +331,44 @@ func NtOpenDirectoryObject(handle *uintptr, accessMask uint32, oa *ObjectAttribu | |||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func NtOpenJobObject(jobHandle *windows.Handle, desiredAccess uint32, objAttributes *ObjectAttributes) (status uint32) { | ||||||
|  | 	r0, _, _ := syscall.Syscall(procNtOpenJobObject.Addr(), 3, uintptr(unsafe.Pointer(jobHandle)), uintptr(desiredAccess), uintptr(unsafe.Pointer(objAttributes))) | ||||||
|  | 	status = uint32(r0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func NtQueryDirectoryObject(handle uintptr, buffer *byte, length uint32, singleEntry bool, restartScan bool, context *uint32, returnLength *uint32) (status uint32) { | func NtQueryDirectoryObject(handle uintptr, buffer *byte, length uint32, singleEntry bool, restartScan bool, context *uint32, returnLength *uint32) (status uint32) { | ||||||
| 	var _p0 uint32 | 	var _p0 uint32 | ||||||
| 	if singleEntry { | 	if singleEntry { | ||||||
| 		_p0 = 1 | 		_p0 = 1 | ||||||
| 	} else { |  | ||||||
| 		_p0 = 0 |  | ||||||
| 	} | 	} | ||||||
| 	var _p1 uint32 | 	var _p1 uint32 | ||||||
| 	if restartScan { | 	if restartScan { | ||||||
| 		_p1 = 1 | 		_p1 = 1 | ||||||
| 	} else { |  | ||||||
| 		_p1 = 0 |  | ||||||
| 	} | 	} | ||||||
| 	r0, _, _ := syscall.Syscall9(procNtQueryDirectoryObject.Addr(), 7, uintptr(handle), uintptr(unsafe.Pointer(buffer)), uintptr(length), uintptr(_p0), uintptr(_p1), uintptr(unsafe.Pointer(context)), uintptr(unsafe.Pointer(returnLength)), 0, 0) | 	r0, _, _ := syscall.Syscall9(procNtQueryDirectoryObject.Addr(), 7, uintptr(handle), uintptr(unsafe.Pointer(buffer)), uintptr(length), uintptr(_p0), uintptr(_p1), uintptr(unsafe.Pointer(context)), uintptr(unsafe.Pointer(returnLength)), 0, 0) | ||||||
| 	status = uint32(r0) | 	status = uint32(r0) | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func NtQueryInformationProcess(processHandle windows.Handle, processInfoClass uint32, processInfo unsafe.Pointer, processInfoLength uint32, returnLength *uint32) (status uint32) { | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(processHandle), uintptr(processInfoClass), uintptr(processInfo), uintptr(processInfoLength), uintptr(unsafe.Pointer(returnLength)), 0) | ||||||
|  | 	status = uint32(r0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func NtQuerySystemInformation(systemInfoClass int, systemInformation unsafe.Pointer, 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 NtSetInformationFile(handle uintptr, iosb *IOStatusBlock, information uintptr, length uint32, class uint32) (status uint32) { | ||||||
|  | 	r0, _, _ := syscall.Syscall6(procNtSetInformationFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(information), uintptr(length), uintptr(class), 0) | ||||||
|  | 	status = uint32(r0) | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  |  | ||||||
| func RtlNtStatusToDosError(status uint32) (winerr error) { | func RtlNtStatusToDosError(status uint32) (winerr error) { | ||||||
| 	r0, _, _ := syscall.Syscall(procRtlNtStatusToDosError.Addr(), 1, uintptr(status), 0, 0) | 	r0, _, _ := syscall.Syscall(procRtlNtStatusToDosError.Addr(), 1, uintptr(status), 0, 0) | ||||||
| 	if r0 != 0 { | 	if r0 != 0 { | ||||||
|   | |||||||
							
								
								
									
										40
									
								
								vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,37 +1,63 @@ | |||||||
| package osversion | package osversion | ||||||
|  |  | ||||||
|  | // Windows Client and Server build numbers. | ||||||
|  | // | ||||||
|  | // See: | ||||||
|  | // https://learn.microsoft.com/en-us/windows/release-health/release-information | ||||||
|  | // https://learn.microsoft.com/en-us/windows/release-health/windows-server-release-info | ||||||
|  | // https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information | ||||||
| const ( | const ( | ||||||
| 	// RS1 (version 1607, codename "Redstone 1") corresponds to Windows Server | 	// RS1 (version 1607, codename "Redstone 1") corresponds to Windows Server | ||||||
| 	// 2016 (ltsc2016) and Windows 10 (Anniversary Update). | 	// 2016 (ltsc2016) and Windows 10 (Anniversary Update). | ||||||
| 	RS1 = 14393 | 	RS1 = 14393 | ||||||
|  | 	// V1607 (version 1607, codename "Redstone 1") is an alias for [RS1]. | ||||||
|  | 	V1607 = RS1 | ||||||
|  | 	// LTSC2016 (Windows Server 2016) is an alias for [RS1]. | ||||||
|  | 	LTSC2016 = RS1 | ||||||
|  |  | ||||||
| 	// RS2 (version 1703, codename "Redstone 2") was a client-only update, and | 	// RS2 (version 1703, codename "Redstone 2") was a client-only update, and | ||||||
| 	// corresponds to Windows 10 (Creators Update). | 	// corresponds to Windows 10 (Creators Update). | ||||||
| 	RS2 = 15063 | 	RS2 = 15063 | ||||||
|  | 	// V1703 (version 1703, codename "Redstone 2") is an alias for [RS2]. | ||||||
|  | 	V1703 = RS2 | ||||||
|  |  | ||||||
| 	// RS3 (version 1709, codename "Redstone 3") corresponds to Windows Server | 	// RS3 (version 1709, codename "Redstone 3") corresponds to Windows Server | ||||||
| 	// 1709 (Semi-Annual Channel (SAC)), and Windows 10 (Fall Creators Update). | 	// 1709 (Semi-Annual Channel (SAC)), and Windows 10 (Fall Creators Update). | ||||||
| 	RS3 = 16299 | 	RS3 = 16299 | ||||||
|  | 	// V1709 (version 1709, codename "Redstone 3") is an alias for [RS3]. | ||||||
|  | 	V1709 = RS3 | ||||||
|  |  | ||||||
| 	// RS4 (version 1803, codename "Redstone 4") corresponds to Windows Server | 	// RS4 (version 1803, codename "Redstone 4") corresponds to Windows Server | ||||||
| 	// 1803 (Semi-Annual Channel (SAC)), and Windows 10 (April 2018 Update). | 	// 1803 (Semi-Annual Channel (SAC)), and Windows 10 (April 2018 Update). | ||||||
| 	RS4 = 17134 | 	RS4 = 17134 | ||||||
|  | 	// V1803 (version 1803, codename "Redstone 4") is an alias for [RS4]. | ||||||
|  | 	V1803 = RS4 | ||||||
|  |  | ||||||
| 	// RS5 (version 1809, codename "Redstone 5") corresponds to Windows Server | 	// RS5 (version 1809, codename "Redstone 5") corresponds to Windows Server | ||||||
| 	// 2019 (ltsc2019), and Windows 10 (October 2018 Update). | 	// 2019 (ltsc2019), and Windows 10 (October 2018 Update). | ||||||
| 	RS5 = 17763 | 	RS5 = 17763 | ||||||
|  | 	// V1809 (version 1809, codename "Redstone 5") is an alias for [RS5]. | ||||||
|  | 	V1809 = RS5 | ||||||
|  | 	// LTSC2019 (Windows Server 2019) is an alias for [RS5]. | ||||||
|  | 	LTSC2019 = RS5 | ||||||
|  |  | ||||||
| 	// V19H1 (version 1903) corresponds to Windows Server 1903 (semi-annual | 	// V19H1 (version 1903, codename 19H1) corresponds to Windows Server 1903 (semi-annual | ||||||
| 	// channel). | 	// channel). | ||||||
| 	V19H1 = 18362 | 	V19H1 = 18362 | ||||||
|  | 	// V1903 (version 1903) is an alias for [V19H1]. | ||||||
|  | 	V1903 = V19H1 | ||||||
|  |  | ||||||
| 	// V19H2 (version 1909) corresponds to Windows Server 1909 (semi-annual | 	// V19H2 (version 1909, codename 19H2) corresponds to Windows Server 1909 (semi-annual | ||||||
| 	// channel). | 	// channel). | ||||||
| 	V19H2 = 18363 | 	V19H2 = 18363 | ||||||
|  | 	// V1909 (version 1909) is an alias for [V19H2]. | ||||||
|  | 	V1909 = V19H2 | ||||||
|  |  | ||||||
| 	// V20H1 (version 2004) corresponds to Windows Server 2004 (semi-annual | 	// V20H1 (version 2004, codename 20H1) corresponds to Windows Server 2004 (semi-annual | ||||||
| 	// channel). | 	// channel). | ||||||
| 	V20H1 = 19041 | 	V20H1 = 19041 | ||||||
|  | 	// V2004 (version 2004) is an alias for [V20H1]. | ||||||
|  | 	V2004 = V20H1 | ||||||
|  |  | ||||||
| 	// V20H2 corresponds to Windows Server 20H2 (semi-annual channel). | 	// V20H2 corresponds to Windows Server 20H2 (semi-annual channel). | ||||||
| 	V20H2 = 19042 | 	V20H2 = 19042 | ||||||
| @@ -44,7 +70,15 @@ const ( | |||||||
|  |  | ||||||
| 	// V21H2Server corresponds to Windows Server 2022 (ltsc2022). | 	// V21H2Server corresponds to Windows Server 2022 (ltsc2022). | ||||||
| 	V21H2Server = 20348 | 	V21H2Server = 20348 | ||||||
|  | 	// LTSC2022 (Windows Server 2022) is an alias for [V21H2Server] | ||||||
|  | 	LTSC2022 = V21H2Server | ||||||
|  |  | ||||||
| 	// V21H2Win11 corresponds to Windows 11 (original release). | 	// V21H2Win11 corresponds to Windows 11 (original release). | ||||||
| 	V21H2Win11 = 22000 | 	V21H2Win11 = 22000 | ||||||
|  |  | ||||||
|  | 	// V22H2Win10 corresponds to Windows 10 (2022 Update). | ||||||
|  | 	V22H2Win10 = 19045 | ||||||
|  |  | ||||||
|  | 	// V22H2Win11 corresponds to Windows 11 (2022 Update). | ||||||
|  | 	V22H2Win11 = 22621 | ||||||
| ) | ) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								vendor/github.com/Microsoft/hcsshim/tools.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/Microsoft/hcsshim/tools.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | //go:build tools | ||||||
|  |  | ||||||
|  | package hcsshim | ||||||
|  |  | ||||||
|  | import _ "github.com/Microsoft/go-winio/tools/mkwinsyscall" | ||||||
							
								
								
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/Microsoft/hcsshim/zsyscall_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,4 +1,6 @@ | |||||||
| // Code generated mksyscall_windows.exe DO NOT EDIT | //go:build windows | ||||||
|  |  | ||||||
|  | // Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. | ||||||
|  |  | ||||||
| package hcsshim | package hcsshim | ||||||
|  |  | ||||||
| @@ -19,6 +21,7 @@ const ( | |||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | 	errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) | ||||||
|  | 	errERROR_EINVAL     error = syscall.EINVAL | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // errnoErr returns common boxed Errno values, to prevent | // errnoErr returns common boxed Errno values, to prevent | ||||||
| @@ -26,7 +29,7 @@ var ( | |||||||
| func errnoErr(e syscall.Errno) error { | func errnoErr(e syscall.Errno) error { | ||||||
| 	switch e { | 	switch e { | ||||||
| 	case 0: | 	case 0: | ||||||
| 		return nil | 		return errERROR_EINVAL | ||||||
| 	case errnoERROR_IO_PENDING: | 	case errnoERROR_IO_PENDING: | ||||||
| 		return errERROR_IO_PENDING | 		return errERROR_IO_PENDING | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								vendor/github.com/cenkalti/backoff/v4/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/cenkalti/backoff/v4/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,10 +0,0 @@ | |||||||
| 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 |  | ||||||
							
								
								
									
										50
									
								
								vendor/github.com/cenkalti/backoff/v4/retry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								vendor/github.com/cenkalti/backoff/v4/retry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -5,10 +5,20 @@ import ( | |||||||
| 	"time" | 	"time" | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | // An OperationWithData is executing by RetryWithData() or RetryNotifyWithData(). | ||||||
|  | // The operation will be retried using a backoff policy if it returns an error. | ||||||
|  | type OperationWithData[T any] func() (T, error) | ||||||
|  |  | ||||||
| // An Operation is executing by Retry() or RetryNotify(). | // An Operation is executing by Retry() or RetryNotify(). | ||||||
| // The operation will be retried using a backoff policy if it returns an error. | // The operation will be retried using a backoff policy if it returns an error. | ||||||
| type Operation func() error | type Operation func() error | ||||||
|  |  | ||||||
|  | func (o Operation) withEmptyData() OperationWithData[struct{}] { | ||||||
|  | 	return func() (struct{}, error) { | ||||||
|  | 		return struct{}{}, o() | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| // Notify is a notify-on-error function. It receives an operation error and | // Notify is a notify-on-error function. It receives an operation error and | ||||||
| // backoff delay if the operation failed (with an error). | // backoff delay if the operation failed (with an error). | ||||||
| // | // | ||||||
| @@ -28,18 +38,41 @@ func Retry(o Operation, b BackOff) error { | |||||||
| 	return RetryNotify(o, b, nil) | 	return RetryNotify(o, b, nil) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // RetryWithData is like Retry but returns data in the response too. | ||||||
|  | func RetryWithData[T any](o OperationWithData[T], b BackOff) (T, error) { | ||||||
|  | 	return RetryNotifyWithData(o, b, nil) | ||||||
|  | } | ||||||
|  |  | ||||||
| // RetryNotify calls notify function with the error and wait duration | // RetryNotify calls notify function with the error and wait duration | ||||||
| // for each failed attempt before sleep. | // for each failed attempt before sleep. | ||||||
| func RetryNotify(operation Operation, b BackOff, notify Notify) error { | func RetryNotify(operation Operation, b BackOff, notify Notify) error { | ||||||
| 	return RetryNotifyWithTimer(operation, b, notify, nil) | 	return RetryNotifyWithTimer(operation, b, notify, nil) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // RetryNotifyWithData is like RetryNotify but returns data in the response too. | ||||||
|  | func RetryNotifyWithData[T any](operation OperationWithData[T], b BackOff, notify Notify) (T, error) { | ||||||
|  | 	return doRetryNotify(operation, b, notify, nil) | ||||||
|  | } | ||||||
|  |  | ||||||
| // RetryNotifyWithTimer calls notify function with the error and wait duration using the given Timer | // RetryNotifyWithTimer calls notify function with the error and wait duration using the given Timer | ||||||
| // for each failed attempt before sleep. | // for each failed attempt before sleep. | ||||||
| // A default timer that uses system timer is used when nil is passed. | // A default timer that uses system timer is used when nil is passed. | ||||||
| func RetryNotifyWithTimer(operation Operation, b BackOff, notify Notify, t Timer) error { | func RetryNotifyWithTimer(operation Operation, b BackOff, notify Notify, t Timer) error { | ||||||
| 	var err error | 	_, err := doRetryNotify(operation.withEmptyData(), b, notify, t) | ||||||
| 	var next time.Duration | 	return err | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // RetryNotifyWithTimerAndData is like RetryNotifyWithTimer but returns data in the response too. | ||||||
|  | func RetryNotifyWithTimerAndData[T any](operation OperationWithData[T], b BackOff, notify Notify, t Timer) (T, error) { | ||||||
|  | 	return doRetryNotify(operation, b, notify, t) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func doRetryNotify[T any](operation OperationWithData[T], b BackOff, notify Notify, t Timer) (T, error) { | ||||||
|  | 	var ( | ||||||
|  | 		err  error | ||||||
|  | 		next time.Duration | ||||||
|  | 		res  T | ||||||
|  | 	) | ||||||
| 	if t == nil { | 	if t == nil { | ||||||
| 		t = &defaultTimer{} | 		t = &defaultTimer{} | ||||||
| 	} | 	} | ||||||
| @@ -52,21 +85,22 @@ func RetryNotifyWithTimer(operation Operation, b BackOff, notify Notify, t Timer | |||||||
|  |  | ||||||
| 	b.Reset() | 	b.Reset() | ||||||
| 	for { | 	for { | ||||||
| 		if err = operation(); err == nil { | 		res, err = operation() | ||||||
| 			return nil | 		if err == nil { | ||||||
|  | 			return res, nil | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		var permanent *PermanentError | 		var permanent *PermanentError | ||||||
| 		if errors.As(err, &permanent) { | 		if errors.As(err, &permanent) { | ||||||
| 			return permanent.Err | 			return res, permanent.Err | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if next = b.NextBackOff(); next == Stop { | 		if next = b.NextBackOff(); next == Stop { | ||||||
| 			if cerr := ctx.Err(); cerr != nil { | 			if cerr := ctx.Err(); cerr != nil { | ||||||
| 				return cerr | 				return res, cerr | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			return err | 			return res, err | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if notify != nil { | 		if notify != nil { | ||||||
| @@ -77,7 +111,7 @@ func RetryNotifyWithTimer(operation Operation, b BackOff, notify Notify, t Timer | |||||||
|  |  | ||||||
| 		select { | 		select { | ||||||
| 		case <-ctx.Done(): | 		case <-ctx.Done(): | ||||||
| 			return ctx.Err() | 			return res, ctx.Err() | ||||||
| 		case <-t.C(): | 		case <-t.C(): | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										70
									
								
								vendor/github.com/docker/go-units/size.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								vendor/github.com/docker/go-units/size.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -2,7 +2,6 @@ package units | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"regexp" |  | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
| ) | ) | ||||||
| @@ -26,16 +25,17 @@ const ( | |||||||
| 	PiB = 1024 * TiB | 	PiB = 1024 * TiB | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type unitMap map[string]int64 | type unitMap map[byte]int64 | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	decimalMap = unitMap{"k": KB, "m": MB, "g": GB, "t": TB, "p": PB} | 	decimalMap = unitMap{'k': KB, 'm': MB, 'g': GB, 't': TB, 'p': PB} | ||||||
| 	binaryMap  = unitMap{"k": KiB, "m": MiB, "g": GiB, "t": TiB, "p": PiB} | 	binaryMap  = unitMap{'k': KiB, 'm': MiB, 'g': GiB, 't': TiB, 'p': PiB} | ||||||
| 	sizeRegex  = regexp.MustCompile(`^(\d+(\.\d+)*) ?([kKmMgGtTpP])?[iI]?[bB]?$`) |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var decimapAbbrs = []string{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"} | var ( | ||||||
| var binaryAbbrs = []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"} | 	decimapAbbrs = []string{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"} | ||||||
|  | 	binaryAbbrs  = []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"} | ||||||
|  | ) | ||||||
|  |  | ||||||
| func getSizeAndUnit(size float64, base float64, _map []string) (float64, string) { | func getSizeAndUnit(size float64, base float64, _map []string) (float64, string) { | ||||||
| 	i := 0 | 	i := 0 | ||||||
| @@ -89,20 +89,66 @@ func RAMInBytes(size string) (int64, error) { | |||||||
|  |  | ||||||
| // Parses the human-readable size string into the amount it represents. | // Parses the human-readable size string into the amount it represents. | ||||||
| func parseSize(sizeStr string, uMap unitMap) (int64, error) { | func parseSize(sizeStr string, uMap unitMap) (int64, error) { | ||||||
| 	matches := sizeRegex.FindStringSubmatch(sizeStr) | 	// TODO: rewrite to use strings.Cut if there's a space | ||||||
| 	if len(matches) != 4 { | 	// once Go < 1.18 is deprecated. | ||||||
|  | 	sep := strings.LastIndexAny(sizeStr, "01234567890. ") | ||||||
|  | 	if sep == -1 { | ||||||
|  | 		// There should be at least a digit. | ||||||
| 		return -1, fmt.Errorf("invalid size: '%s'", sizeStr) | 		return -1, fmt.Errorf("invalid size: '%s'", sizeStr) | ||||||
| 	} | 	} | ||||||
|  | 	var num, sfx string | ||||||
|  | 	if sizeStr[sep] != ' ' { | ||||||
|  | 		num = sizeStr[:sep+1] | ||||||
|  | 		sfx = sizeStr[sep+1:] | ||||||
|  | 	} else { | ||||||
|  | 		// Omit the space separator. | ||||||
|  | 		num = sizeStr[:sep] | ||||||
|  | 		sfx = sizeStr[sep+1:] | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	size, err := strconv.ParseFloat(matches[1], 64) | 	size, err := strconv.ParseFloat(num, 64) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return -1, err | 		return -1, err | ||||||
| 	} | 	} | ||||||
|  | 	// Backward compatibility: reject negative sizes. | ||||||
|  | 	if size < 0 { | ||||||
|  | 		return -1, fmt.Errorf("invalid size: '%s'", sizeStr) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	unitPrefix := strings.ToLower(matches[3]) | 	if len(sfx) == 0 { | ||||||
| 	if mul, ok := uMap[unitPrefix]; ok { | 		return int64(size), nil | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	// Process the suffix. | ||||||
|  |  | ||||||
|  | 	if len(sfx) > 3 { // Too long. | ||||||
|  | 		goto badSuffix | ||||||
|  | 	} | ||||||
|  | 	sfx = strings.ToLower(sfx) | ||||||
|  | 	// Trivial case: b suffix. | ||||||
|  | 	if sfx[0] == 'b' { | ||||||
|  | 		if len(sfx) > 1 { // no extra characters allowed after b. | ||||||
|  | 			goto badSuffix | ||||||
|  | 		} | ||||||
|  | 		return int64(size), nil | ||||||
|  | 	} | ||||||
|  | 	// A suffix from the map. | ||||||
|  | 	if mul, ok := uMap[sfx[0]]; ok { | ||||||
| 		size *= float64(mul) | 		size *= float64(mul) | ||||||
|  | 	} else { | ||||||
|  | 		goto badSuffix | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	// The suffix may have extra "b" or "ib" (e.g. KiB or MB). | ||||||
|  | 	switch { | ||||||
|  | 	case len(sfx) == 2 && sfx[1] != 'b': | ||||||
|  | 		goto badSuffix | ||||||
|  | 	case len(sfx) == 3 && sfx[1:] != "ib": | ||||||
|  | 		goto badSuffix | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return int64(size), nil | 	return int64(size), nil | ||||||
|  |  | ||||||
|  | badSuffix: | ||||||
|  | 	return -1, fmt.Errorf("invalid suffix: '%s'", sfx) | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								vendor/github.com/klauspost/compress/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/klauspost/compress/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,6 +17,23 @@ This package provides various compression algorithms. | |||||||
|  |  | ||||||
| # changelog | # changelog | ||||||
|  |  | ||||||
|  | * Sept 16, 2022 (v1.15.10) | ||||||
|  |  | ||||||
|  | 	* zstd: Add [WithDecodeAllCapLimit](https://pkg.go.dev/github.com/klauspost/compress@v1.15.10/zstd#WithDecodeAllCapLimit) https://github.com/klauspost/compress/pull/649 | ||||||
|  | 	* Add Go 1.19 - deprecate Go 1.16  https://github.com/klauspost/compress/pull/651 | ||||||
|  | 	* flate: Improve level 5+6 compression https://github.com/klauspost/compress/pull/656 | ||||||
|  | 	* zstd: Improve "better" compresssion  https://github.com/klauspost/compress/pull/657 | ||||||
|  | 	* s2: Improve "best" compression https://github.com/klauspost/compress/pull/658 | ||||||
|  | 	* s2: Improve "better" compression. https://github.com/klauspost/compress/pull/635 | ||||||
|  | 	* s2: Slightly faster non-assembly decompression https://github.com/klauspost/compress/pull/646 | ||||||
|  | 	* Use arrays for constant size copies https://github.com/klauspost/compress/pull/659 | ||||||
|  |  | ||||||
|  | * July 21, 2022 (v1.15.9) | ||||||
|  |  | ||||||
|  | 	* zstd: Fix decoder crash on amd64 (no BMI) on invalid input https://github.com/klauspost/compress/pull/645 | ||||||
|  | 	* zstd: Disable decoder extended memory copies (amd64) due to possible crashes https://github.com/klauspost/compress/pull/644 | ||||||
|  | 	* zstd: Allow single segments up to "max decoded size" by @klauspost in https://github.com/klauspost/compress/pull/643 | ||||||
|  |  | ||||||
| * July 13, 2022 (v1.15.8) | * July 13, 2022 (v1.15.8) | ||||||
|  |  | ||||||
| 	* gzip: fix stack exhaustion bug in Reader.Read https://github.com/klauspost/compress/pull/641 | 	* gzip: fix stack exhaustion bug in Reader.Read https://github.com/klauspost/compress/pull/641 | ||||||
| @@ -91,14 +108,14 @@ This package provides various compression algorithms. | |||||||
| 	* gzhttp: Add zstd to transport by @klauspost in [#400](https://github.com/klauspost/compress/pull/400) | 	* gzhttp: Add zstd to transport by @klauspost in [#400](https://github.com/klauspost/compress/pull/400) | ||||||
| 	* gzhttp: Make content-type optional by @klauspost in [#510](https://github.com/klauspost/compress/pull/510) | 	* gzhttp: Make content-type optional by @klauspost in [#510](https://github.com/klauspost/compress/pull/510) | ||||||
|  |  | ||||||
| <details> |  | ||||||
| 	<summary>See  Details</summary> |  | ||||||
| Both compression and decompression now supports "synchronous" stream operations. This means that whenever "concurrency" is set to 1, they will operate without spawning goroutines. | Both compression and decompression now supports "synchronous" stream operations. This means that whenever "concurrency" is set to 1, they will operate without spawning goroutines. | ||||||
|  |  | ||||||
| Stream decompression is now faster on asynchronous, since the goroutine allocation much more effectively splits the workload. On typical streams this will typically use 2 cores fully for decompression. When a stream has finished decoding no goroutines will be left over, so decoders can now safely be pooled and still be garbage collected. | Stream decompression is now faster on asynchronous, since the goroutine allocation much more effectively splits the workload. On typical streams this will typically use 2 cores fully for decompression. When a stream has finished decoding no goroutines will be left over, so decoders can now safely be pooled and still be garbage collected. | ||||||
|  |  | ||||||
| While the release has been extensively tested, it is recommended to testing when upgrading. | While the release has been extensively tested, it is recommended to testing when upgrading. | ||||||
| </details> |  | ||||||
|  | <details> | ||||||
|  | 	<summary>See changes to v1.14.x</summary> | ||||||
| 	 | 	 | ||||||
| * Feb 22, 2022 (v1.14.4) | * Feb 22, 2022 (v1.14.4) | ||||||
| 	* flate: Fix rare huffman only (-2) corruption. [#503](https://github.com/klauspost/compress/pull/503) | 	* flate: Fix rare huffman only (-2) corruption. [#503](https://github.com/klauspost/compress/pull/503) | ||||||
| @@ -125,6 +142,7 @@ While the release has been extensively tested, it is recommended to testing when | |||||||
| 	* zstd: Performance improvement in [#420]( https://github.com/klauspost/compress/pull/420) [#456](https://github.com/klauspost/compress/pull/456) [#437](https://github.com/klauspost/compress/pull/437) [#467](https://github.com/klauspost/compress/pull/467) [#468](https://github.com/klauspost/compress/pull/468) | 	* zstd: Performance improvement in [#420]( https://github.com/klauspost/compress/pull/420) [#456](https://github.com/klauspost/compress/pull/456) [#437](https://github.com/klauspost/compress/pull/437) [#467](https://github.com/klauspost/compress/pull/467) [#468](https://github.com/klauspost/compress/pull/468) | ||||||
| 	* zstd: add arm64 xxhash assembly in [#464](https://github.com/klauspost/compress/pull/464) | 	* zstd: add arm64 xxhash assembly in [#464](https://github.com/klauspost/compress/pull/464) | ||||||
| 	* Add garbled for binaries for s2 in [#445](https://github.com/klauspost/compress/pull/445) | 	* Add garbled for binaries for s2 in [#445](https://github.com/klauspost/compress/pull/445) | ||||||
|  | </details> | ||||||
|  |  | ||||||
| <details> | <details> | ||||||
| 	<summary>See changes to v1.13.x</summary> | 	<summary>See changes to v1.13.x</summary> | ||||||
|   | |||||||
							
								
								
									
										36
									
								
								vendor/github.com/klauspost/compress/huff0/decompress.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/klauspost/compress/huff0/decompress.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -763,17 +763,20 @@ func (d *Decoder) decompress4X8bit(dst, src []byte) ([]byte, error) { | |||||||
| 				d.bufs.Put(buf) | 				d.bufs.Put(buf) | ||||||
| 				return nil, errors.New("corruption detected: stream overrun 1") | 				return nil, errors.New("corruption detected: stream overrun 1") | ||||||
| 			} | 			} | ||||||
| 			copy(out, buf[0][:]) |  | ||||||
| 			copy(out[dstEvery:], buf[1][:]) |  | ||||||
| 			copy(out[dstEvery*2:], buf[2][:]) |  | ||||||
| 			copy(out[dstEvery*3:], buf[3][:]) |  | ||||||
| 			out = out[bufoff:] |  | ||||||
| 			decoded += bufoff * 4 |  | ||||||
| 			// There must at least be 3 buffers left. | 			// There must at least be 3 buffers left. | ||||||
| 			if len(out) < dstEvery*3 { | 			if len(out)-bufoff < dstEvery*3 { | ||||||
| 				d.bufs.Put(buf) | 				d.bufs.Put(buf) | ||||||
| 				return nil, errors.New("corruption detected: stream overrun 2") | 				return nil, errors.New("corruption detected: stream overrun 2") | ||||||
| 			} | 			} | ||||||
|  | 			//copy(out, buf[0][:]) | ||||||
|  | 			//copy(out[dstEvery:], buf[1][:]) | ||||||
|  | 			//copy(out[dstEvery*2:], buf[2][:]) | ||||||
|  | 			*(*[bufoff]byte)(out) = buf[0] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery:]) = buf[1] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery*2:]) = buf[2] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery*3:]) = buf[3] | ||||||
|  | 			out = out[bufoff:] | ||||||
|  | 			decoded += bufoff * 4 | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if off > 0 { | 	if off > 0 { | ||||||
| @@ -997,17 +1000,22 @@ func (d *Decoder) decompress4X8bitExactly(dst, src []byte) ([]byte, error) { | |||||||
| 				d.bufs.Put(buf) | 				d.bufs.Put(buf) | ||||||
| 				return nil, errors.New("corruption detected: stream overrun 1") | 				return nil, errors.New("corruption detected: stream overrun 1") | ||||||
| 			} | 			} | ||||||
| 			copy(out, buf[0][:]) |  | ||||||
| 			copy(out[dstEvery:], buf[1][:]) |  | ||||||
| 			copy(out[dstEvery*2:], buf[2][:]) |  | ||||||
| 			copy(out[dstEvery*3:], buf[3][:]) |  | ||||||
| 			out = out[bufoff:] |  | ||||||
| 			decoded += bufoff * 4 |  | ||||||
| 			// There must at least be 3 buffers left. | 			// There must at least be 3 buffers left. | ||||||
| 			if len(out) < dstEvery*3 { | 			if len(out)-bufoff < dstEvery*3 { | ||||||
| 				d.bufs.Put(buf) | 				d.bufs.Put(buf) | ||||||
| 				return nil, errors.New("corruption detected: stream overrun 2") | 				return nil, errors.New("corruption detected: stream overrun 2") | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | 			//copy(out, buf[0][:]) | ||||||
|  | 			//copy(out[dstEvery:], buf[1][:]) | ||||||
|  | 			//copy(out[dstEvery*2:], buf[2][:]) | ||||||
|  | 			// copy(out[dstEvery*3:], buf[3][:]) | ||||||
|  | 			*(*[bufoff]byte)(out) = buf[0] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery:]) = buf[1] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery*2:]) = buf[2] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery*3:]) = buf[3] | ||||||
|  | 			out = out[bufoff:] | ||||||
|  | 			decoded += bufoff * 4 | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if off > 0 { | 	if off > 0 { | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/klauspost/compress/huff0/decompress_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/klauspost/compress/huff0/decompress_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,12 +14,14 @@ import ( | |||||||
|  |  | ||||||
| // decompress4x_main_loop_x86 is an x86 assembler implementation | // decompress4x_main_loop_x86 is an x86 assembler implementation | ||||||
| // of Decompress4X when tablelog > 8. | // of Decompress4X when tablelog > 8. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func decompress4x_main_loop_amd64(ctx *decompress4xContext) | func decompress4x_main_loop_amd64(ctx *decompress4xContext) | ||||||
|  |  | ||||||
| // decompress4x_8b_loop_x86 is an x86 assembler implementation | // decompress4x_8b_loop_x86 is an x86 assembler implementation | ||||||
| // of Decompress4X when tablelog <= 8 which decodes 4 entries | // of Decompress4X when tablelog <= 8 which decodes 4 entries | ||||||
| // per loop. | // per loop. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext) | func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext) | ||||||
|  |  | ||||||
| @@ -145,11 +147,13 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { | |||||||
|  |  | ||||||
| // decompress4x_main_loop_x86 is an x86 assembler implementation | // decompress4x_main_loop_x86 is an x86 assembler implementation | ||||||
| // of Decompress1X when tablelog > 8. | // of Decompress1X when tablelog > 8. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func decompress1x_main_loop_amd64(ctx *decompress1xContext) | func decompress1x_main_loop_amd64(ctx *decompress1xContext) | ||||||
|  |  | ||||||
| // decompress4x_main_loop_x86 is an x86 with BMI2 assembler implementation | // decompress4x_main_loop_x86 is an x86 with BMI2 assembler implementation | ||||||
| // of Decompress1X when tablelog > 8. | // of Decompress1X when tablelog > 8. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func decompress1x_main_loop_bmi2(ctx *decompress1xContext) | func decompress1x_main_loop_bmi2(ctx *decompress1xContext) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,6 @@ | |||||||
| // Code generated by command: go run gen.go -out ../decompress_amd64.s -pkg=huff0. DO NOT EDIT. | // Code generated by command: go run gen.go -out ../decompress_amd64.s -pkg=huff0. DO NOT EDIT. | ||||||
|  |  | ||||||
| //go:build amd64 && !appengine && !noasm && gc | //go:build amd64 && !appengine && !noasm && gc | ||||||
| // +build amd64,!appengine,!noasm,gc |  | ||||||
|  |  | ||||||
| // func decompress4x_main_loop_amd64(ctx *decompress4xContext) | // func decompress4x_main_loop_amd64(ctx *decompress4xContext) | ||||||
| TEXT ·decompress4x_main_loop_amd64(SB), $0-8 | TEXT ·decompress4x_main_loop_amd64(SB), $0-8 | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								vendor/github.com/klauspost/compress/huff0/decompress_generic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								vendor/github.com/klauspost/compress/huff0/decompress_generic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -122,17 +122,21 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { | |||||||
| 				d.bufs.Put(buf) | 				d.bufs.Put(buf) | ||||||
| 				return nil, errors.New("corruption detected: stream overrun 1") | 				return nil, errors.New("corruption detected: stream overrun 1") | ||||||
| 			} | 			} | ||||||
| 			copy(out, buf[0][:]) |  | ||||||
| 			copy(out[dstEvery:], buf[1][:]) |  | ||||||
| 			copy(out[dstEvery*2:], buf[2][:]) |  | ||||||
| 			copy(out[dstEvery*3:], buf[3][:]) |  | ||||||
| 			out = out[bufoff:] |  | ||||||
| 			decoded += bufoff * 4 |  | ||||||
| 			// There must at least be 3 buffers left. | 			// There must at least be 3 buffers left. | ||||||
| 			if len(out) < dstEvery*3 { | 			if len(out)-bufoff < dstEvery*3 { | ||||||
| 				d.bufs.Put(buf) | 				d.bufs.Put(buf) | ||||||
| 				return nil, errors.New("corruption detected: stream overrun 2") | 				return nil, errors.New("corruption detected: stream overrun 2") | ||||||
| 			} | 			} | ||||||
|  | 			//copy(out, buf[0][:]) | ||||||
|  | 			//copy(out[dstEvery:], buf[1][:]) | ||||||
|  | 			//copy(out[dstEvery*2:], buf[2][:]) | ||||||
|  | 			//copy(out[dstEvery*3:], buf[3][:]) | ||||||
|  | 			*(*[bufoff]byte)(out) = buf[0] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery:]) = buf[1] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery*2:]) = buf[2] | ||||||
|  | 			*(*[bufoff]byte)(out[dstEvery*3:]) = buf[3] | ||||||
|  | 			out = out[bufoff:] | ||||||
|  | 			decoded += bufoff * 4 | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if off > 0 { | 	if off > 0 { | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/klauspost/compress/internal/snapref/encode_other.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/klauspost/compress/internal/snapref/encode_other.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -18,6 +18,7 @@ func load64(b []byte, i int) uint64 { | |||||||
| // emitLiteral writes a literal chunk and returns the number of bytes written. | // emitLiteral writes a literal chunk and returns the number of bytes written. | ||||||
| // | // | ||||||
| // It assumes that: | // It assumes that: | ||||||
|  | // | ||||||
| //	dst is long enough to hold the encoded bytes | //	dst is long enough to hold the encoded bytes | ||||||
| //	1 <= len(lit) && len(lit) <= 65536 | //	1 <= len(lit) && len(lit) <= 65536 | ||||||
| func emitLiteral(dst, lit []byte) int { | func emitLiteral(dst, lit []byte) int { | ||||||
| @@ -42,6 +43,7 @@ func emitLiteral(dst, lit []byte) int { | |||||||
| // emitCopy writes a copy chunk and returns the number of bytes written. | // emitCopy writes a copy chunk and returns the number of bytes written. | ||||||
| // | // | ||||||
| // It assumes that: | // It assumes that: | ||||||
|  | // | ||||||
| //	dst is long enough to hold the encoded bytes | //	dst is long enough to hold the encoded bytes | ||||||
| //	1 <= offset && offset <= 65535 | //	1 <= offset && offset <= 65535 | ||||||
| //	4 <= length && length <= 65535 | //	4 <= length && length <= 65535 | ||||||
| @@ -89,6 +91,7 @@ func emitCopy(dst []byte, offset, length int) int { | |||||||
| // src[i:i+k-j] and src[j:k] have the same contents. | // src[i:i+k-j] and src[j:k] have the same contents. | ||||||
| // | // | ||||||
| // It assumes that: | // It assumes that: | ||||||
|  | // | ||||||
| //	0 <= i && i < j && j <= len(src) | //	0 <= i && i < j && j <= len(src) | ||||||
| func extendMatch(src []byte, i, j int) int { | func extendMatch(src []byte, i, j int) int { | ||||||
| 	for ; j < len(src) && src[i] == src[j]; i, j = i+1, j+1 { | 	for ; j < len(src) && src[i] == src[j]; i, j = i+1, j+1 { | ||||||
| @@ -105,6 +108,7 @@ func hash(u, shift uint32) uint32 { | |||||||
| // been written. | // been written. | ||||||
| // | // | ||||||
| // It also assumes that: | // It also assumes that: | ||||||
|  | // | ||||||
| //	len(dst) >= MaxEncodedLen(len(src)) && | //	len(dst) >= MaxEncodedLen(len(src)) && | ||||||
| //	minNonLiteralBlockSize <= len(src) && len(src) <= maxBlockSize | //	minNonLiteralBlockSize <= len(src) && len(src) <= maxBlockSize | ||||||
| func encodeBlock(dst, src []byte) (d int) { | func encodeBlock(dst, src []byte) (d int) { | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/github.com/klauspost/compress/zstd/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/klauspost/compress/zstd/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,6 +12,8 @@ The `zstd` package is provided as open source software using a Go standard licen | |||||||
|  |  | ||||||
| Currently the package is heavily optimized for 64 bit processors and will be significantly slower on 32 bit processors. | Currently the package is heavily optimized for 64 bit processors and will be significantly slower on 32 bit processors. | ||||||
|  |  | ||||||
|  | For seekable zstd streams, see [this excellent package](https://github.com/SaveTheRbtz/zstd-seekable-format-go). | ||||||
|  |  | ||||||
| ## Installation | ## Installation | ||||||
|  |  | ||||||
| Install using `go get -u github.com/klauspost/compress`. The package is located in `github.com/klauspost/compress/zstd`. | Install using `go get -u github.com/klauspost/compress`. The package is located in `github.com/klauspost/compress/zstd`. | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/klauspost/compress/zstd/blockdec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/klauspost/compress/zstd/blockdec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -10,7 +10,6 @@ import ( | |||||||
| 	"errors" | 	"errors" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"io/ioutil" |  | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"sync" | 	"sync" | ||||||
| @@ -651,7 +650,7 @@ func (b *blockDec) prepareSequences(in []byte, hist *history) (err error) { | |||||||
| 		fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.matchLengths.fse)) | 		fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.matchLengths.fse)) | ||||||
| 		fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.offsets.fse)) | 		fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.offsets.fse)) | ||||||
| 		buf.Write(in) | 		buf.Write(in) | ||||||
| 		ioutil.WriteFile(filepath.Join("testdata", "seqs", fn), buf.Bytes(), os.ModePerm) | 		os.WriteFile(filepath.Join("testdata", "seqs", fn), buf.Bytes(), os.ModePerm) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	return nil | 	return nil | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/klauspost/compress/zstd/bytebuf.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/klauspost/compress/zstd/bytebuf.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -7,7 +7,6 @@ package zstd | |||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
| 	"io/ioutil" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type byteBuffer interface { | type byteBuffer interface { | ||||||
| @@ -124,7 +123,7 @@ func (r *readerWrapper) readByte() (byte, error) { | |||||||
| } | } | ||||||
|  |  | ||||||
| func (r *readerWrapper) skipN(n int64) error { | func (r *readerWrapper) skipN(n int64) error { | ||||||
| 	n2, err := io.CopyN(ioutil.Discard, r.r, n) | 	n2, err := io.CopyN(io.Discard, r.r, n) | ||||||
| 	if n2 != n { | 	if n2 != n { | ||||||
| 		err = io.ErrUnexpectedEOF | 		err = io.ErrUnexpectedEOF | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										42
									
								
								vendor/github.com/klauspost/compress/zstd/decoder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								vendor/github.com/klauspost/compress/zstd/decoder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -35,6 +35,7 @@ type Decoder struct { | |||||||
| 		br           readerWrapper | 		br           readerWrapper | ||||||
| 		enabled      bool | 		enabled      bool | ||||||
| 		inFrame      bool | 		inFrame      bool | ||||||
|  | 		dstBuf       []byte | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	frame *frameDec | 	frame *frameDec | ||||||
| @@ -187,21 +188,23 @@ func (d *Decoder) Reset(r io.Reader) error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// If bytes buffer and < 5MB, do sync decoding anyway. | 	// If bytes buffer and < 5MB, do sync decoding anyway. | ||||||
| 	if bb, ok := r.(byter); ok && bb.Len() < 5<<20 { | 	if bb, ok := r.(byter); ok && bb.Len() < d.o.decodeBufsBelow && !d.o.limitToCap { | ||||||
| 		bb2 := bb | 		bb2 := bb | ||||||
| 		if debugDecoder { | 		if debugDecoder { | ||||||
| 			println("*bytes.Buffer detected, doing sync decode, len:", bb.Len()) | 			println("*bytes.Buffer detected, doing sync decode, len:", bb.Len()) | ||||||
| 		} | 		} | ||||||
| 		b := bb2.Bytes() | 		b := bb2.Bytes() | ||||||
| 		var dst []byte | 		var dst []byte | ||||||
| 		if cap(d.current.b) > 0 { | 		if cap(d.syncStream.dstBuf) > 0 { | ||||||
| 			dst = d.current.b | 			dst = d.syncStream.dstBuf[:0] | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		dst, err := d.DecodeAll(b, dst[:0]) | 		dst, err := d.DecodeAll(b, dst) | ||||||
| 		if err == nil { | 		if err == nil { | ||||||
| 			err = io.EOF | 			err = io.EOF | ||||||
| 		} | 		} | ||||||
|  | 		// Save output buffer | ||||||
|  | 		d.syncStream.dstBuf = dst | ||||||
| 		d.current.b = dst | 		d.current.b = dst | ||||||
| 		d.current.err = err | 		d.current.err = err | ||||||
| 		d.current.flushed = true | 		d.current.flushed = true | ||||||
| @@ -216,6 +219,7 @@ func (d *Decoder) Reset(r io.Reader) error { | |||||||
| 	d.current.err = nil | 	d.current.err = nil | ||||||
| 	d.current.flushed = false | 	d.current.flushed = false | ||||||
| 	d.current.d = nil | 	d.current.d = nil | ||||||
|  | 	d.syncStream.dstBuf = nil | ||||||
|  |  | ||||||
| 	// Ensure no-one else is still running... | 	// Ensure no-one else is still running... | ||||||
| 	d.streamWg.Wait() | 	d.streamWg.Wait() | ||||||
| @@ -312,6 +316,7 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { | |||||||
| 	// Grab a block decoder and frame decoder. | 	// Grab a block decoder and frame decoder. | ||||||
| 	block := <-d.decoders | 	block := <-d.decoders | ||||||
| 	frame := block.localFrame | 	frame := block.localFrame | ||||||
|  | 	initialSize := len(dst) | ||||||
| 	defer func() { | 	defer func() { | ||||||
| 		if debugDecoder { | 		if debugDecoder { | ||||||
| 			printf("re-adding decoder: %p", block) | 			printf("re-adding decoder: %p", block) | ||||||
| @@ -354,7 +359,16 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { | |||||||
| 			return dst, ErrWindowSizeExceeded | 			return dst, ErrWindowSizeExceeded | ||||||
| 		} | 		} | ||||||
| 		if frame.FrameContentSize != fcsUnknown { | 		if frame.FrameContentSize != fcsUnknown { | ||||||
| 			if frame.FrameContentSize > d.o.maxDecodedSize-uint64(len(dst)) { | 			if frame.FrameContentSize > d.o.maxDecodedSize-uint64(len(dst)-initialSize) { | ||||||
|  | 				if debugDecoder { | ||||||
|  | 					println("decoder size exceeded; fcs:", frame.FrameContentSize, "> mcs:", d.o.maxDecodedSize-uint64(len(dst)-initialSize), "len:", len(dst)) | ||||||
|  | 				} | ||||||
|  | 				return dst, ErrDecoderSizeExceeded | ||||||
|  | 			} | ||||||
|  | 			if d.o.limitToCap && frame.FrameContentSize > uint64(cap(dst)-len(dst)) { | ||||||
|  | 				if debugDecoder { | ||||||
|  | 					println("decoder size exceeded; fcs:", frame.FrameContentSize, "> (cap-len)", cap(dst)-len(dst)) | ||||||
|  | 				} | ||||||
| 				return dst, ErrDecoderSizeExceeded | 				return dst, ErrDecoderSizeExceeded | ||||||
| 			} | 			} | ||||||
| 			if cap(dst)-len(dst) < int(frame.FrameContentSize) { | 			if cap(dst)-len(dst) < int(frame.FrameContentSize) { | ||||||
| @@ -364,7 +378,7 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		if cap(dst) == 0 { | 		if cap(dst) == 0 && !d.o.limitToCap { | ||||||
| 			// Allocate len(input) * 2 by default if nothing is provided | 			// Allocate len(input) * 2 by default if nothing is provided | ||||||
| 			// and we didn't get frame content size. | 			// and we didn't get frame content size. | ||||||
| 			size := len(input) * 2 | 			size := len(input) * 2 | ||||||
| @@ -382,6 +396,9 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { | |||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return dst, err | 			return dst, err | ||||||
| 		} | 		} | ||||||
|  | 		if uint64(len(dst)-initialSize) > d.o.maxDecodedSize { | ||||||
|  | 			return dst, ErrDecoderSizeExceeded | ||||||
|  | 		} | ||||||
| 		if len(frame.bBuf) == 0 { | 		if len(frame.bBuf) == 0 { | ||||||
| 			if debugDecoder { | 			if debugDecoder { | ||||||
| 				println("frame dbuf empty") | 				println("frame dbuf empty") | ||||||
| @@ -667,6 +684,7 @@ func (d *Decoder) startStreamDecoder(ctx context.Context, r io.Reader, output ch | |||||||
| 				if debugDecoder { | 				if debugDecoder { | ||||||
| 					println("Async 1: new history, recent:", block.async.newHist.recentOffsets) | 					println("Async 1: new history, recent:", block.async.newHist.recentOffsets) | ||||||
| 				} | 				} | ||||||
|  | 				hist.reset() | ||||||
| 				hist.decoders = block.async.newHist.decoders | 				hist.decoders = block.async.newHist.decoders | ||||||
| 				hist.recentOffsets = block.async.newHist.recentOffsets | 				hist.recentOffsets = block.async.newHist.recentOffsets | ||||||
| 				hist.windowSize = block.async.newHist.windowSize | 				hist.windowSize = block.async.newHist.windowSize | ||||||
| @@ -698,6 +716,7 @@ func (d *Decoder) startStreamDecoder(ctx context.Context, r io.Reader, output ch | |||||||
| 			seqExecute <- block | 			seqExecute <- block | ||||||
| 		} | 		} | ||||||
| 		close(seqExecute) | 		close(seqExecute) | ||||||
|  | 		hist.reset() | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
| 	var wg sync.WaitGroup | 	var wg sync.WaitGroup | ||||||
| @@ -721,6 +740,7 @@ func (d *Decoder) startStreamDecoder(ctx context.Context, r io.Reader, output ch | |||||||
| 				if debugDecoder { | 				if debugDecoder { | ||||||
| 					println("Async 2: new history") | 					println("Async 2: new history") | ||||||
| 				} | 				} | ||||||
|  | 				hist.reset() | ||||||
| 				hist.windowSize = block.async.newHist.windowSize | 				hist.windowSize = block.async.newHist.windowSize | ||||||
| 				hist.allocFrameBuffer = block.async.newHist.allocFrameBuffer | 				hist.allocFrameBuffer = block.async.newHist.allocFrameBuffer | ||||||
| 				if block.async.newHist.dict != nil { | 				if block.async.newHist.dict != nil { | ||||||
| @@ -802,13 +822,14 @@ func (d *Decoder) startStreamDecoder(ctx context.Context, r io.Reader, output ch | |||||||
| 		if debugDecoder { | 		if debugDecoder { | ||||||
| 			println("decoder goroutines finished") | 			println("decoder goroutines finished") | ||||||
| 		} | 		} | ||||||
|  | 		hist.reset() | ||||||
| 	}() | 	}() | ||||||
|  |  | ||||||
|  | 	var hist history | ||||||
| decodeStream: | decodeStream: | ||||||
| 	for { | 	for { | ||||||
| 		var hist history |  | ||||||
| 		var hasErr bool | 		var hasErr bool | ||||||
|  | 		hist.reset() | ||||||
| 		decodeBlock := func(block *blockDec) { | 		decodeBlock := func(block *blockDec) { | ||||||
| 			if hasErr { | 			if hasErr { | ||||||
| 				if block != nil { | 				if block != nil { | ||||||
| @@ -852,6 +873,10 @@ decodeStream: | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		if err == nil && d.frame.WindowSize > d.o.maxWindowSize { | 		if err == nil && d.frame.WindowSize > d.o.maxWindowSize { | ||||||
|  | 			if debugDecoder { | ||||||
|  | 				println("decoder size exceeded, fws:", d.frame.WindowSize, "> mws:", d.o.maxWindowSize) | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 			err = ErrDecoderSizeExceeded | 			err = ErrDecoderSizeExceeded | ||||||
| 		} | 		} | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| @@ -920,5 +945,6 @@ decodeStream: | |||||||
| 	} | 	} | ||||||
| 	close(seqDecode) | 	close(seqDecode) | ||||||
| 	wg.Wait() | 	wg.Wait() | ||||||
|  | 	hist.reset() | ||||||
| 	d.frame.history.b = frameHistCache | 	d.frame.history.b = frameHistCache | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								vendor/github.com/klauspost/compress/zstd/decoder_options.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/github.com/klauspost/compress/zstd/decoder_options.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -20,6 +20,8 @@ type decoderOptions struct { | |||||||
| 	maxWindowSize   uint64 | 	maxWindowSize   uint64 | ||||||
| 	dicts           []dict | 	dicts           []dict | ||||||
| 	ignoreChecksum  bool | 	ignoreChecksum  bool | ||||||
|  | 	limitToCap      bool | ||||||
|  | 	decodeBufsBelow int | ||||||
| } | } | ||||||
|  |  | ||||||
| func (o *decoderOptions) setDefault() { | func (o *decoderOptions) setDefault() { | ||||||
| @@ -28,6 +30,7 @@ func (o *decoderOptions) setDefault() { | |||||||
| 		lowMem:          true, | 		lowMem:          true, | ||||||
| 		concurrent:      runtime.GOMAXPROCS(0), | 		concurrent:      runtime.GOMAXPROCS(0), | ||||||
| 		maxWindowSize:   MaxWindowSize, | 		maxWindowSize:   MaxWindowSize, | ||||||
|  | 		decodeBufsBelow: 128 << 10, | ||||||
| 	} | 	} | ||||||
| 	if o.concurrent > 4 { | 	if o.concurrent > 4 { | ||||||
| 		o.concurrent = 4 | 		o.concurrent = 4 | ||||||
| @@ -114,6 +117,29 @@ func WithDecoderMaxWindow(size uint64) DOption { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // WithDecodeAllCapLimit will limit DecodeAll to decoding cap(dst)-len(dst) bytes, | ||||||
|  | // or any size set in WithDecoderMaxMemory. | ||||||
|  | // This can be used to limit decoding to a specific maximum output size. | ||||||
|  | // Disabled by default. | ||||||
|  | func WithDecodeAllCapLimit(b bool) DOption { | ||||||
|  | 	return func(o *decoderOptions) error { | ||||||
|  | 		o.limitToCap = b | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // WithDecodeBuffersBelow will fully decode readers that have a | ||||||
|  | // `Bytes() []byte` and `Len() int` interface similar to bytes.Buffer. | ||||||
|  | // This typically uses less allocations but will have the full decompressed object in memory. | ||||||
|  | // Note that DecodeAllCapLimit will disable this, as well as giving a size of 0 or less. | ||||||
|  | // Default is 128KiB. | ||||||
|  | func WithDecodeBuffersBelow(size int) DOption { | ||||||
|  | 	return func(o *decoderOptions) error { | ||||||
|  | 		o.decodeBufsBelow = size | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| // IgnoreChecksum allows to forcibly ignore checksum checking. | // IgnoreChecksum allows to forcibly ignore checksum checking. | ||||||
| func IgnoreChecksum(b bool) DOption { | func IgnoreChecksum(b bool) DOption { | ||||||
| 	return func(o *decoderOptions) error { | 	return func(o *decoderOptions) error { | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/klauspost/compress/zstd/enc_best.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/klauspost/compress/zstd/enc_best.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -32,6 +32,7 @@ type match struct { | |||||||
| 	length int32 | 	length int32 | ||||||
| 	rep    int32 | 	rep    int32 | ||||||
| 	est    int32 | 	est    int32 | ||||||
|  | 	_      [12]byte // Aligned size to cache line: 4+4+4+4+4 bytes + 12 bytes padding = 32 bytes | ||||||
| } | } | ||||||
|  |  | ||||||
| const highScore = 25000 | const highScore = 25000 | ||||||
|   | |||||||
							
								
								
									
										23
									
								
								vendor/github.com/klauspost/compress/zstd/enc_better.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/github.com/klauspost/compress/zstd/enc_better.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -416,15 +416,23 @@ encodeLoop: | |||||||
|  |  | ||||||
| 		// Try to find a better match by searching for a long match at the end of the current best match | 		// Try to find a better match by searching for a long match at the end of the current best match | ||||||
| 		if s+matched < sLimit { | 		if s+matched < sLimit { | ||||||
|  | 			// Allow some bytes at the beginning to mismatch. | ||||||
|  | 			// Sweet spot is around 3 bytes, but depends on input. | ||||||
|  | 			// The skipped bytes are tested in Extend backwards, | ||||||
|  | 			// and still picked up as part of the match if they do. | ||||||
|  | 			const skipBeginning = 3 | ||||||
|  |  | ||||||
| 			nextHashL := hashLen(load6432(src, s+matched), betterLongTableBits, betterLongLen) | 			nextHashL := hashLen(load6432(src, s+matched), betterLongTableBits, betterLongLen) | ||||||
| 			cv := load3232(src, s) | 			s2 := s + skipBeginning | ||||||
|  | 			cv := load3232(src, s2) | ||||||
| 			candidateL := e.longTable[nextHashL] | 			candidateL := e.longTable[nextHashL] | ||||||
| 			coffsetL := candidateL.offset - e.cur - matched | 			coffsetL := candidateL.offset - e.cur - matched + skipBeginning | ||||||
| 			if coffsetL >= 0 && coffsetL < s && s-coffsetL < e.maxMatchOff && cv == load3232(src, coffsetL) { | 			if coffsetL >= 0 && coffsetL < s2 && s2-coffsetL < e.maxMatchOff && cv == load3232(src, coffsetL) { | ||||||
| 				// Found a long match, at least 4 bytes. | 				// Found a long match, at least 4 bytes. | ||||||
| 				matchedNext := e.matchlen(s+4, coffsetL+4, src) + 4 | 				matchedNext := e.matchlen(s2+4, coffsetL+4, src) + 4 | ||||||
| 				if matchedNext > matched { | 				if matchedNext > matched { | ||||||
| 					t = coffsetL | 					t = coffsetL | ||||||
|  | 					s = s2 | ||||||
| 					matched = matchedNext | 					matched = matchedNext | ||||||
| 					if debugMatches { | 					if debugMatches { | ||||||
| 						println("long match at end-of-match") | 						println("long match at end-of-match") | ||||||
| @@ -434,12 +442,13 @@ encodeLoop: | |||||||
|  |  | ||||||
| 			// Check prev long... | 			// Check prev long... | ||||||
| 			if true { | 			if true { | ||||||
| 				coffsetL = candidateL.prev - e.cur - matched | 				coffsetL = candidateL.prev - e.cur - matched + skipBeginning | ||||||
| 				if coffsetL >= 0 && coffsetL < s && s-coffsetL < e.maxMatchOff && cv == load3232(src, coffsetL) { | 				if coffsetL >= 0 && coffsetL < s2 && s2-coffsetL < e.maxMatchOff && cv == load3232(src, coffsetL) { | ||||||
| 					// Found a long match, at least 4 bytes. | 					// Found a long match, at least 4 bytes. | ||||||
| 					matchedNext := e.matchlen(s+4, coffsetL+4, src) + 4 | 					matchedNext := e.matchlen(s2+4, coffsetL+4, src) + 4 | ||||||
| 					if matchedNext > matched { | 					if matchedNext > matched { | ||||||
| 						t = coffsetL | 						t = coffsetL | ||||||
|  | 						s = s2 | ||||||
| 						matched = matchedNext | 						matched = matchedNext | ||||||
| 						if debugMatches { | 						if debugMatches { | ||||||
| 							println("prev long match at end-of-match") | 							println("prev long match at end-of-match") | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								vendor/github.com/klauspost/compress/zstd/enc_dfast.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/klauspost/compress/zstd/enc_dfast.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1103,7 +1103,8 @@ func (e *doubleFastEncoderDict) Reset(d *dict, singleBlock bool) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if allDirty || dirtyShardCnt > dLongTableShardCnt/2 { | 	if allDirty || dirtyShardCnt > dLongTableShardCnt/2 { | ||||||
| 		copy(e.longTable[:], e.dictLongTable) | 		//copy(e.longTable[:], e.dictLongTable) | ||||||
|  | 		e.longTable = *(*[dFastLongTableSize]tableEntry)(e.dictLongTable) | ||||||
| 		for i := range e.longTableShardDirty { | 		for i := range e.longTableShardDirty { | ||||||
| 			e.longTableShardDirty[i] = false | 			e.longTableShardDirty[i] = false | ||||||
| 		} | 		} | ||||||
| @@ -1114,7 +1115,9 @@ func (e *doubleFastEncoderDict) Reset(d *dict, singleBlock bool) { | |||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		copy(e.longTable[i*dLongTableShardSize:(i+1)*dLongTableShardSize], e.dictLongTable[i*dLongTableShardSize:(i+1)*dLongTableShardSize]) | 		// copy(e.longTable[i*dLongTableShardSize:(i+1)*dLongTableShardSize], e.dictLongTable[i*dLongTableShardSize:(i+1)*dLongTableShardSize]) | ||||||
|  | 		*(*[dLongTableShardSize]tableEntry)(e.longTable[i*dLongTableShardSize:]) = *(*[dLongTableShardSize]tableEntry)(e.dictLongTable[i*dLongTableShardSize:]) | ||||||
|  |  | ||||||
| 		e.longTableShardDirty[i] = false | 		e.longTableShardDirty[i] = false | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								vendor/github.com/klauspost/compress/zstd/enc_fast.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/klauspost/compress/zstd/enc_fast.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -871,7 +871,8 @@ func (e *fastEncoderDict) Reset(d *dict, singleBlock bool) { | |||||||
| 	const shardCnt = tableShardCnt | 	const shardCnt = tableShardCnt | ||||||
| 	const shardSize = tableShardSize | 	const shardSize = tableShardSize | ||||||
| 	if e.allDirty || dirtyShardCnt > shardCnt*4/6 { | 	if e.allDirty || dirtyShardCnt > shardCnt*4/6 { | ||||||
| 		copy(e.table[:], e.dictTable) | 		//copy(e.table[:], e.dictTable) | ||||||
|  | 		e.table = *(*[tableSize]tableEntry)(e.dictTable) | ||||||
| 		for i := range e.tableShardDirty { | 		for i := range e.tableShardDirty { | ||||||
| 			e.tableShardDirty[i] = false | 			e.tableShardDirty[i] = false | ||||||
| 		} | 		} | ||||||
| @@ -883,7 +884,8 @@ func (e *fastEncoderDict) Reset(d *dict, singleBlock bool) { | |||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		copy(e.table[i*shardSize:(i+1)*shardSize], e.dictTable[i*shardSize:(i+1)*shardSize]) | 		//copy(e.table[i*shardSize:(i+1)*shardSize], e.dictTable[i*shardSize:(i+1)*shardSize]) | ||||||
|  | 		*(*[shardSize]tableEntry)(e.table[i*shardSize:]) = *(*[shardSize]tableEntry)(e.dictTable[i*shardSize:]) | ||||||
| 		e.tableShardDirty[i] = false | 		e.tableShardDirty[i] = false | ||||||
| 	} | 	} | ||||||
| 	e.allDirty = false | 	e.allDirty = false | ||||||
|   | |||||||
							
								
								
									
										23
									
								
								vendor/github.com/klauspost/compress/zstd/framedec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/github.com/klauspost/compress/zstd/framedec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -343,7 +343,7 @@ func (d *frameDec) consumeCRC() error { | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // runDecoder will create a sync decoder that will decode a block of data. | // runDecoder will run the decoder for the remainder of the frame. | ||||||
| func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { | func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { | ||||||
| 	saved := d.history.b | 	saved := d.history.b | ||||||
|  |  | ||||||
| @@ -353,12 +353,23 @@ func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { | |||||||
| 	// Store input length, so we only check new data. | 	// Store input length, so we only check new data. | ||||||
| 	crcStart := len(dst) | 	crcStart := len(dst) | ||||||
| 	d.history.decoders.maxSyncLen = 0 | 	d.history.decoders.maxSyncLen = 0 | ||||||
|  | 	if d.o.limitToCap { | ||||||
|  | 		d.history.decoders.maxSyncLen = uint64(cap(dst) - len(dst)) | ||||||
|  | 	} | ||||||
| 	if d.FrameContentSize != fcsUnknown { | 	if d.FrameContentSize != fcsUnknown { | ||||||
|  | 		if !d.o.limitToCap || d.FrameContentSize+uint64(len(dst)) < d.history.decoders.maxSyncLen { | ||||||
| 			d.history.decoders.maxSyncLen = d.FrameContentSize + uint64(len(dst)) | 			d.history.decoders.maxSyncLen = d.FrameContentSize + uint64(len(dst)) | ||||||
|  | 		} | ||||||
| 		if d.history.decoders.maxSyncLen > d.o.maxDecodedSize { | 		if d.history.decoders.maxSyncLen > d.o.maxDecodedSize { | ||||||
|  | 			if debugDecoder { | ||||||
|  | 				println("maxSyncLen:", d.history.decoders.maxSyncLen, "> maxDecodedSize:", d.o.maxDecodedSize) | ||||||
|  | 			} | ||||||
| 			return dst, ErrDecoderSizeExceeded | 			return dst, ErrDecoderSizeExceeded | ||||||
| 		} | 		} | ||||||
| 		if uint64(cap(dst)) < d.history.decoders.maxSyncLen { | 		if debugDecoder { | ||||||
|  | 			println("maxSyncLen:", d.history.decoders.maxSyncLen) | ||||||
|  | 		} | ||||||
|  | 		if !d.o.limitToCap && uint64(cap(dst)) < d.history.decoders.maxSyncLen { | ||||||
| 			// Alloc for output | 			// Alloc for output | ||||||
| 			dst2 := make([]byte, len(dst), d.history.decoders.maxSyncLen+compressedBlockOverAlloc) | 			dst2 := make([]byte, len(dst), d.history.decoders.maxSyncLen+compressedBlockOverAlloc) | ||||||
| 			copy(dst2, dst) | 			copy(dst2, dst) | ||||||
| @@ -378,7 +389,13 @@ func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) { | |||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			break | 			break | ||||||
| 		} | 		} | ||||||
| 		if uint64(len(d.history.b)) > d.o.maxDecodedSize { | 		if uint64(len(d.history.b)-crcStart) > d.o.maxDecodedSize { | ||||||
|  | 			println("runDecoder: maxDecodedSize exceeded", uint64(len(d.history.b)-crcStart), ">", d.o.maxDecodedSize) | ||||||
|  | 			err = ErrDecoderSizeExceeded | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 		if d.o.limitToCap && len(d.history.b) > cap(dst) { | ||||||
|  | 			println("runDecoder: cap exceeded", uint64(len(d.history.b)), ">", cap(dst)) | ||||||
| 			err = ErrDecoderSizeExceeded | 			err = ErrDecoderSizeExceeded | ||||||
| 			break | 			break | ||||||
| 		} | 		} | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -21,7 +21,8 @@ type buildDtableAsmContext struct { | |||||||
|  |  | ||||||
| // buildDtable_asm is an x86 assembly implementation of fseDecoder.buildDtable. | // buildDtable_asm is an x86 assembly implementation of fseDecoder.buildDtable. | ||||||
| // Function returns non-zero exit code on error. | // Function returns non-zero exit code on error. | ||||||
| // go:noescape | // | ||||||
|  | //go:noescape | ||||||
| func buildDtable_asm(s *fseDecoder, ctx *buildDtableAsmContext) int | func buildDtable_asm(s *fseDecoder, ctx *buildDtableAsmContext) int | ||||||
|  |  | ||||||
| // please keep in sync with _generate/gen_fse.go | // please keep in sync with _generate/gen_fse.go | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,6 @@ | |||||||
| // Code generated by command: go run gen_fse.go -out ../fse_decoder_amd64.s -pkg=zstd. DO NOT EDIT. | // Code generated by command: go run gen_fse.go -out ../fse_decoder_amd64.s -pkg=zstd. DO NOT EDIT. | ||||||
|  |  | ||||||
| //go:build !appengine && !noasm && gc && !noasm | //go:build !appengine && !noasm && gc && !noasm | ||||||
| // +build !appengine,!noasm,gc,!noasm |  | ||||||
|  |  | ||||||
| // func buildDtable_asm(s *fseDecoder, ctx *buildDtableAsmContext) int | // func buildDtable_asm(s *fseDecoder, ctx *buildDtableAsmContext) int | ||||||
| TEXT ·buildDtable_asm(SB), $0-24 | TEXT ·buildDtable_asm(SB), $0-24 | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								vendor/github.com/klauspost/compress/zstd/history.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								vendor/github.com/klauspost/compress/zstd/history.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -37,26 +37,23 @@ func (h *history) reset() { | |||||||
| 	h.ignoreBuffer = 0 | 	h.ignoreBuffer = 0 | ||||||
| 	h.error = false | 	h.error = false | ||||||
| 	h.recentOffsets = [3]int{1, 4, 8} | 	h.recentOffsets = [3]int{1, 4, 8} | ||||||
| 	if f := h.decoders.litLengths.fse; f != nil && !f.preDefined { | 	h.decoders.freeDecoders() | ||||||
| 		fseDecoderPool.Put(f) |  | ||||||
| 	} |  | ||||||
| 	if f := h.decoders.offsets.fse; f != nil && !f.preDefined { |  | ||||||
| 		fseDecoderPool.Put(f) |  | ||||||
| 	} |  | ||||||
| 	if f := h.decoders.matchLengths.fse; f != nil && !f.preDefined { |  | ||||||
| 		fseDecoderPool.Put(f) |  | ||||||
| 	} |  | ||||||
| 	h.decoders = sequenceDecs{br: h.decoders.br} | 	h.decoders = sequenceDecs{br: h.decoders.br} | ||||||
| 	if h.huffTree != nil { | 	h.freeHuffDecoder() | ||||||
| 		if h.dict == nil || h.dict.litEnc != h.huffTree { |  | ||||||
| 			huffDecoderPool.Put(h.huffTree) |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	h.huffTree = nil | 	h.huffTree = nil | ||||||
| 	h.dict = nil | 	h.dict = nil | ||||||
| 	//printf("history created: %+v (l: %d, c: %d)", *h, len(h.b), cap(h.b)) | 	//printf("history created: %+v (l: %d, c: %d)", *h, len(h.b), cap(h.b)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (h *history) freeHuffDecoder() { | ||||||
|  | 	if h.huffTree != nil { | ||||||
|  | 		if h.dict == nil || h.dict.litEnc != h.huffTree { | ||||||
|  | 			huffDecoderPool.Put(h.huffTree) | ||||||
|  | 			h.huffTree = nil | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| func (h *history) setDict(dict *dict) { | func (h *history) setDict(dict *dict) { | ||||||
| 	if dict == nil { | 	if dict == nil { | ||||||
| 		return | 		return | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -99,6 +99,21 @@ func (s *sequenceDecs) initialize(br *bitReader, hist *history, out []byte) erro | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (s *sequenceDecs) freeDecoders() { | ||||||
|  | 	if f := s.litLengths.fse; f != nil && !f.preDefined { | ||||||
|  | 		fseDecoderPool.Put(f) | ||||||
|  | 		s.litLengths.fse = nil | ||||||
|  | 	} | ||||||
|  | 	if f := s.offsets.fse; f != nil && !f.preDefined { | ||||||
|  | 		fseDecoderPool.Put(f) | ||||||
|  | 		s.offsets.fse = nil | ||||||
|  | 	} | ||||||
|  | 	if f := s.matchLengths.fse; f != nil && !f.preDefined { | ||||||
|  | 		fseDecoderPool.Put(f) | ||||||
|  | 		s.matchLengths.fse = nil | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| // execute will execute the decoded sequence with the provided history. | // execute will execute the decoded sequence with the provided history. | ||||||
| // The sequence must be evaluated before being sent. | // The sequence must be evaluated before being sent. | ||||||
| func (s *sequenceDecs) execute(seqs []seqVals, hist []byte) error { | func (s *sequenceDecs) execute(seqs []seqVals, hist []byte) error { | ||||||
| @@ -299,7 +314,10 @@ func (s *sequenceDecs) decodeSync(hist []byte) error { | |||||||
| 		} | 		} | ||||||
| 		size := ll + ml + len(out) | 		size := ll + ml + len(out) | ||||||
| 		if size-startSize > maxBlockSize { | 		if size-startSize > maxBlockSize { | ||||||
| 			return fmt.Errorf("output (%d) bigger than max block size (%d)", size-startSize, maxBlockSize) | 			if size-startSize == 424242 { | ||||||
|  | 				panic("here") | ||||||
|  | 			} | ||||||
|  | 			return fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
| 		} | 		} | ||||||
| 		if size > cap(out) { | 		if size > cap(out) { | ||||||
| 			// Not enough size, which can happen under high volume block streaming conditions | 			// Not enough size, which can happen under high volume block streaming conditions | ||||||
| @@ -411,7 +429,7 @@ func (s *sequenceDecs) decodeSync(hist []byte) error { | |||||||
|  |  | ||||||
| 	// Check if space for literals | 	// Check if space for literals | ||||||
| 	if size := len(s.literals) + len(s.out) - startSize; size > maxBlockSize { | 	if size := len(s.literals) + len(s.out) - startSize; size > maxBlockSize { | ||||||
| 		return fmt.Errorf("output (%d) bigger than max block size (%d)", size, maxBlockSize) | 		return fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// Add final literals | 	// Add final literals | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -32,18 +32,22 @@ type decodeSyncAsmContext struct { | |||||||
| // sequenceDecs_decodeSync_amd64 implements the main loop of sequenceDecs.decodeSync in x86 asm. | // sequenceDecs_decodeSync_amd64 implements the main loop of sequenceDecs.decodeSync in x86 asm. | ||||||
| // | // | ||||||
| // Please refer to seqdec_generic.go for the reference implementation. | // Please refer to seqdec_generic.go for the reference implementation. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decodeSync_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | func sequenceDecs_decodeSync_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | ||||||
|  |  | ||||||
| // sequenceDecs_decodeSync_bmi2 implements the main loop of sequenceDecs.decodeSync in x86 asm with BMI2 extensions. | // sequenceDecs_decodeSync_bmi2 implements the main loop of sequenceDecs.decodeSync in x86 asm with BMI2 extensions. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decodeSync_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | func sequenceDecs_decodeSync_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | ||||||
|  |  | ||||||
| // sequenceDecs_decodeSync_safe_amd64 does the same as above, but does not write more than output buffer. | // sequenceDecs_decodeSync_safe_amd64 does the same as above, but does not write more than output buffer. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decodeSync_safe_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | func sequenceDecs_decodeSync_safe_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | ||||||
|  |  | ||||||
| // sequenceDecs_decodeSync_safe_bmi2 does the same as above, but does not write more than output buffer. | // sequenceDecs_decodeSync_safe_bmi2 does the same as above, but does not write more than output buffer. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decodeSync_safe_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | func sequenceDecs_decodeSync_safe_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int | ||||||
|  |  | ||||||
| @@ -135,7 +139,7 @@ func (s *sequenceDecs) decodeSyncSimple(hist []byte) (bool, error) { | |||||||
| 		if debugDecoder { | 		if debugDecoder { | ||||||
| 			println("msl:", s.maxSyncLen, "cap", cap(s.out), "bef:", startSize, "sz:", size-startSize, "mbs:", maxBlockSize, "outsz:", cap(s.out)-startSize) | 			println("msl:", s.maxSyncLen, "cap", cap(s.out), "bef:", startSize, "sz:", size-startSize, "mbs:", maxBlockSize, "outsz:", cap(s.out)-startSize) | ||||||
| 		} | 		} | ||||||
| 		return true, fmt.Errorf("output (%d) bigger than max block size (%d)", size-startSize, maxBlockSize) | 		return true, fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
|  |  | ||||||
| 	default: | 	default: | ||||||
| 		return true, fmt.Errorf("sequenceDecs_decode returned erronous code %d", errCode) | 		return true, fmt.Errorf("sequenceDecs_decode returned erronous code %d", errCode) | ||||||
| @@ -143,7 +147,8 @@ func (s *sequenceDecs) decodeSyncSimple(hist []byte) (bool, error) { | |||||||
|  |  | ||||||
| 	s.seqSize += ctx.litRemain | 	s.seqSize += ctx.litRemain | ||||||
| 	if s.seqSize > maxBlockSize { | 	if s.seqSize > maxBlockSize { | ||||||
| 		return true, fmt.Errorf("output (%d) bigger than max block size (%d)", s.seqSize, maxBlockSize) | 		return true, fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
| 	err := br.close() | 	err := br.close() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| @@ -201,20 +206,24 @@ const errorNotEnoughSpace = 5 | |||||||
| // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm. | // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm. | ||||||
| // | // | ||||||
| // Please refer to seqdec_generic.go for the reference implementation. | // Please refer to seqdec_generic.go for the reference implementation. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decode_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | func sequenceDecs_decode_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | ||||||
|  |  | ||||||
| // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm. | // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm. | ||||||
| // | // | ||||||
| // Please refer to seqdec_generic.go for the reference implementation. | // Please refer to seqdec_generic.go for the reference implementation. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decode_56_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | func sequenceDecs_decode_56_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | ||||||
|  |  | ||||||
| // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm with BMI2 extensions. | // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm with BMI2 extensions. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decode_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | func sequenceDecs_decode_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | ||||||
|  |  | ||||||
| // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm with BMI2 extensions. | // sequenceDecs_decode implements the main loop of sequenceDecs in x86 asm with BMI2 extensions. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_decode_56_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | func sequenceDecs_decode_56_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | ||||||
|  |  | ||||||
| @@ -281,7 +290,7 @@ func (s *sequenceDecs) decode(seqs []seqVals) error { | |||||||
|  |  | ||||||
| 	s.seqSize += ctx.litRemain | 	s.seqSize += ctx.litRemain | ||||||
| 	if s.seqSize > maxBlockSize { | 	if s.seqSize > maxBlockSize { | ||||||
| 		return fmt.Errorf("output (%d) bigger than max block size (%d)", s.seqSize, maxBlockSize) | 		return fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
| 	} | 	} | ||||||
| 	err := br.close() | 	err := br.close() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| @@ -308,10 +317,12 @@ type executeAsmContext struct { | |||||||
| // Returns false if a match offset is too big. | // Returns false if a match offset is too big. | ||||||
| // | // | ||||||
| // Please refer to seqdec_generic.go for the reference implementation. | // Please refer to seqdec_generic.go for the reference implementation. | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_executeSimple_amd64(ctx *executeAsmContext) bool | func sequenceDecs_executeSimple_amd64(ctx *executeAsmContext) bool | ||||||
|  |  | ||||||
| // Same as above, but with safe memcopies | // Same as above, but with safe memcopies | ||||||
|  | // | ||||||
| //go:noescape | //go:noescape | ||||||
| func sequenceDecs_executeSimple_safe_amd64(ctx *executeAsmContext) bool | func sequenceDecs_executeSimple_safe_amd64(ctx *executeAsmContext) bool | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,7 +1,6 @@ | |||||||
| // Code generated by command: go run gen.go -out ../seqdec_amd64.s -pkg=zstd. DO NOT EDIT. | // Code generated by command: go run gen.go -out ../seqdec_amd64.s -pkg=zstd. DO NOT EDIT. | ||||||
|  |  | ||||||
| //go:build !appengine && !noasm && gc && !noasm | //go:build !appengine && !noasm && gc && !noasm | ||||||
| // +build !appengine,!noasm,gc,!noasm |  | ||||||
|  |  | ||||||
| // func sequenceDecs_decode_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | // func sequenceDecs_decode_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int | ||||||
| // Requires: CMOV | // Requires: CMOV | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_generic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/klauspost/compress/zstd/seqdec_generic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -111,7 +111,7 @@ func (s *sequenceDecs) decode(seqs []seqVals) error { | |||||||
| 		} | 		} | ||||||
| 		s.seqSize += ll + ml | 		s.seqSize += ll + ml | ||||||
| 		if s.seqSize > maxBlockSize { | 		if s.seqSize > maxBlockSize { | ||||||
| 			return fmt.Errorf("output (%d) bigger than max block size (%d)", s.seqSize, maxBlockSize) | 			return fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
| 		} | 		} | ||||||
| 		litRemain -= ll | 		litRemain -= ll | ||||||
| 		if litRemain < 0 { | 		if litRemain < 0 { | ||||||
| @@ -149,7 +149,7 @@ func (s *sequenceDecs) decode(seqs []seqVals) error { | |||||||
| 	} | 	} | ||||||
| 	s.seqSize += litRemain | 	s.seqSize += litRemain | ||||||
| 	if s.seqSize > maxBlockSize { | 	if s.seqSize > maxBlockSize { | ||||||
| 		return fmt.Errorf("output (%d) bigger than max block size (%d)", s.seqSize, maxBlockSize) | 		return fmt.Errorf("output bigger than max block size (%d)", maxBlockSize) | ||||||
| 	} | 	} | ||||||
| 	err := br.close() | 	err := br.close() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @@ -16,8 +16,9 @@ github.com/Microsoft/go-winio/pkg/etwlogrus | |||||||
| github.com/Microsoft/go-winio/pkg/fs | github.com/Microsoft/go-winio/pkg/fs | ||||||
| github.com/Microsoft/go-winio/pkg/guid | github.com/Microsoft/go-winio/pkg/guid | ||||||
| github.com/Microsoft/go-winio/pkg/security | github.com/Microsoft/go-winio/pkg/security | ||||||
|  | github.com/Microsoft/go-winio/tools/mkwinsyscall | ||||||
| github.com/Microsoft/go-winio/vhd | github.com/Microsoft/go-winio/vhd | ||||||
| # github.com/Microsoft/hcsshim v0.10.0-rc.1 | # github.com/Microsoft/hcsshim v0.10.0-rc.4 | ||||||
| ## explicit; go 1.18 | ## explicit; go 1.18 | ||||||
| github.com/Microsoft/hcsshim | github.com/Microsoft/hcsshim | ||||||
| github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options | github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options | ||||||
| @@ -62,8 +63,8 @@ github.com/beorn7/perks/quantile | |||||||
| # github.com/blang/semver/v4 v4.0.0 | # github.com/blang/semver/v4 v4.0.0 | ||||||
| ## explicit; go 1.14 | ## explicit; go 1.14 | ||||||
| github.com/blang/semver/v4 | github.com/blang/semver/v4 | ||||||
| # github.com/cenkalti/backoff/v4 v4.1.3 | # github.com/cenkalti/backoff/v4 v4.2.0 | ||||||
| ## explicit; go 1.13 | ## explicit; go 1.18 | ||||||
| github.com/cenkalti/backoff/v4 | github.com/cenkalti/backoff/v4 | ||||||
| # github.com/cespare/xxhash/v2 v2.1.2 | # github.com/cespare/xxhash/v2 v2.1.2 | ||||||
| ## explicit; go 1.11 | ## explicit; go 1.11 | ||||||
| @@ -198,7 +199,7 @@ github.com/docker/go-events | |||||||
| # github.com/docker/go-metrics v0.0.1 | # github.com/docker/go-metrics v0.0.1 | ||||||
| ## explicit; go 1.11 | ## explicit; go 1.11 | ||||||
| github.com/docker/go-metrics | github.com/docker/go-metrics | ||||||
| # github.com/docker/go-units v0.4.0 | # github.com/docker/go-units v0.5.0 | ||||||
| ## explicit | ## explicit | ||||||
| github.com/docker/go-units | github.com/docker/go-units | ||||||
| # github.com/emicklei/go-restful/v3 v3.8.0 | # github.com/emicklei/go-restful/v3 v3.8.0 | ||||||
| @@ -281,8 +282,8 @@ github.com/intel/goresctrl/pkg/utils | |||||||
| # github.com/json-iterator/go v1.1.12 | # github.com/json-iterator/go v1.1.12 | ||||||
| ## explicit; go 1.12 | ## explicit; go 1.12 | ||||||
| github.com/json-iterator/go | github.com/json-iterator/go | ||||||
| # github.com/klauspost/compress v1.15.9 | # github.com/klauspost/compress v1.15.11 | ||||||
| ## explicit; go 1.16 | ## explicit; go 1.17 | ||||||
| github.com/klauspost/compress | github.com/klauspost/compress | ||||||
| github.com/klauspost/compress/fse | github.com/klauspost/compress/fse | ||||||
| github.com/klauspost/compress/huff0 | github.com/klauspost/compress/huff0 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kirtana Ashok
					Kirtana Ashok