mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-18 11:00:25 +00:00
rebase: bump github.com/aws/aws-sdk-go-v2/service/sts
Bumps [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) from 1.17.1 to 1.17.3. - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.17.1...config/v1.17.3) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/sts dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
f0cc5a0ef8
commit
0f0957164e
10
go.mod
10
go.mod
@ -5,7 +5,7 @@ go 1.18
|
|||||||
require (
|
require (
|
||||||
github.com/IBM/keyprotect-go-client v0.9.0
|
github.com/IBM/keyprotect-go-client v0.9.0
|
||||||
github.com/aws/aws-sdk-go v1.44.132
|
github.com/aws/aws-sdk-go v1.44.132
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1
|
github.com/aws/aws-sdk-go-v2/service/sts v1.17.3
|
||||||
github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000
|
github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000
|
||||||
// TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag
|
// TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag
|
||||||
github.com/ceph/go-ceph v0.18.0
|
github.com/ceph/go-ceph v0.18.0
|
||||||
@ -32,8 +32,8 @@ require (
|
|||||||
golang.org/x/sys v0.2.0
|
golang.org/x/sys v0.2.0
|
||||||
google.golang.org/grpc v1.50.1
|
google.golang.org/grpc v1.50.1
|
||||||
google.golang.org/protobuf v1.28.1
|
google.golang.org/protobuf v1.28.1
|
||||||
k8s.io/api v0.25.3
|
k8s.io/api v0.25.4
|
||||||
k8s.io/apimachinery v0.25.3
|
k8s.io/apimachinery v0.25.4
|
||||||
k8s.io/client-go v12.0.0+incompatible
|
k8s.io/client-go v12.0.0+incompatible
|
||||||
k8s.io/cloud-provider v0.25.3
|
k8s.io/cloud-provider v0.25.3
|
||||||
k8s.io/klog/v2 v2.80.1
|
k8s.io/klog/v2 v2.80.1
|
||||||
@ -43,7 +43,7 @@ require (
|
|||||||
k8s.io/kubernetes v1.25.3
|
k8s.io/kubernetes v1.25.3
|
||||||
k8s.io/mount-utils v0.25.3
|
k8s.io/mount-utils v0.25.3
|
||||||
k8s.io/pod-security-admission v0.0.0
|
k8s.io/pod-security-admission v0.0.0
|
||||||
k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed
|
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
|
||||||
sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2
|
sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ require (
|
|||||||
github.com/golang/snappy v0.0.4 // indirect
|
github.com/golang/snappy v0.0.4 // indirect
|
||||||
github.com/google/gnostic v0.6.9 // indirect
|
github.com/google/gnostic v0.6.9 // indirect
|
||||||
github.com/google/go-cmp v0.5.9 // indirect
|
github.com/google/go-cmp v0.5.9 // indirect
|
||||||
github.com/google/gofuzz v1.1.0 // indirect
|
github.com/google/gofuzz v1.2.0 // indirect
|
||||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
|
||||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||||
|
11
go.sum
11
go.sum
@ -150,8 +150,8 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19 h1:oRHDrwCTVT8ZXi4sr9
|
|||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA=
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 h1:GE25AWCdNUPh9AOJzI9KIJnja7IwUc1WyUqz/JTyJ/I=
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 h1:GE25AWCdNUPh9AOJzI9KIJnja7IwUc1WyUqz/JTyJ/I=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU=
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1 h1:KRAix/KHvjGODaHAMXnxRk9t0D+4IJVUuS/uwXxngXk=
|
github.com/aws/aws-sdk-go-v2/service/sts v1.17.3 h1:WMAsVk4yQTHOZ2m7dFnF5Azr/aDecBbpWRwc+M6iFIM=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1/go.mod h1:bXcN3koeVYiJcdDU89n3kCYILob7Y34AeLopUbZgLT4=
|
github.com/aws/aws-sdk-go-v2/service/sts v1.17.3/go.mod h1:bXcN3koeVYiJcdDU89n3kCYILob7Y34AeLopUbZgLT4=
|
||||||
github.com/aws/smithy-go v1.13.4 h1:/RN2z1txIJWeXeOkzX+Hk/4Uuvv7dWtCjbmVJcrskyk=
|
github.com/aws/smithy-go v1.13.4 h1:/RN2z1txIJWeXeOkzX+Hk/4Uuvv7dWtCjbmVJcrskyk=
|
||||||
github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
|
github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
|
||||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
|
||||||
@ -453,8 +453,9 @@ github.com/google/go-metrics-stackdriver v0.2.0/go.mod h1:KLcPyp3dWJAFD+yHisGlJS
|
|||||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||||
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
||||||
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 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
|
|
||||||
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 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
|
||||||
|
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||||
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||||
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||||
@ -993,7 +994,6 @@ github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE
|
|||||||
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/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 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY=
|
|
||||||
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/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
@ -1732,8 +1732,9 @@ k8s.io/pod-security-admission v0.25.3 h1:2HnXWKUIDSez2sWtvxeGgGVUFvYnJJHutL4AI1M
|
|||||||
k8s.io/pod-security-admission v0.25.3/go.mod h1:xSaLkcMPD6cGKrZ//ZUrCNs0BewZzQdOEcC9LuXBGR4=
|
k8s.io/pod-security-admission v0.25.3/go.mod h1:xSaLkcMPD6cGKrZ//ZUrCNs0BewZzQdOEcC9LuXBGR4=
|
||||||
k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
|
k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
|
||||||
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 h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4=
|
|
||||||
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 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8=
|
||||||
|
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
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=
|
||||||
|
8
vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
generated
vendored
8
vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
generated
vendored
@ -1,3 +1,11 @@
|
|||||||
|
# v1.17.3 (2022-11-16)
|
||||||
|
|
||||||
|
* No change notes available for this release.
|
||||||
|
|
||||||
|
# v1.17.2 (2022-11-10)
|
||||||
|
|
||||||
|
* No change notes available for this release.
|
||||||
|
|
||||||
# v1.17.1 (2022-10-24)
|
# v1.17.1 (2022-10-24)
|
||||||
|
|
||||||
* **Dependency Update**: Updated to the latest SDK module versions
|
* **Dependency Update**: Updated to the latest SDK module versions
|
||||||
|
2
vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
generated
vendored
@ -3,4 +3,4 @@
|
|||||||
package sts
|
package sts
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.17.1"
|
const goModuleVersion = "1.17.3"
|
||||||
|
6
vendor/github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints/endpoints.go
generated
vendored
6
vendor/github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints/endpoints.go
generated
vendored
@ -176,12 +176,18 @@ var defaultPartitions = endpoints.Partitions{
|
|||||||
endpoints.EndpointKey{
|
endpoints.EndpointKey{
|
||||||
Region: "eu-central-1",
|
Region: "eu-central-1",
|
||||||
}: endpoints.Endpoint{},
|
}: endpoints.Endpoint{},
|
||||||
|
endpoints.EndpointKey{
|
||||||
|
Region: "eu-central-2",
|
||||||
|
}: endpoints.Endpoint{},
|
||||||
endpoints.EndpointKey{
|
endpoints.EndpointKey{
|
||||||
Region: "eu-north-1",
|
Region: "eu-north-1",
|
||||||
}: endpoints.Endpoint{},
|
}: endpoints.Endpoint{},
|
||||||
endpoints.EndpointKey{
|
endpoints.EndpointKey{
|
||||||
Region: "eu-south-1",
|
Region: "eu-south-1",
|
||||||
}: endpoints.Endpoint{},
|
}: endpoints.Endpoint{},
|
||||||
|
endpoints.EndpointKey{
|
||||||
|
Region: "eu-south-2",
|
||||||
|
}: endpoints.Endpoint{},
|
||||||
endpoints.EndpointKey{
|
endpoints.EndpointKey{
|
||||||
Region: "eu-west-1",
|
Region: "eu-west-1",
|
||||||
}: endpoints.Endpoint{},
|
}: endpoints.Endpoint{},
|
||||||
|
11
vendor/github.com/google/gofuzz/.travis.yml
generated
vendored
11
vendor/github.com/google/gofuzz/.travis.yml
generated
vendored
@ -1,13 +1,10 @@
|
|||||||
language: go
|
language: go
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.4
|
- 1.11.x
|
||||||
- 1.3
|
- 1.12.x
|
||||||
- 1.2
|
- 1.13.x
|
||||||
- tip
|
- master
|
||||||
|
|
||||||
install:
|
|
||||||
- if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- go test -cover
|
- go test -cover
|
||||||
|
2
vendor/github.com/google/gofuzz/CONTRIBUTING.md
generated
vendored
2
vendor/github.com/google/gofuzz/CONTRIBUTING.md
generated
vendored
@ -1,7 +1,7 @@
|
|||||||
# How to contribute #
|
# How to contribute #
|
||||||
|
|
||||||
We'd love to accept your patches and contributions to this project. There are
|
We'd love to accept your patches and contributions to this project. There are
|
||||||
a just a few small guidelines you need to follow.
|
just a few small guidelines you need to follow.
|
||||||
|
|
||||||
|
|
||||||
## Contributor License Agreement ##
|
## Contributor License Agreement ##
|
||||||
|
18
vendor/github.com/google/gofuzz/README.md
generated
vendored
18
vendor/github.com/google/gofuzz/README.md
generated
vendored
@ -68,4 +68,22 @@ f.Fuzz(&myObject) // Type will correspond to whether A or B info is set.
|
|||||||
|
|
||||||
See more examples in ```example_test.go```.
|
See more examples in ```example_test.go```.
|
||||||
|
|
||||||
|
You can use this library for easier [go-fuzz](https://github.com/dvyukov/go-fuzz)ing.
|
||||||
|
go-fuzz provides the user a byte-slice, which should be converted to different inputs
|
||||||
|
for the tested function. This library can help convert the byte slice. Consider for
|
||||||
|
example a fuzz test for a the function `mypackage.MyFunc` that takes an int arguments:
|
||||||
|
```go
|
||||||
|
// +build gofuzz
|
||||||
|
package mypackage
|
||||||
|
|
||||||
|
import fuzz "github.com/google/gofuzz"
|
||||||
|
|
||||||
|
func Fuzz(data []byte) int {
|
||||||
|
var i int
|
||||||
|
fuzz.NewFromGoFuzz(data).Fuzz(&i)
|
||||||
|
MyFunc(i)
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Happy testing!
|
Happy testing!
|
||||||
|
81
vendor/github.com/google/gofuzz/bytesource/bytesource.go
generated
vendored
Normal file
81
vendor/github.com/google/gofuzz/bytesource/bytesource.go
generated
vendored
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2014 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package bytesource provides a rand.Source64 that is determined by a slice of bytes.
|
||||||
|
package bytesource
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/binary"
|
||||||
|
"io"
|
||||||
|
"math/rand"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ByteSource implements rand.Source64 determined by a slice of bytes. The random numbers are
|
||||||
|
// generated from each 8 bytes in the slice, until the last bytes are consumed, from which a
|
||||||
|
// fallback pseudo random source is created in case more random numbers are required.
|
||||||
|
// It also exposes a `bytes.Reader` API, which lets callers consume the bytes directly.
|
||||||
|
type ByteSource struct {
|
||||||
|
*bytes.Reader
|
||||||
|
fallback rand.Source
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new ByteSource from a given slice of bytes.
|
||||||
|
func New(input []byte) *ByteSource {
|
||||||
|
s := &ByteSource{
|
||||||
|
Reader: bytes.NewReader(input),
|
||||||
|
fallback: rand.NewSource(0),
|
||||||
|
}
|
||||||
|
if len(input) > 0 {
|
||||||
|
s.fallback = rand.NewSource(int64(s.consumeUint64()))
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ByteSource) Uint64() uint64 {
|
||||||
|
// Return from input if it was not exhausted.
|
||||||
|
if s.Len() > 0 {
|
||||||
|
return s.consumeUint64()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Input was exhausted, return random number from fallback (in this case fallback should not be
|
||||||
|
// nil). Try first having a Uint64 output (Should work in current rand implementation),
|
||||||
|
// otherwise return a conversion of Int63.
|
||||||
|
if s64, ok := s.fallback.(rand.Source64); ok {
|
||||||
|
return s64.Uint64()
|
||||||
|
}
|
||||||
|
return uint64(s.fallback.Int63())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ByteSource) Int63() int64 {
|
||||||
|
return int64(s.Uint64() >> 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ByteSource) Seed(seed int64) {
|
||||||
|
s.fallback = rand.NewSource(seed)
|
||||||
|
s.Reader = bytes.NewReader(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// consumeUint64 reads 8 bytes from the input and convert them to a uint64. It assumes that the the
|
||||||
|
// bytes reader is not empty.
|
||||||
|
func (s *ByteSource) consumeUint64() uint64 {
|
||||||
|
var bytes [8]byte
|
||||||
|
_, err := s.Read(bytes[:])
|
||||||
|
if err != nil && err != io.EOF {
|
||||||
|
panic("failed reading source") // Should not happen.
|
||||||
|
}
|
||||||
|
return binary.BigEndian.Uint64(bytes[:])
|
||||||
|
}
|
137
vendor/github.com/google/gofuzz/fuzz.go
generated
vendored
137
vendor/github.com/google/gofuzz/fuzz.go
generated
vendored
@ -22,6 +22,9 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/google/gofuzz/bytesource"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// fuzzFuncMap is a map from a type to a fuzzFunc that handles that type.
|
// fuzzFuncMap is a map from a type to a fuzzFunc that handles that type.
|
||||||
@ -61,6 +64,34 @@ func NewWithSeed(seed int64) *Fuzzer {
|
|||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewFromGoFuzz is a helper function that enables using gofuzz (this
|
||||||
|
// project) with go-fuzz (https://github.com/dvyukov/go-fuzz) for continuous
|
||||||
|
// fuzzing. Essentially, it enables translating the fuzzing bytes from
|
||||||
|
// go-fuzz to any Go object using this library.
|
||||||
|
//
|
||||||
|
// This implementation promises a constant translation from a given slice of
|
||||||
|
// bytes to the fuzzed objects. This promise will remain over future
|
||||||
|
// versions of Go and of this library.
|
||||||
|
//
|
||||||
|
// Note: the returned Fuzzer should not be shared between multiple goroutines,
|
||||||
|
// as its deterministic output will no longer be available.
|
||||||
|
//
|
||||||
|
// Example: use go-fuzz to test the function `MyFunc(int)` in the package
|
||||||
|
// `mypackage`. Add the file: "mypacakge_fuzz.go" with the content:
|
||||||
|
//
|
||||||
|
// // +build gofuzz
|
||||||
|
// package mypacakge
|
||||||
|
// import fuzz "github.com/google/gofuzz"
|
||||||
|
// func Fuzz(data []byte) int {
|
||||||
|
// var i int
|
||||||
|
// fuzz.NewFromGoFuzz(data).Fuzz(&i)
|
||||||
|
// MyFunc(i)
|
||||||
|
// return 0
|
||||||
|
// }
|
||||||
|
func NewFromGoFuzz(data []byte) *Fuzzer {
|
||||||
|
return New().RandSource(bytesource.New(data))
|
||||||
|
}
|
||||||
|
|
||||||
// Funcs adds each entry in fuzzFuncs as a custom fuzzing function.
|
// Funcs adds each entry in fuzzFuncs as a custom fuzzing function.
|
||||||
//
|
//
|
||||||
// Each entry in fuzzFuncs must be a function taking two parameters.
|
// Each entry in fuzzFuncs must be a function taking two parameters.
|
||||||
@ -141,7 +172,7 @@ func (f *Fuzzer) genElementCount() int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (f *Fuzzer) genShouldFill() bool {
|
func (f *Fuzzer) genShouldFill() bool {
|
||||||
return f.r.Float64() > f.nilChance
|
return f.r.Float64() >= f.nilChance
|
||||||
}
|
}
|
||||||
|
|
||||||
// MaxDepth sets the maximum number of recursive fuzz calls that will be made
|
// MaxDepth sets the maximum number of recursive fuzz calls that will be made
|
||||||
@ -240,6 +271,7 @@ func (fc *fuzzerContext) doFuzz(v reflect.Value, flags uint64) {
|
|||||||
fn(v, fc.fuzzer.r)
|
fn(v, fc.fuzzer.r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
switch v.Kind() {
|
switch v.Kind() {
|
||||||
case reflect.Map:
|
case reflect.Map:
|
||||||
if fc.fuzzer.genShouldFill() {
|
if fc.fuzzer.genShouldFill() {
|
||||||
@ -450,10 +482,10 @@ var fillFuncMap = map[reflect.Kind]func(reflect.Value, *rand.Rand){
|
|||||||
v.SetFloat(r.Float64())
|
v.SetFloat(r.Float64())
|
||||||
},
|
},
|
||||||
reflect.Complex64: func(v reflect.Value, r *rand.Rand) {
|
reflect.Complex64: func(v reflect.Value, r *rand.Rand) {
|
||||||
panic("unimplemented")
|
v.SetComplex(complex128(complex(r.Float32(), r.Float32())))
|
||||||
},
|
},
|
||||||
reflect.Complex128: func(v reflect.Value, r *rand.Rand) {
|
reflect.Complex128: func(v reflect.Value, r *rand.Rand) {
|
||||||
panic("unimplemented")
|
v.SetComplex(complex(r.Float64(), r.Float64()))
|
||||||
},
|
},
|
||||||
reflect.String: func(v reflect.Value, r *rand.Rand) {
|
reflect.String: func(v reflect.Value, r *rand.Rand) {
|
||||||
v.SetString(randString(r))
|
v.SetString(randString(r))
|
||||||
@ -465,38 +497,105 @@ var fillFuncMap = map[reflect.Kind]func(reflect.Value, *rand.Rand){
|
|||||||
|
|
||||||
// randBool returns true or false randomly.
|
// randBool returns true or false randomly.
|
||||||
func randBool(r *rand.Rand) bool {
|
func randBool(r *rand.Rand) bool {
|
||||||
if r.Int()&1 == 1 {
|
return r.Int31()&(1<<30) == 0
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type charRange struct {
|
type int63nPicker interface {
|
||||||
first, last rune
|
Int63n(int64) int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UnicodeRange describes a sequential range of unicode characters.
|
||||||
|
// Last must be numerically greater than First.
|
||||||
|
type UnicodeRange struct {
|
||||||
|
First, Last rune
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnicodeRanges describes an arbitrary number of sequential ranges of unicode characters.
|
||||||
|
// To be useful, each range must have at least one character (First <= Last) and
|
||||||
|
// there must be at least one range.
|
||||||
|
type UnicodeRanges []UnicodeRange
|
||||||
|
|
||||||
// choose returns a random unicode character from the given range, using the
|
// choose returns a random unicode character from the given range, using the
|
||||||
// given randomness source.
|
// given randomness source.
|
||||||
func (r *charRange) choose(rand *rand.Rand) rune {
|
func (ur UnicodeRange) choose(r int63nPicker) rune {
|
||||||
count := int64(r.last - r.first)
|
count := int64(ur.Last - ur.First + 1)
|
||||||
return r.first + rune(rand.Int63n(count))
|
return ur.First + rune(r.Int63n(count))
|
||||||
}
|
}
|
||||||
|
|
||||||
var unicodeRanges = []charRange{
|
// CustomStringFuzzFunc constructs a FuzzFunc which produces random strings.
|
||||||
|
// Each character is selected from the range ur. If there are no characters
|
||||||
|
// in the range (cr.Last < cr.First), this will panic.
|
||||||
|
func (ur UnicodeRange) CustomStringFuzzFunc() func(s *string, c Continue) {
|
||||||
|
ur.check()
|
||||||
|
return func(s *string, c Continue) {
|
||||||
|
*s = ur.randString(c.Rand)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check is a function that used to check whether the first of ur(UnicodeRange)
|
||||||
|
// is greater than the last one.
|
||||||
|
func (ur UnicodeRange) check() {
|
||||||
|
if ur.Last < ur.First {
|
||||||
|
panic("The last encoding must be greater than the first one.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// randString of UnicodeRange makes a random string up to 20 characters long.
|
||||||
|
// Each character is selected form ur(UnicodeRange).
|
||||||
|
func (ur UnicodeRange) randString(r *rand.Rand) string {
|
||||||
|
n := r.Intn(20)
|
||||||
|
sb := strings.Builder{}
|
||||||
|
sb.Grow(n)
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
sb.WriteRune(ur.choose(r))
|
||||||
|
}
|
||||||
|
return sb.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
// defaultUnicodeRanges sets a default unicode range when user do not set
|
||||||
|
// CustomStringFuzzFunc() but wants fuzz string.
|
||||||
|
var defaultUnicodeRanges = UnicodeRanges{
|
||||||
{' ', '~'}, // ASCII characters
|
{' ', '~'}, // ASCII characters
|
||||||
{'\u00a0', '\u02af'}, // Multi-byte encoded characters
|
{'\u00a0', '\u02af'}, // Multi-byte encoded characters
|
||||||
{'\u4e00', '\u9fff'}, // Common CJK (even longer encodings)
|
{'\u4e00', '\u9fff'}, // Common CJK (even longer encodings)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CustomStringFuzzFunc constructs a FuzzFunc which produces random strings.
|
||||||
|
// Each character is selected from one of the ranges of ur(UnicodeRanges).
|
||||||
|
// Each range has an equal probability of being chosen. If there are no ranges,
|
||||||
|
// or a selected range has no characters (.Last < .First), this will panic.
|
||||||
|
// Do not modify any of the ranges in ur after calling this function.
|
||||||
|
func (ur UnicodeRanges) CustomStringFuzzFunc() func(s *string, c Continue) {
|
||||||
|
// Check unicode ranges slice is empty.
|
||||||
|
if len(ur) == 0 {
|
||||||
|
panic("UnicodeRanges is empty.")
|
||||||
|
}
|
||||||
|
// if not empty, each range should be checked.
|
||||||
|
for i := range ur {
|
||||||
|
ur[i].check()
|
||||||
|
}
|
||||||
|
return func(s *string, c Continue) {
|
||||||
|
*s = ur.randString(c.Rand)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// randString of UnicodeRanges makes a random string up to 20 characters long.
|
||||||
|
// Each character is selected form one of the ranges of ur(UnicodeRanges),
|
||||||
|
// and each range has an equal probability of being chosen.
|
||||||
|
func (ur UnicodeRanges) randString(r *rand.Rand) string {
|
||||||
|
n := r.Intn(20)
|
||||||
|
sb := strings.Builder{}
|
||||||
|
sb.Grow(n)
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
sb.WriteRune(ur[r.Intn(len(ur))].choose(r))
|
||||||
|
}
|
||||||
|
return sb.String()
|
||||||
|
}
|
||||||
|
|
||||||
// randString makes a random string up to 20 characters long. The returned string
|
// randString makes a random string up to 20 characters long. The returned string
|
||||||
// may include a variety of (valid) UTF-8 encodings.
|
// may include a variety of (valid) UTF-8 encodings.
|
||||||
func randString(r *rand.Rand) string {
|
func randString(r *rand.Rand) string {
|
||||||
n := r.Intn(20)
|
return defaultUnicodeRanges.randString(r)
|
||||||
runes := make([]rune, n)
|
|
||||||
for i := range runes {
|
|
||||||
runes[i] = unicodeRanges[r.Intn(len(unicodeRanges))].choose(r)
|
|
||||||
}
|
|
||||||
return string(runes)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// randUint64 makes random 64 bit numbers.
|
// randUint64 makes random 64 bit numbers.
|
||||||
|
2
vendor/k8s.io/utils/net/port.go
generated
vendored
2
vendor/k8s.io/utils/net/port.go
generated
vendored
@ -29,7 +29,7 @@ type IPFamily string
|
|||||||
// Constants for valid IPFamilys:
|
// Constants for valid IPFamilys:
|
||||||
const (
|
const (
|
||||||
IPv4 IPFamily = "4"
|
IPv4 IPFamily = "4"
|
||||||
IPv6 = "6"
|
IPv6 IPFamily = "6"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Protocol is a network protocol support by LocalPort.
|
// Protocol is a network protocol support by LocalPort.
|
||||||
|
110
vendor/k8s.io/utils/pointer/pointer.go
generated
vendored
110
vendor/k8s.io/utils/pointer/pointer.go
generated
vendored
@ -53,6 +53,7 @@ func Int(i int) *int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// IntPtr is a function variable referring to Int.
|
// IntPtr is a function variable referring to Int.
|
||||||
|
//
|
||||||
// Deprecated: Use Int instead.
|
// Deprecated: Use Int instead.
|
||||||
var IntPtr = Int // for back-compat
|
var IntPtr = Int // for back-compat
|
||||||
|
|
||||||
@ -66,6 +67,7 @@ func IntDeref(ptr *int, def int) int {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// IntPtrDerefOr is a function variable referring to IntDeref.
|
// IntPtrDerefOr is a function variable referring to IntDeref.
|
||||||
|
//
|
||||||
// Deprecated: Use IntDeref instead.
|
// Deprecated: Use IntDeref instead.
|
||||||
var IntPtrDerefOr = IntDeref // for back-compat
|
var IntPtrDerefOr = IntDeref // for back-compat
|
||||||
|
|
||||||
@ -75,6 +77,7 @@ func Int32(i int32) *int32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Int32Ptr is a function variable referring to Int32.
|
// Int32Ptr is a function variable referring to Int32.
|
||||||
|
//
|
||||||
// Deprecated: Use Int32 instead.
|
// Deprecated: Use Int32 instead.
|
||||||
var Int32Ptr = Int32 // for back-compat
|
var Int32Ptr = Int32 // for back-compat
|
||||||
|
|
||||||
@ -88,6 +91,7 @@ func Int32Deref(ptr *int32, def int32) int32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Int32PtrDerefOr is a function variable referring to Int32Deref.
|
// Int32PtrDerefOr is a function variable referring to Int32Deref.
|
||||||
|
//
|
||||||
// Deprecated: Use Int32Deref instead.
|
// Deprecated: Use Int32Deref instead.
|
||||||
var Int32PtrDerefOr = Int32Deref // for back-compat
|
var Int32PtrDerefOr = Int32Deref // for back-compat
|
||||||
|
|
||||||
@ -103,12 +107,73 @@ func Int32Equal(a, b *int32) bool {
|
|||||||
return *a == *b
|
return *a == *b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Uint returns a pointer to an uint
|
||||||
|
func Uint(i uint) *uint {
|
||||||
|
return &i
|
||||||
|
}
|
||||||
|
|
||||||
|
// UintPtr is a function variable referring to Uint.
|
||||||
|
//
|
||||||
|
// Deprecated: Use Uint instead.
|
||||||
|
var UintPtr = Uint // for back-compat
|
||||||
|
|
||||||
|
// UintDeref dereferences the uint ptr and returns it if not nil, or else
|
||||||
|
// returns def.
|
||||||
|
func UintDeref(ptr *uint, def uint) uint {
|
||||||
|
if ptr != nil {
|
||||||
|
return *ptr
|
||||||
|
}
|
||||||
|
return def
|
||||||
|
}
|
||||||
|
|
||||||
|
// UintPtrDerefOr is a function variable referring to UintDeref.
|
||||||
|
//
|
||||||
|
// Deprecated: Use UintDeref instead.
|
||||||
|
var UintPtrDerefOr = UintDeref // for back-compat
|
||||||
|
|
||||||
|
// Uint32 returns a pointer to an uint32.
|
||||||
|
func Uint32(i uint32) *uint32 {
|
||||||
|
return &i
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uint32Ptr is a function variable referring to Uint32.
|
||||||
|
//
|
||||||
|
// Deprecated: Use Uint32 instead.
|
||||||
|
var Uint32Ptr = Uint32 // for back-compat
|
||||||
|
|
||||||
|
// Uint32Deref dereferences the uint32 ptr and returns it if not nil, or else
|
||||||
|
// returns def.
|
||||||
|
func Uint32Deref(ptr *uint32, def uint32) uint32 {
|
||||||
|
if ptr != nil {
|
||||||
|
return *ptr
|
||||||
|
}
|
||||||
|
return def
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uint32PtrDerefOr is a function variable referring to Uint32Deref.
|
||||||
|
//
|
||||||
|
// Deprecated: Use Uint32Deref instead.
|
||||||
|
var Uint32PtrDerefOr = Uint32Deref // for back-compat
|
||||||
|
|
||||||
|
// Uint32Equal returns true if both arguments are nil or both arguments
|
||||||
|
// dereference to the same value.
|
||||||
|
func Uint32Equal(a, b *uint32) bool {
|
||||||
|
if (a == nil) != (b == nil) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if a == nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return *a == *b
|
||||||
|
}
|
||||||
|
|
||||||
// Int64 returns a pointer to an int64.
|
// Int64 returns a pointer to an int64.
|
||||||
func Int64(i int64) *int64 {
|
func Int64(i int64) *int64 {
|
||||||
return &i
|
return &i
|
||||||
}
|
}
|
||||||
|
|
||||||
// Int64Ptr is a function variable referring to Int64.
|
// Int64Ptr is a function variable referring to Int64.
|
||||||
|
//
|
||||||
// Deprecated: Use Int64 instead.
|
// Deprecated: Use Int64 instead.
|
||||||
var Int64Ptr = Int64 // for back-compat
|
var Int64Ptr = Int64 // for back-compat
|
||||||
|
|
||||||
@ -122,6 +187,7 @@ func Int64Deref(ptr *int64, def int64) int64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Int64PtrDerefOr is a function variable referring to Int64Deref.
|
// Int64PtrDerefOr is a function variable referring to Int64Deref.
|
||||||
|
//
|
||||||
// Deprecated: Use Int64Deref instead.
|
// Deprecated: Use Int64Deref instead.
|
||||||
var Int64PtrDerefOr = Int64Deref // for back-compat
|
var Int64PtrDerefOr = Int64Deref // for back-compat
|
||||||
|
|
||||||
@ -137,12 +203,49 @@ func Int64Equal(a, b *int64) bool {
|
|||||||
return *a == *b
|
return *a == *b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Uint64 returns a pointer to an uint64.
|
||||||
|
func Uint64(i uint64) *uint64 {
|
||||||
|
return &i
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uint64Ptr is a function variable referring to Uint64.
|
||||||
|
//
|
||||||
|
// Deprecated: Use Uint64 instead.
|
||||||
|
var Uint64Ptr = Uint64 // for back-compat
|
||||||
|
|
||||||
|
// Uint64Deref dereferences the uint64 ptr and returns it if not nil, or else
|
||||||
|
// returns def.
|
||||||
|
func Uint64Deref(ptr *uint64, def uint64) uint64 {
|
||||||
|
if ptr != nil {
|
||||||
|
return *ptr
|
||||||
|
}
|
||||||
|
return def
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uint64PtrDerefOr is a function variable referring to Uint64Deref.
|
||||||
|
//
|
||||||
|
// Deprecated: Use Uint64Deref instead.
|
||||||
|
var Uint64PtrDerefOr = Uint64Deref // for back-compat
|
||||||
|
|
||||||
|
// Uint64Equal returns true if both arguments are nil or both arguments
|
||||||
|
// dereference to the same value.
|
||||||
|
func Uint64Equal(a, b *uint64) bool {
|
||||||
|
if (a == nil) != (b == nil) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if a == nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return *a == *b
|
||||||
|
}
|
||||||
|
|
||||||
// Bool returns a pointer to a bool.
|
// Bool returns a pointer to a bool.
|
||||||
func Bool(b bool) *bool {
|
func Bool(b bool) *bool {
|
||||||
return &b
|
return &b
|
||||||
}
|
}
|
||||||
|
|
||||||
// BoolPtr is a function variable referring to Bool.
|
// BoolPtr is a function variable referring to Bool.
|
||||||
|
//
|
||||||
// Deprecated: Use Bool instead.
|
// Deprecated: Use Bool instead.
|
||||||
var BoolPtr = Bool // for back-compat
|
var BoolPtr = Bool // for back-compat
|
||||||
|
|
||||||
@ -156,6 +259,7 @@ func BoolDeref(ptr *bool, def bool) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// BoolPtrDerefOr is a function variable referring to BoolDeref.
|
// BoolPtrDerefOr is a function variable referring to BoolDeref.
|
||||||
|
//
|
||||||
// Deprecated: Use BoolDeref instead.
|
// Deprecated: Use BoolDeref instead.
|
||||||
var BoolPtrDerefOr = BoolDeref // for back-compat
|
var BoolPtrDerefOr = BoolDeref // for back-compat
|
||||||
|
|
||||||
@ -177,6 +281,7 @@ func String(s string) *string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// StringPtr is a function variable referring to String.
|
// StringPtr is a function variable referring to String.
|
||||||
|
//
|
||||||
// Deprecated: Use String instead.
|
// Deprecated: Use String instead.
|
||||||
var StringPtr = String // for back-compat
|
var StringPtr = String // for back-compat
|
||||||
|
|
||||||
@ -190,6 +295,7 @@ func StringDeref(ptr *string, def string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// StringPtrDerefOr is a function variable referring to StringDeref.
|
// StringPtrDerefOr is a function variable referring to StringDeref.
|
||||||
|
//
|
||||||
// Deprecated: Use StringDeref instead.
|
// Deprecated: Use StringDeref instead.
|
||||||
var StringPtrDerefOr = StringDeref // for back-compat
|
var StringPtrDerefOr = StringDeref // for back-compat
|
||||||
|
|
||||||
@ -211,6 +317,7 @@ func Float32(i float32) *float32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Float32Ptr is a function variable referring to Float32.
|
// Float32Ptr is a function variable referring to Float32.
|
||||||
|
//
|
||||||
// Deprecated: Use Float32 instead.
|
// Deprecated: Use Float32 instead.
|
||||||
var Float32Ptr = Float32
|
var Float32Ptr = Float32
|
||||||
|
|
||||||
@ -224,6 +331,7 @@ func Float32Deref(ptr *float32, def float32) float32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Float32PtrDerefOr is a function variable referring to Float32Deref.
|
// Float32PtrDerefOr is a function variable referring to Float32Deref.
|
||||||
|
//
|
||||||
// Deprecated: Use Float32Deref instead.
|
// Deprecated: Use Float32Deref instead.
|
||||||
var Float32PtrDerefOr = Float32Deref // for back-compat
|
var Float32PtrDerefOr = Float32Deref // for back-compat
|
||||||
|
|
||||||
@ -245,6 +353,7 @@ func Float64(i float64) *float64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Float64Ptr is a function variable referring to Float64.
|
// Float64Ptr is a function variable referring to Float64.
|
||||||
|
//
|
||||||
// Deprecated: Use Float64 instead.
|
// Deprecated: Use Float64 instead.
|
||||||
var Float64Ptr = Float64
|
var Float64Ptr = Float64
|
||||||
|
|
||||||
@ -258,6 +367,7 @@ func Float64Deref(ptr *float64, def float64) float64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Float64PtrDerefOr is a function variable referring to Float64Deref.
|
// Float64PtrDerefOr is a function variable referring to Float64Deref.
|
||||||
|
//
|
||||||
// Deprecated: Use Float64Deref instead.
|
// Deprecated: Use Float64Deref instead.
|
||||||
var Float64PtrDerefOr = Float64Deref // for back-compat
|
var Float64PtrDerefOr = Float64Deref // for back-compat
|
||||||
|
|
||||||
|
30
vendor/k8s.io/utils/trace/trace.go
generated
vendored
30
vendor/k8s.io/utils/trace/trace.go
generated
vendored
@ -21,6 +21,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
@ -93,13 +94,16 @@ func (s traceStep) writeItem(b *bytes.Buffer, formatter string, startTime time.T
|
|||||||
// Trace keeps track of a set of "steps" and allows us to log a specific
|
// Trace keeps track of a set of "steps" and allows us to log a specific
|
||||||
// step if it took longer than its share of the total allowed time
|
// step if it took longer than its share of the total allowed time
|
||||||
type Trace struct {
|
type Trace struct {
|
||||||
|
// constant fields
|
||||||
name string
|
name string
|
||||||
fields []Field
|
fields []Field
|
||||||
threshold *time.Duration
|
|
||||||
startTime time.Time
|
startTime time.Time
|
||||||
endTime *time.Time
|
|
||||||
traceItems []traceItem
|
|
||||||
parentTrace *Trace
|
parentTrace *Trace
|
||||||
|
// fields guarded by a lock
|
||||||
|
lock sync.RWMutex
|
||||||
|
threshold *time.Duration
|
||||||
|
endTime *time.Time
|
||||||
|
traceItems []traceItem
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Trace) time() time.Time {
|
func (t *Trace) time() time.Time {
|
||||||
@ -138,6 +142,8 @@ func New(name string, fields ...Field) *Trace {
|
|||||||
// how long it took. The Fields add key value pairs to provide additional details about the trace
|
// how long it took. The Fields add key value pairs to provide additional details about the trace
|
||||||
// step.
|
// step.
|
||||||
func (t *Trace) Step(msg string, fields ...Field) {
|
func (t *Trace) Step(msg string, fields ...Field) {
|
||||||
|
t.lock.Lock()
|
||||||
|
defer t.lock.Unlock()
|
||||||
if t.traceItems == nil {
|
if t.traceItems == nil {
|
||||||
// traces almost always have less than 6 steps, do this to avoid more than a single allocation
|
// traces almost always have less than 6 steps, do this to avoid more than a single allocation
|
||||||
t.traceItems = make([]traceItem, 0, 6)
|
t.traceItems = make([]traceItem, 0, 6)
|
||||||
@ -153,7 +159,9 @@ func (t *Trace) Nest(msg string, fields ...Field) *Trace {
|
|||||||
newTrace := New(msg, fields...)
|
newTrace := New(msg, fields...)
|
||||||
if t != nil {
|
if t != nil {
|
||||||
newTrace.parentTrace = t
|
newTrace.parentTrace = t
|
||||||
|
t.lock.Lock()
|
||||||
t.traceItems = append(t.traceItems, newTrace)
|
t.traceItems = append(t.traceItems, newTrace)
|
||||||
|
t.lock.Unlock()
|
||||||
}
|
}
|
||||||
return newTrace
|
return newTrace
|
||||||
}
|
}
|
||||||
@ -163,7 +171,9 @@ func (t *Trace) Nest(msg string, fields ...Field) *Trace {
|
|||||||
// is logged.
|
// is logged.
|
||||||
func (t *Trace) Log() {
|
func (t *Trace) Log() {
|
||||||
endTime := time.Now()
|
endTime := time.Now()
|
||||||
|
t.lock.Lock()
|
||||||
t.endTime = &endTime
|
t.endTime = &endTime
|
||||||
|
t.lock.Unlock()
|
||||||
// an explicit logging request should dump all the steps out at the higher level
|
// an explicit logging request should dump all the steps out at the higher level
|
||||||
if t.parentTrace == nil { // We don't start logging until Log or LogIfLong is called on the root trace
|
if t.parentTrace == nil { // We don't start logging until Log or LogIfLong is called on the root trace
|
||||||
t.logTrace()
|
t.logTrace()
|
||||||
@ -178,13 +188,17 @@ func (t *Trace) Log() {
|
|||||||
// If the Trace is nested it is not immediately logged. Instead, it is logged when the trace it
|
// If the Trace is nested it is not immediately logged. Instead, it is logged when the trace it
|
||||||
// is nested within is logged.
|
// is nested within is logged.
|
||||||
func (t *Trace) LogIfLong(threshold time.Duration) {
|
func (t *Trace) LogIfLong(threshold time.Duration) {
|
||||||
|
t.lock.Lock()
|
||||||
t.threshold = &threshold
|
t.threshold = &threshold
|
||||||
|
t.lock.Unlock()
|
||||||
t.Log()
|
t.Log()
|
||||||
}
|
}
|
||||||
|
|
||||||
// logTopLevelTraces finds all traces in a hierarchy of nested traces that should be logged but do not have any
|
// logTopLevelTraces finds all traces in a hierarchy of nested traces that should be logged but do not have any
|
||||||
// parents that will be logged, due to threshold limits, and logs them as top level traces.
|
// parents that will be logged, due to threshold limits, and logs them as top level traces.
|
||||||
func (t *Trace) logTrace() {
|
func (t *Trace) logTrace() {
|
||||||
|
t.lock.RLock()
|
||||||
|
defer t.lock.RUnlock()
|
||||||
if t.durationIsWithinThreshold() {
|
if t.durationIsWithinThreshold() {
|
||||||
var buffer bytes.Buffer
|
var buffer bytes.Buffer
|
||||||
traceNum := rand.Int31()
|
traceNum := rand.Int31()
|
||||||
@ -244,9 +258,13 @@ func (t *Trace) calculateStepThreshold() *time.Duration {
|
|||||||
traceThreshold := *t.threshold
|
traceThreshold := *t.threshold
|
||||||
for _, s := range t.traceItems {
|
for _, s := range t.traceItems {
|
||||||
nestedTrace, ok := s.(*Trace)
|
nestedTrace, ok := s.(*Trace)
|
||||||
if ok && nestedTrace.threshold != nil {
|
if ok {
|
||||||
traceThreshold = traceThreshold - *nestedTrace.threshold
|
nestedTrace.lock.RLock()
|
||||||
lenTrace--
|
if nestedTrace.threshold != nil {
|
||||||
|
traceThreshold = traceThreshold - *nestedTrace.threshold
|
||||||
|
lenTrace--
|
||||||
|
}
|
||||||
|
nestedTrace.lock.RUnlock()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
15
vendor/modules.txt
vendored
15
vendor/modules.txt
vendored
@ -85,7 +85,7 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
|
|||||||
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19
|
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19
|
||||||
## explicit; go 1.15
|
## explicit; go 1.15
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
|
||||||
# github.com/aws/aws-sdk-go-v2/service/sts v1.17.1
|
# github.com/aws/aws-sdk-go-v2/service/sts v1.17.3
|
||||||
## explicit; go 1.15
|
## explicit; go 1.15
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts
|
github.com/aws/aws-sdk-go-v2/service/sts
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints
|
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints
|
||||||
@ -118,7 +118,7 @@ github.com/blang/semver/v4
|
|||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
github.com/cenkalti/backoff/v3
|
github.com/cenkalti/backoff/v3
|
||||||
# github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 => ./api
|
# github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 => ./api
|
||||||
## explicit; go 1.16
|
## explicit; go 1.18
|
||||||
github.com/ceph/ceph-csi/api/deploy/kubernetes/nfs
|
github.com/ceph/ceph-csi/api/deploy/kubernetes/nfs
|
||||||
github.com/ceph/ceph-csi/api/deploy/kubernetes/rbd
|
github.com/ceph/ceph-csi/api/deploy/kubernetes/rbd
|
||||||
github.com/ceph/ceph-csi/api/deploy/ocp
|
github.com/ceph/ceph-csi/api/deploy/ocp
|
||||||
@ -249,9 +249,10 @@ github.com/google/go-cmp/cmp/internal/diff
|
|||||||
github.com/google/go-cmp/cmp/internal/flags
|
github.com/google/go-cmp/cmp/internal/flags
|
||||||
github.com/google/go-cmp/cmp/internal/function
|
github.com/google/go-cmp/cmp/internal/function
|
||||||
github.com/google/go-cmp/cmp/internal/value
|
github.com/google/go-cmp/cmp/internal/value
|
||||||
# github.com/google/gofuzz v1.1.0
|
# github.com/google/gofuzz v1.2.0
|
||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
github.com/google/gofuzz
|
github.com/google/gofuzz
|
||||||
|
github.com/google/gofuzz/bytesource
|
||||||
# github.com/google/uuid v1.3.0
|
# github.com/google/uuid v1.3.0
|
||||||
## explicit
|
## explicit
|
||||||
github.com/google/uuid
|
github.com/google/uuid
|
||||||
@ -799,7 +800,7 @@ gopkg.in/yaml.v2
|
|||||||
# gopkg.in/yaml.v3 v3.0.1
|
# gopkg.in/yaml.v3 v3.0.1
|
||||||
## explicit
|
## explicit
|
||||||
gopkg.in/yaml.v3
|
gopkg.in/yaml.v3
|
||||||
# k8s.io/api v0.25.3 => k8s.io/api v0.25.3
|
# k8s.io/api v0.25.4 => k8s.io/api v0.25.3
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
k8s.io/api/admission/v1
|
k8s.io/api/admission/v1
|
||||||
k8s.io/api/admission/v1beta1
|
k8s.io/api/admission/v1beta1
|
||||||
@ -853,7 +854,7 @@ k8s.io/api/storage/v1beta1
|
|||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
|
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
|
||||||
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
|
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
|
||||||
# k8s.io/apimachinery v0.25.3 => k8s.io/apimachinery v0.25.3
|
# k8s.io/apimachinery v0.25.4 => k8s.io/apimachinery v0.25.3
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
k8s.io/apimachinery/pkg/api/equality
|
k8s.io/apimachinery/pkg/api/equality
|
||||||
k8s.io/apimachinery/pkg/api/errors
|
k8s.io/apimachinery/pkg/api/errors
|
||||||
@ -1317,8 +1318,8 @@ k8s.io/mount-utils
|
|||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
k8s.io/pod-security-admission/api
|
k8s.io/pod-security-admission/api
|
||||||
k8s.io/pod-security-admission/policy
|
k8s.io/pod-security-admission/policy
|
||||||
# k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed
|
# k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
|
||||||
## explicit; go 1.12
|
## explicit; go 1.18
|
||||||
k8s.io/utils/buffer
|
k8s.io/utils/buffer
|
||||||
k8s.io/utils/clock
|
k8s.io/utils/clock
|
||||||
k8s.io/utils/clock/testing
|
k8s.io/utils/clock/testing
|
||||||
|
Loading…
Reference in New Issue
Block a user