Bump ecr-login dep to avoid some log spam (#1946)
Previously the ecr-login cred helper we compile into the executor/warmer binaries would log a warning when they were asked for credentials for a non-ECR image. This takes advantage of recent work in ecr-login to let consumers like kaniko disable that logging.
This commit is contained in:
		
							parent
							
								
									2bc27c63a1
								
							
						
					
					
						commit
						c6623cd1e3
					
				
							
								
								
									
										8
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										8
									
								
								go.mod
								
								
								
								
							|  | @ -14,7 +14,7 @@ require ( | |||
| 	cloud.google.com/go/storage v1.20.0 | ||||
| 	github.com/Azure/azure-storage-blob-go v0.14.0 | ||||
| 	github.com/aws/aws-sdk-go v1.42.52 | ||||
| 	github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20211215200129-69c85dc22db6 | ||||
| 	github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220216180153-3d7835abdf40 | ||||
| 	github.com/chrismellard/docker-credential-acr-env v0.0.0-20220119192733-fe33c00cee21 | ||||
| 	github.com/containerd/cgroups v1.0.2 // indirect | ||||
| 	github.com/docker/docker v20.10.12+incompatible | ||||
|  | @ -63,12 +63,12 @@ require ( | |||
| 	github.com/ProtonMail/go-crypto v0.0.0-20220113124808-70ae35bab23f // indirect | ||||
| 	github.com/acomagu/bufpipe v1.0.3 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2 v1.13.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/config v1.13.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/config v1.13.1 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/credentials v1.8.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.10.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.4 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.2.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/internal/ini v1.3.4 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/internal/ini v1.3.5 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/service/ecr v1.14.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.11.0 // indirect | ||||
| 	github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.7.0 // indirect | ||||
|  | @ -138,7 +138,7 @@ require ( | |||
| 	github.com/xanzy/ssh-agent v0.3.1 // indirect | ||||
| 	go.opencensus.io v0.23.0 // indirect | ||||
| 	golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce // indirect | ||||
| 	golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect | ||||
| 	golang.org/x/sys v0.0.0-20220209214540-3681064d5158 // indirect | ||||
| 	golang.org/x/text v0.3.7 // indirect | ||||
| 	golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect | ||||
| 	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect | ||||
|  |  | |||
							
								
								
									
										8
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										8
									
								
								go.sum
								
								
								
								
							|  | @ -277,6 +277,8 @@ github.com/aws/aws-sdk-go-v2 v1.13.0/go.mod h1:L6+ZpqHaLbAaxsqV0L4cvxZY7QupWJB4f | |||
| github.com/aws/aws-sdk-go-v2/config v1.5.0/go.mod h1:RWlPOAW3E3tbtNAqTwvSW54Of/yP3oiZXMI0xfUdjyA= | ||||
| github.com/aws/aws-sdk-go-v2/config v1.13.0 h1:1ij3YPk13RrIn1h+pH+dArh3lNPD5JSAP+ifOkNhnB0= | ||||
| github.com/aws/aws-sdk-go-v2/config v1.13.0/go.mod h1:Pjv2OafecIn+4miw9VFDCr06YhKyf/oKOkIcpQOgWKk= | ||||
| github.com/aws/aws-sdk-go-v2/config v1.13.1 h1:yLv8bfNoT4r+UvUKQKqRtdnvuWGMK5a82l4ru9Jvnuo= | ||||
| github.com/aws/aws-sdk-go-v2/config v1.13.1/go.mod h1:Ba5Z4yL/UGbjQUzsiaN378YobhFo0MLfueXGiOsYtEs= | ||||
| github.com/aws/aws-sdk-go-v2/credentials v1.3.1/go.mod h1:r0n73xwsIVagq8RsxmZbGSRQFj9As3je72C2WzUIToc= | ||||
| github.com/aws/aws-sdk-go-v2/credentials v1.8.0 h1:8Ow0WcyDesGNL0No11jcgb1JAtE+WtubqXjgxau+S0o= | ||||
| github.com/aws/aws-sdk-go-v2/credentials v1.8.0/go.mod h1:gnMo58Vwx3Mu7hj1wpcG8DI0s57c9o42UQ6wgTQT5to= | ||||
|  | @ -290,6 +292,8 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.2.0/go.mod h1:BsCSJHx5DnDX | |||
| github.com/aws/aws-sdk-go-v2/internal/ini v1.1.1/go.mod h1:Zy8smImhTdOETZqfyn01iNOe0CNggVbPjCajyaz6Gvg= | ||||
| github.com/aws/aws-sdk-go-v2/internal/ini v1.3.4 h1:0NrDHIwS1LIR750ltj6ciiu4NZLpr9rgq8vHi/4QD4s= | ||||
| github.com/aws/aws-sdk-go-v2/internal/ini v1.3.4/go.mod h1:R3sWUqPcfXSiF/LSFJhjyJmpg9uV6yP2yv3YZZjldVI= | ||||
| github.com/aws/aws-sdk-go-v2/internal/ini v1.3.5 h1:ixotxbfTCFpqbuwFv/RcZwyzhkxPSYDYEMcj4niB5Uk= | ||||
| github.com/aws/aws-sdk-go-v2/internal/ini v1.3.5/go.mod h1:R3sWUqPcfXSiF/LSFJhjyJmpg9uV6yP2yv3YZZjldVI= | ||||
| github.com/aws/aws-sdk-go-v2/service/ecr v1.4.1/go.mod h1:FglZcyeiBqcbvyinl+n14aT/EWC7S1MIH+Gan2iizt0= | ||||
| github.com/aws/aws-sdk-go-v2/service/ecr v1.14.0 h1:AAZJJAENsQ4yYbnfvqPZT8Nc1YlEd5CZ4usymlC2b4U= | ||||
| github.com/aws/aws-sdk-go-v2/service/ecr v1.14.0/go.mod h1:a3WUi3JjM3MFtIYenSYPJ7UZPXsw7U7vzebnynxucks= | ||||
|  | @ -310,6 +314,8 @@ github.com/aws/smithy-go v1.10.0 h1:gsoZQMNHnX+PaghNw4ynPsyGP7aUCqx5sY2dlPQsZ0w= | |||
| github.com/aws/smithy-go v1.10.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= | ||||
| github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20211215200129-69c85dc22db6 h1:eZSlkTaUtlhgnbn4gOl2Y248cXT+T/jtOww+pQ8m3ow= | ||||
| github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20211215200129-69c85dc22db6/go.mod h1:8vJsEZ4iRqG+Vx6pKhWK6U00qcj0KC37IsfszMkY6UE= | ||||
| github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220216180153-3d7835abdf40 h1:skzbn0VkQsUGOtr8M0A2xSjZsnLvq/FaFUOd81FUu9A= | ||||
| github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220216180153-3d7835abdf40/go.mod h1:8vJsEZ4iRqG+Vx6pKhWK6U00qcj0KC37IsfszMkY6UE= | ||||
| github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= | ||||
| github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= | ||||
| github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= | ||||
|  | @ -1986,6 +1992,8 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc | |||
| golang.org/x/sys v0.0.0-20220110181412-a018aaa089fe/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= | ||||
| golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c= | ||||
| golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= | ||||
| golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||
| golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= | ||||
|  |  | |||
|  | @ -17,8 +17,9 @@ limitations under the License. | |||
| package creds | ||||
| 
 | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 
 | ||||
| 	ecr "github.com/awslabs/amazon-ecr-credential-helper/ecr-login" | ||||
| 	"github.com/awslabs/amazon-ecr-credential-helper/ecr-login/api" | ||||
| 	"github.com/chrismellard/docker-credential-acr-env/pkg/credhelper" | ||||
| 	"github.com/google/go-containerregistry/pkg/authn" | ||||
| 	"github.com/google/go-containerregistry/pkg/v1/google" | ||||
|  | @ -29,7 +30,7 @@ func GetKeychain() authn.Keychain { | |||
| 	return authn.NewMultiKeychain( | ||||
| 		authn.DefaultKeychain, | ||||
| 		google.Keychain, | ||||
| 		authn.NewKeychainFromHelper(ecr.ECRHelper{ClientFactory: api.DefaultClientFactory{}}), | ||||
| 		authn.NewKeychainFromHelper(ecr.NewECRHelper(ecr.WithLogOutput(ioutil.Discard))), | ||||
| 		authn.NewKeychainFromHelper(credhelper.NewACRCredentialsHelper()), | ||||
| 	) | ||||
| } | ||||
|  |  | |||
|  | @ -1,3 +1,10 @@ | |||
| # v1.13.1 (2022-01-28) | ||||
| 
 | ||||
| * **Bug Fix**: Fixes LoadDefaultConfig handling of errors returned by passed in functional options. Previously errors returned from the LoadOptions passed into LoadDefaultConfig were incorrectly ignored. [#1562](https://github.com/aws/aws-sdk-go-v2/pull/1562). Thanks to [Pinglei Guo](https://github.com/pingleig) for submitting this PR. | ||||
| * **Bug Fix**: Fixes the SDK's handling of `duration_sections` in the shared credentials file or specified in multiple shared config and shared credentials files under the same profile. [#1568](https://github.com/aws/aws-sdk-go-v2/pull/1568). Thanks to [Amir Szekely](https://github.com/kichik) for help reproduce this bug. | ||||
| * **Bug Fix**: Updates `config` module to use os.UserHomeDir instead of hard coded environment variable for OS. [#1563](https://github.com/aws/aws-sdk-go-v2/pull/1563) | ||||
| * **Dependency Update**: Updated to the latest SDK module versions | ||||
| 
 | ||||
| # v1.13.0 (2022-01-14) | ||||
| 
 | ||||
| * **Feature**: Updated `github.com/aws/smithy-go` to latest version | ||||
|  |  | |||
|  | @ -181,7 +181,9 @@ func (cs configs) ResolveConfig(f func(configs []interface{}) error) error { | |||
| func LoadDefaultConfig(ctx context.Context, optFns ...func(*LoadOptions) error) (cfg aws.Config, err error) { | ||||
| 	var options LoadOptions | ||||
| 	for _, optFn := range optFns { | ||||
| 		optFn(&options) | ||||
| 		if err := optFn(&options); err != nil { | ||||
| 			return aws.Config{}, err | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	// assign Load Options to configs
 | ||||
|  |  | |||
|  | @ -3,4 +3,4 @@ | |||
| package config | ||||
| 
 | ||||
| // goModuleVersion is the tagged release for this module
 | ||||
| const goModuleVersion = "1.13.0" | ||||
| const goModuleVersion = "1.13.1" | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ import ( | |||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"runtime" | ||||
| 	"strings" | ||||
| 	"time" | ||||
| 
 | ||||
|  | @ -1051,12 +1050,9 @@ func (e CredentialRequiresARNError) Error() string { | |||
| } | ||||
| 
 | ||||
| func userHomeDir() string { | ||||
| 	if runtime.GOOS == "windows" { // Windows
 | ||||
| 		return os.Getenv("USERPROFILE") | ||||
| 	} | ||||
| 
 | ||||
| 	// *nix
 | ||||
| 	return os.Getenv("HOME") | ||||
| 	// Ignore errors since we only care about Windows and *nix.
 | ||||
| 	homedir, _ := os.UserHomeDir() | ||||
| 	return homedir | ||||
| } | ||||
| 
 | ||||
| func oneOrNone(bs ...bool) bool { | ||||
|  |  | |||
|  | @ -1,3 +1,7 @@ | |||
| # v1.3.5 (2022-01-28) | ||||
| 
 | ||||
| * **Bug Fix**: Fixes the SDK's handling of `duration_sections` in the shared credentials file or specified in multiple shared config and shared credentials files under the same profile. [#1568](https://github.com/aws/aws-sdk-go-v2/pull/1568). Thanks to [Amir Szekely](https://github.com/kichik) for help reproduce this bug. | ||||
| 
 | ||||
| # v1.3.4 (2022-01-14) | ||||
| 
 | ||||
| * **Dependency Update**: Updated to the latest SDK module versions | ||||
|  |  | |||
|  | @ -3,4 +3,4 @@ | |||
| package ini | ||||
| 
 | ||||
| // goModuleVersion is the tagged release for this module
 | ||||
| const goModuleVersion = "1.3.4" | ||||
| const goModuleVersion = "1.3.5" | ||||
|  |  | |||
|  | @ -216,22 +216,8 @@ func NewStringValue(str string) (Value, error) { | |||
| 
 | ||||
| // NewIntValue returns a Value type generated using an int64 input.
 | ||||
| func NewIntValue(i int64) (Value, error) { | ||||
| 	return newValue(IntegerType, 10, []rune{rune(i)}) | ||||
| } | ||||
| 
 | ||||
| // Append will append values and change the type to a string
 | ||||
| // type.
 | ||||
| func (v *Value) Append(tok Token) { | ||||
| 	r := tok.Raw() | ||||
| 	if v.Type != QuotedStringType { | ||||
| 		v.Type = StringType | ||||
| 		r = tok.raw[1 : len(tok.raw)-1] | ||||
| 	} | ||||
| 	if tok.Type() != TokenLit { | ||||
| 		v.raw = append(v.raw, tok.Raw()...) | ||||
| 	} else { | ||||
| 		v.raw = append(v.raw, r...) | ||||
| 	} | ||||
| 	v := strconv.FormatInt(i, 10) | ||||
| 	return newValue(IntegerType, 10, []rune(v)) | ||||
| } | ||||
| 
 | ||||
| func (v Value) String() string { | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ package ecr | |||
| import ( | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 
 | ||||
| 	"github.com/sirupsen/logrus" | ||||
| 
 | ||||
|  | @ -26,7 +27,34 @@ import ( | |||
| var notImplemented = errors.New("not implemented") | ||||
| 
 | ||||
| type ECRHelper struct { | ||||
| 	ClientFactory api.ClientFactory | ||||
| 	clientFactory api.ClientFactory | ||||
| 	logger        *logrus.Logger | ||||
| } | ||||
| 
 | ||||
| type Option func(*ECRHelper) | ||||
| 
 | ||||
| func WithClientFactory(clientFactory api.ClientFactory) Option { | ||||
| 	return func(e *ECRHelper) { | ||||
| 		e.clientFactory = clientFactory | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func WithLogOutput(w io.Writer) Option { | ||||
| 	return func(e *ECRHelper) { | ||||
| 		e.logger.Out = w | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func NewECRHelper(opts ...Option) *ECRHelper { | ||||
| 	e := &ECRHelper{ | ||||
| 		clientFactory: api.DefaultClientFactory{}, | ||||
| 		logger:        logrus.StandardLogger(), | ||||
| 	} | ||||
| 	for _, o := range opts { | ||||
| 		o(e) | ||||
| 	} | ||||
| 
 | ||||
| 	return e | ||||
| } | ||||
| 
 | ||||
| // ensure ECRHelper adheres to the credentials.Helper interface
 | ||||
|  | @ -45,7 +73,7 @@ func (ECRHelper) Delete(serverURL string) error { | |||
| func (self ECRHelper) Get(serverURL string) (string, string, error) { | ||||
| 	registry, err := api.ExtractRegistry(serverURL) | ||||
| 	if err != nil { | ||||
| 		logrus. | ||||
| 		self.logger. | ||||
| 			WithError(err). | ||||
| 			WithField("serverURL", serverURL). | ||||
| 			Error("Error parsing the serverURL") | ||||
|  | @ -54,30 +82,30 @@ func (self ECRHelper) Get(serverURL string) (string, string, error) { | |||
| 
 | ||||
| 	var client api.Client | ||||
| 	if registry.FIPS { | ||||
| 		client, err = self.ClientFactory.NewClientWithFipsEndpoint(registry.Region) | ||||
| 		client, err = self.clientFactory.NewClientWithFipsEndpoint(registry.Region) | ||||
| 		if err != nil { | ||||
| 			logrus.WithError(err).Error("Error resolving FIPS endpoint") | ||||
| 			self.logger.WithError(err).Error("Error resolving FIPS endpoint") | ||||
| 			return "", "", credentials.NewErrCredentialsNotFound() | ||||
| 		} | ||||
| 	} else { | ||||
| 		client = self.ClientFactory.NewClientFromRegion(registry.Region) | ||||
| 		client = self.clientFactory.NewClientFromRegion(registry.Region) | ||||
| 	} | ||||
| 
 | ||||
| 	auth, err := client.GetCredentials(serverURL) | ||||
| 	if err != nil { | ||||
| 		logrus.WithError(err).Error("Error retrieving credentials") | ||||
| 		self.logger.WithError(err).Error("Error retrieving credentials") | ||||
| 		return "", "", credentials.NewErrCredentialsNotFound() | ||||
| 	} | ||||
| 	return auth.Username, auth.Password, nil | ||||
| } | ||||
| 
 | ||||
| func (self ECRHelper) List() (map[string]string, error) { | ||||
| 	logrus.Debug("Listing credentials") | ||||
| 	client := self.ClientFactory.NewClientWithDefaults() | ||||
| 	self.logger.Debug("Listing credentials") | ||||
| 	client := self.clientFactory.NewClientWithDefaults() | ||||
| 
 | ||||
| 	auths, err := client.ListCredentials() | ||||
| 	if err != nil { | ||||
| 		logrus.WithError(err).Error("Error listing credentials") | ||||
| 		self.logger.WithError(err).Error("Error listing credentials") | ||||
| 		return nil, fmt.Errorf("ecr: could not list credentials: %v", err) | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
|  | @ -597,6 +597,7 @@ ccflags="$@" | |||
| 		$2 ~ /^DEVLINK_/ || | ||||
| 		$2 ~ /^ETHTOOL_/ || | ||||
| 		$2 ~ /^LWTUNNEL_IP/ || | ||||
| 		$2 ~ /^ITIMER_/ || | ||||
| 		$2 !~ "WMESGLEN" && | ||||
| 		$2 ~ /^W[A-Z0-9]+$/ || | ||||
| 		$2 ~/^PPPIOC/ || | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ package unix | |||
| import ( | ||||
| 	"encoding/binary" | ||||
| 	"syscall" | ||||
| 	"time" | ||||
| 	"unsafe" | ||||
| ) | ||||
| 
 | ||||
|  | @ -2314,11 +2315,56 @@ type RemoteIovec struct { | |||
| //sys	shmdt(addr uintptr) (err error)
 | ||||
| //sys	shmget(key int, size int, flag int) (id int, err error)
 | ||||
| 
 | ||||
| //sys	getitimer(which int, currValue *Itimerval) (err error)
 | ||||
| //sys	setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error)
 | ||||
| 
 | ||||
| // MakeItimerval creates an Itimerval from interval and value durations.
 | ||||
| func MakeItimerval(interval, value time.Duration) Itimerval { | ||||
| 	return Itimerval{ | ||||
| 		Interval: NsecToTimeval(interval.Nanoseconds()), | ||||
| 		Value:    NsecToTimeval(value.Nanoseconds()), | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // A value which may be passed to the which parameter for Getitimer and
 | ||||
| // Setitimer.
 | ||||
| type ItimerWhich int | ||||
| 
 | ||||
| // Possible which values for Getitimer and Setitimer.
 | ||||
| const ( | ||||
| 	ItimerReal    ItimerWhich = ITIMER_REAL | ||||
| 	ItimerVirtual ItimerWhich = ITIMER_VIRTUAL | ||||
| 	ItimerProf    ItimerWhich = ITIMER_PROF | ||||
| ) | ||||
| 
 | ||||
| // Getitimer wraps getitimer(2) to return the current value of the timer
 | ||||
| // specified by which.
 | ||||
| func Getitimer(which ItimerWhich) (Itimerval, error) { | ||||
| 	var it Itimerval | ||||
| 	if err := getitimer(int(which), &it); err != nil { | ||||
| 		return Itimerval{}, err | ||||
| 	} | ||||
| 
 | ||||
| 	return it, nil | ||||
| } | ||||
| 
 | ||||
| // Setitimer wraps setitimer(2) to arm or disarm the timer specified by which.
 | ||||
| // It returns the previous value of the timer.
 | ||||
| //
 | ||||
| // If the Itimerval argument is the zero value, the timer will be disarmed.
 | ||||
| func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) { | ||||
| 	var prev Itimerval | ||||
| 	if err := setitimer(int(which), &it, &prev); err != nil { | ||||
| 		return Itimerval{}, err | ||||
| 	} | ||||
| 
 | ||||
| 	return prev, nil | ||||
| } | ||||
| 
 | ||||
| /* | ||||
|  * Unimplemented | ||||
|  */ | ||||
| // AfsSyscall
 | ||||
| // Alarm
 | ||||
| // ArchPrctl
 | ||||
| // Brk
 | ||||
| // ClockNanosleep
 | ||||
|  | @ -2334,7 +2380,6 @@ type RemoteIovec struct { | |||
| // GetMempolicy
 | ||||
| // GetRobustList
 | ||||
| // GetThreadArea
 | ||||
| // Getitimer
 | ||||
| // Getpmsg
 | ||||
| // IoCancel
 | ||||
| // IoDestroy
 | ||||
|  |  | |||
|  | @ -0,0 +1,14 @@ | |||
| // Copyright 2022 The Go Authors. All rights reserved.
 | ||||
| // Use of this source code is governed by a BSD-style
 | ||||
| // license that can be found in the LICENSE file.
 | ||||
| 
 | ||||
| //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
 | ||||
| // +build linux
 | ||||
| // +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64
 | ||||
| 
 | ||||
| package unix | ||||
| 
 | ||||
| // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH
 | ||||
| // values.
 | ||||
| 
 | ||||
| //sys	Alarm(seconds uint) (remaining uint, err error)
 | ||||
|  | @ -38,7 +38,8 @@ const ( | |||
| 	AF_KEY                                      = 0xf | ||||
| 	AF_LLC                                      = 0x1a | ||||
| 	AF_LOCAL                                    = 0x1 | ||||
| 	AF_MAX                                      = 0x2d | ||||
| 	AF_MAX                                      = 0x2e | ||||
| 	AF_MCTP                                     = 0x2d | ||||
| 	AF_MPLS                                     = 0x1c | ||||
| 	AF_NETBEUI                                  = 0xd | ||||
| 	AF_NETLINK                                  = 0x10 | ||||
|  | @ -1267,6 +1268,9 @@ const ( | |||
| 	IP_XFRM_POLICY                              = 0x11 | ||||
| 	ISOFS_SUPER_MAGIC                           = 0x9660 | ||||
| 	ISTRIP                                      = 0x20 | ||||
| 	ITIMER_PROF                                 = 0x2 | ||||
| 	ITIMER_REAL                                 = 0x0 | ||||
| 	ITIMER_VIRTUAL                              = 0x1 | ||||
| 	IUTF8                                       = 0x4000 | ||||
| 	IXANY                                       = 0x800 | ||||
| 	JFFS2_SUPER_MAGIC                           = 0x72b6 | ||||
|  |  | |||
|  | @ -2032,3 +2032,23 @@ func shmget(key int, size int, flag int) (id int, err error) { | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func getitimer(which int, currValue *Itimerval) (err error) { | ||||
| 	_, _, e1 := Syscall(SYS_GETITIMER, uintptr(which), uintptr(unsafe.Pointer(currValue)), 0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) { | ||||
| 	_, _, e1 := Syscall(SYS_SETITIMER, uintptr(which), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue))) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
 | ||||
| // go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && 386
 | ||||
|  | @ -524,3 +524,14 @@ func utimes(path string, times *[2]Timeval) (err error) { | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
 | ||||
| // go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && amd64
 | ||||
|  | @ -691,3 +691,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go
 | ||||
| // go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && mips
 | ||||
|  | @ -702,3 +702,14 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go
 | ||||
| // go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && mips64
 | ||||
|  | @ -696,3 +696,14 @@ func stat(path string, st *stat_t) (err error) { | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go
 | ||||
| // go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && mipsle
 | ||||
|  | @ -702,3 +702,14 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go
 | ||||
| // go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && ppc
 | ||||
|  | @ -707,3 +707,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
 | ||||
| // go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && ppc64
 | ||||
|  | @ -753,3 +753,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
 | ||||
| // go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && ppc64le
 | ||||
|  | @ -753,3 +753,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
 | ||||
| // go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && s390x
 | ||||
|  | @ -533,3 +533,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| // go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go
 | ||||
| // go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go
 | ||||
| // Code generated by the command above; see README.md. DO NOT EDIT.
 | ||||
| 
 | ||||
| //go:build linux && sparc64
 | ||||
|  | @ -697,3 +697,14 @@ func utimes(path string, times *[2]Timeval) (err error) { | |||
| 	} | ||||
| 	return | ||||
| } | ||||
| 
 | ||||
| // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 | ||||
| 
 | ||||
| func Alarm(seconds uint) (remaining uint, err error) { | ||||
| 	r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) | ||||
| 	remaining = uint(r0) | ||||
| 	if e1 != 0 { | ||||
| 		err = errnoErr(e1) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  |  | |||
|  | @ -24,6 +24,11 @@ type ItimerSpec struct { | |||
| 	Value    Timespec | ||||
| } | ||||
| 
 | ||||
| type Itimerval struct { | ||||
| 	Interval Timeval | ||||
| 	Value    Timeval | ||||
| } | ||||
| 
 | ||||
| const ( | ||||
| 	TIME_OK    = 0x0 | ||||
| 	TIME_INS   = 0x1 | ||||
|  |  | |||
|  | @ -176,7 +176,7 @@ github.com/aws/aws-sdk-go-v2/internal/sdkio | |||
| github.com/aws/aws-sdk-go-v2/internal/strings | ||||
| github.com/aws/aws-sdk-go-v2/internal/sync/singleflight | ||||
| github.com/aws/aws-sdk-go-v2/internal/timeconv | ||||
| # github.com/aws/aws-sdk-go-v2/config v1.13.0 | ||||
| # github.com/aws/aws-sdk-go-v2/config v1.13.1 | ||||
| ## explicit; go 1.15 | ||||
| github.com/aws/aws-sdk-go-v2/config | ||||
| # github.com/aws/aws-sdk-go-v2/credentials v1.8.0 | ||||
|  | @ -198,7 +198,7 @@ github.com/aws/aws-sdk-go-v2/internal/configsources | |||
| # github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.2.0 | ||||
| ## explicit; go 1.15 | ||||
| github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 | ||||
| # github.com/aws/aws-sdk-go-v2/internal/ini v1.3.4 | ||||
| # github.com/aws/aws-sdk-go-v2/internal/ini v1.3.5 | ||||
| ## explicit; go 1.15 | ||||
| github.com/aws/aws-sdk-go-v2/internal/ini | ||||
| # github.com/aws/aws-sdk-go-v2/service/ecr v1.14.0 | ||||
|  | @ -241,7 +241,7 @@ github.com/aws/smithy-go/time | |||
| github.com/aws/smithy-go/transport/http | ||||
| github.com/aws/smithy-go/transport/http/internal/io | ||||
| github.com/aws/smithy-go/waiter | ||||
| # github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20211215200129-69c85dc22db6 | ||||
| # github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220216180153-3d7835abdf40 | ||||
| ## explicit; go 1.13 | ||||
| github.com/awslabs/amazon-ecr-credential-helper/ecr-login | ||||
| github.com/awslabs/amazon-ecr-credential-helper/ecr-login/api | ||||
|  | @ -795,7 +795,7 @@ golang.org/x/oauth2/jwt | |||
| ## explicit | ||||
| golang.org/x/sync/errgroup | ||||
| golang.org/x/sync/syncmap | ||||
| # golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 | ||||
| # golang.org/x/sys v0.0.0-20220209214540-3681064d5158 | ||||
| ## explicit; go 1.17 | ||||
| golang.org/x/sys/cpu | ||||
| golang.org/x/sys/execabs | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue