diff --git a/go.mod b/go.mod
index a0df856af..f8d375252 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/operator-framework/operator-lifecycle-manager v0.33.0
github.com/segmentio/analytics-go/v3 v3.3.0
go.uber.org/mock v0.6.0
- golang.org/x/crypto v0.46.0
+ golang.org/x/crypto v0.47.0
gopkg.in/yaml.v3 v3.0.1
helm.sh/helm/v3 v3.18.6
k8s.io/api v0.33.4
@@ -34,11 +34,11 @@ require (
cloud.google.com/go/compute/metadata v0.9.0 // indirect
dario.cat/mergo v1.0.2 // indirect
github.com/42wim/httpsig v1.2.3 // indirect
- github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 // indirect
- github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.21.0 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
- github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0 // indirect
+ github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
@@ -168,15 +168,15 @@ require (
go.uber.org/zap v1.27.0 // indirect
go.yaml.in/yaml/v2 v2.4.3 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
- golang.org/x/mod v0.30.0 // indirect
- golang.org/x/net v0.47.0 // indirect
+ golang.org/x/mod v0.31.0 // indirect
+ golang.org/x/net v0.49.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.19.0 // indirect
- golang.org/x/sys v0.39.0 // indirect
- golang.org/x/term v0.38.0 // indirect
- golang.org/x/text v0.32.0 // indirect
+ golang.org/x/sys v0.40.0 // indirect
+ golang.org/x/term v0.39.0 // indirect
+ golang.org/x/text v0.33.0 // indirect
golang.org/x/time v0.12.0 // indirect
- golang.org/x/tools v0.39.0 // indirect
+ golang.org/x/tools v0.40.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250929231259-57b25ae835d4 // indirect
google.golang.org/grpc v1.75.1 // indirect
diff --git a/go.sum b/go.sum
index 3b2ed89c7..89cb83280 100644
--- a/go.sum
+++ b/go.sum
@@ -8,10 +8,10 @@ github.com/42wim/httpsig v1.2.3 h1:xb0YyWhkYj57SPtfSttIobJUPJZB9as1nsfo7KWVcEs=
github.com/42wim/httpsig v1.2.3/go.mod h1:nZq9OlYKDrUBhptd77IHx4/sZZD+IxTBADvAPI9G/EM=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 h1:5YTBM8QDVIBN3sxBil89WfdAAqDZbyJTgh688DSxX5w=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 h1:wL5IEG5zb7BVv1Kv0Xm92orq+5hB5Nipn3B5tn4Rqfk=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0/go.mod h1:J7MUC/wtRpfGVbQ5sIItY5/FuVWmvzlY21WAOfQnq/I=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.21.0 h1:fou+2+WFTib47nS+nz/ozhEBnvU96bKHy6LjRsY4E28=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.21.0/go.mod h1:t76Ruy8AHvUAC8GfMWJMa0ElSbuIcO03NLpynfbgsPA=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 h1:Hk5QBxZQC1jb2Fwj6mpzme37xbCDdNTxU7O9eb5+LB4=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1/go.mod h1:IYus9qsFobWIc2YVwe/WPjcnyCkPKtnHAqUYeebc8z0=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA=
@@ -20,8 +20,8 @@ github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEK
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE=
-github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0 h1:XkkQbfMyuH2jTSjQjSoihryI8GINRcs4xp8lNawg0FI=
-github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs=
+github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
@@ -518,16 +518,16 @@ golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
-golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=
-golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=
+golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8=
+golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/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/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
-golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
+golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
+golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -546,8 +546,8 @@ golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
-golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
-golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
+golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
+golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -591,16 +591,16 @@ golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
-golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
+golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
-golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
-golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg=
+golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY=
+golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -608,8 +608,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
-golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
+golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE=
+golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8=
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -622,8 +622,8 @@ 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.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
-golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
-golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
+golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA=
+golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md
index 1799c6ef2..fa477145f 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md
@@ -1,5 +1,27 @@
# Release History
+## 1.21.0 (2026-01-12)
+
+### Features Added
+
+* Added `runtime/datetime` package which provides specialized time type wrappers for serializing and deserializing
+time values in various formats used by Azure services.
+
+### Other Changes
+
+* Aligned `cloud.AzureGovernment` and `cloud.AzureChina` audience values with Azure CLI
+
+## 1.20.0 (2025-11-06)
+
+### Features Added
+
+* Added `runtime.FetcherForNextLinkOptions.HTTPVerb` to specify the HTTP verb when fetching the next page via next link. Defaults to `http.MethodGet`.
+
+### Bugs Fixed
+
+* Fixed potential panic when decoding base64 strings.
+* Fixed an issue in resource identifier parsing which prevented it from returning an error for malformed resource IDs.
+
## 1.19.1 (2025-09-11)
### Bugs Fixed
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_identifier.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_identifier.go
index b8348b7d8..c602e77d1 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_identifier.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_identifier.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -217,6 +214,7 @@ func appendNext(parent *ResourceID, parts []string, id string) (*ResourceID, err
func splitStringAndOmitEmpty(v, sep string) []string {
r := make([]string, 0)
for _, s := range strings.Split(v, sep) {
+ s = strings.TrimSpace(s)
if len(s) == 0 {
continue
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_type.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_type.go
index ca03ac971..34d09b6d7 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_type.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource/resource_type.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/policy/policy.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/policy/policy.go
index f18caf848..787c8e503 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/policy/policy.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/policy/policy.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/pipeline.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/pipeline.go
index 6a7c916b4..fa0f29206 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/pipeline.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/pipeline.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_register_rp.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_register_rp.go
index 810ac9d9f..3bfb7d02d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_register_rp.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_register_rp.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_trace_namespace.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_trace_namespace.go
index 6cea18424..cc84d542d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_trace_namespace.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/policy_trace_namespace.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/runtime.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/runtime.go
index 1400d4379..0b58f542e 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/runtime.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/runtime/runtime.go
@@ -1,6 +1,3 @@
-//go:build go1.16
-// +build go1.16
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -10,11 +7,11 @@ import "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud"
func init() {
cloud.AzureChina.Services[cloud.ResourceManager] = cloud.ServiceConfiguration{
- Audience: "https://management.core.chinacloudapi.cn",
+ Audience: "https://management.core.chinacloudapi.cn/",
Endpoint: "https://management.chinacloudapi.cn",
}
cloud.AzureGovernment.Services[cloud.ResourceManager] = cloud.ServiceConfiguration{
- Audience: "https://management.core.usgovcloudapi.net",
+ Audience: "https://management.core.usgovcloudapi.net/",
Endpoint: "https://management.usgovcloudapi.net",
}
cloud.AzurePublic.Services[cloud.ResourceManager] = cloud.ServiceConfiguration{
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/cloud.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/cloud.go
index 9d077a3e1..4ef739a6c 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/cloud.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/cloud.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/doc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/doc.go
index 985b1bde2..39d0d489e 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/doc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/doc.go
@@ -1,6 +1,3 @@
-//go:build go1.16
-// +build go1.16
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go
index 9d1c2f0c0..c3572985b 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go
index 654a5f404..4862a9f68 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright 2017 Microsoft Corporation. All rights reserved.
// Use of this source code is governed by an MIT
// license that can be found in the LICENSE file.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/errors.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/errors.go
index 03cb227d0..66111a403 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/errors.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/errors.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/etag.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/etag.go
index 2b19d01f7..4a5d7462d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/etag.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/etag.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go
index 460170034..96be304eb 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -92,7 +89,7 @@ func DecodeByteArray(s string, v *[]byte, format Base64Encoding) error {
return nil
}
payload := string(s)
- if payload[0] == '"' {
+ if len(payload) >= 2 && payload[0] == '"' && payload[len(payload)-1] == '"' {
// remove surrounding quotes
payload = payload[1 : len(payload)-1]
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go
index e45f831ed..5d9892a05 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go
index 9b3f5badb..4bf722630 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -115,7 +112,7 @@ func NewRequest(ctx context.Context, httpMethod string, endpoint string) (*Reque
if req.URL.Host == "" {
return nil, errors.New("no Host in request URL")
}
- if !(req.URL.Scheme == "http" || req.URL.Scheme == "https") {
+ if req.URL.Scheme != "http" && req.URL.Scheme != "https" {
return nil, fmt.Errorf("unsupported protocol scheme %s", req.URL.Scheme)
}
// populate values so that the same instance is propagated across policies
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go
index 8aec256bd..ef0635bb2 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log/log.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log/log.go
index 6fc6d1400..d3e7191f7 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log/log.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log/log.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go
index a53462760..fcaf6e168 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -128,10 +125,11 @@ func (p *Poller[T]) Result(ctx context.Context, out *T) error {
}
var req *exported.Request
var err error
- if p.Method == http.MethodPatch || p.Method == http.MethodPut {
+ switch p.Method {
+ case http.MethodPatch, http.MethodPut:
// for PATCH and PUT, the final GET is on the original resource URL
req, err = exported.NewRequest(ctx, http.MethodGet, p.OrigURL)
- } else if p.Method == http.MethodPost {
+ case http.MethodPost:
if p.FinalState == pollers.FinalStateViaAzureAsyncOp {
// no final GET required
} else if p.FinalState == pollers.FinalStateViaOriginalURI {
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go
index 8751b0514..8eebebf78 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go
index 7f8d11b8b..3284ea709 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go
index 048285275..cbd8e5880 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go
index f49633189..a89aed378 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/poller.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/poller.go
index 37ed647f4..2f15bc1de 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/poller.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/poller.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go
index 6a7a32e03..de5454319 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -165,7 +162,10 @@ func ResultHelper[T any](resp *http.Response, failed bool, jsonPath string, out
return nil
}
- defer resp.Body.Close()
+ defer func() {
+ _ = resp.Body.Close()
+ }()
+
if !poller.StatusCodeValid(resp) || failed {
// the LRO failed. unmarshall the error and update state
return azexported.NewResponseError(resp)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go
index 8aebe5ce5..213202e33 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -40,5 +37,5 @@ const (
Module = "azcore"
// Version is the semantic version (see http://semver.org) of this module.
- Version = "v1.19.1"
+ Version = "v1.21.0"
)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go
index d3da2c5fd..e82d4f00c 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/doc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/doc.go
index 2f3901bff..174bbf99b 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/doc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/doc.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright 2017 Microsoft Corporation. All rights reserved.
// Use of this source code is governed by an MIT
// license that can be found in the LICENSE file.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/log.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/log.go
index f260dac36..6880cd9cd 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/log.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/log.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/doc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/doc.go
index fad2579ed..01d788ad2 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/doc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/doc.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright 2017 Microsoft Corporation. All rights reserved.
// Use of this source code is governed by an MIT
// license that can be found in the LICENSE file.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go
index 368a2199e..074d1a600 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/doc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/doc.go
index c9cfa438c..2c169da79 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/doc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/doc.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright 2017 Microsoft Corporation. All rights reserved.
// Use of this source code is governed by an MIT
// license that can be found in the LICENSE file.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/errors.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/errors.go
index c0d56158e..931d6f862 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/errors.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/errors.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go
index c66fc0a90..743513be4 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -99,6 +96,11 @@ type FetcherForNextLinkOptions struct {
// StatusCodes contains additional HTTP status codes indicating success.
// The default value is http.StatusOK.
StatusCodes []int
+
+ // HTTPVerb specifies the HTTP verb to use when fetching the next page.
+ // The default value is http.MethodGet.
+ // This field is only used when NextReq is not specified.
+ HTTPVerb string
}
// FetcherForNextLink is a helper containing boilerplate code to simplify creating a PagingHandler[T].Fetcher from a next link URL.
@@ -119,7 +121,11 @@ func FetcherForNextLink(ctx context.Context, pl Pipeline, nextLink string, first
if options.NextReq != nil {
req, err = options.NextReq(ctx, nextLink)
} else {
- req, err = NewRequest(ctx, http.MethodGet, nextLink)
+ verb := http.MethodGet
+ if options.HTTPVerb != "" {
+ verb = options.HTTPVerb
+ }
+ req, err = NewRequest(ctx, verb, nextLink)
}
}
if err != nil {
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go
index 6b1f5c083..3d95fe30d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_api_version.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_api_version.go
index c3646feb5..21c1430be 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_api_version.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_api_version.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_body_download.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_body_download.go
index 99dc029f0..08ce2e4b0 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_body_download.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_body_download.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_header.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_header.go
index c230af0af..fa6d643f1 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_header.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_header.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -34,6 +31,7 @@ func httpHeaderPolicy(req *policy.Request) (*http.Response, error) {
// WithHTTPHeader adds the specified http.Header to the parent context.
// Use this to specify custom HTTP headers at the API-call level.
// Any overlapping headers will have their values replaced with the values specified here.
+//
// Deprecated: use [policy.WithHTTPHeader] instead.
func WithHTTPHeader(parent context.Context, header http.Header) context.Context {
return policy.WithHTTPHeader(parent, header)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_trace.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_trace.go
index f375195c4..ddf9ede01 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_trace.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_trace.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_include_response.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_include_response.go
index bb00f6c2f..eaa6c7375 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_include_response.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_include_response.go
@@ -1,6 +1,3 @@
-//go:build go1.16
-// +build go1.16
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -29,6 +26,7 @@ func includeResponsePolicy(req *policy.Request) (*http.Response, error) {
// WithCaptureResponse applies the HTTP response retrieval annotation to the parent context.
// The resp parameter will contain the HTTP response after the request has completed.
+//
// Deprecated: use [policy.WithCaptureResponse] instead.
func WithCaptureResponse(parent context.Context, resp **http.Response) context.Context {
return policy.WithCaptureResponse(parent, resp)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go
index f048d7fb5..dd59fbc99 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_request_id.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_request_id.go
index 360a7f211..a8f1cbac3 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_request_id.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_request_id.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go
index 4c3a31fea..696e1d9f4 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -117,7 +114,10 @@ func (p *retryPolicy) Do(req *policy.Request) (resp *http.Response, err error) {
// wrap the body so we control when it's actually closed.
// do this outside the for loop so defers don't accumulate.
rwbody = &retryableRequestBody{body: req.Body()}
- defer rwbody.realClose()
+ defer func() {
+ // TODO: https://github.com/Azure/azure-sdk-for-go/issues/25649
+ _ = rwbody.realClose()
+ }()
}
try := int32(1)
for {
@@ -222,6 +222,7 @@ func (p *retryPolicy) Do(req *policy.Request) (resp *http.Response, err error) {
// WithRetryOptions adds the specified RetryOptions to the parent context.
// Use this to specify custom RetryOptions at the API-call level.
+//
// Deprecated: use [policy.WithRetryOptions] instead.
func WithRetryOptions(parent context.Context, options policy.RetryOptions) context.Context {
return policy.WithRetryOptions(parent, options)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go
index 80a903546..2c60e9d23 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go
index a89ae9b7b..2e172cdd1 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -87,7 +84,10 @@ func NewPoller[T any](resp *http.Response, pl exported.Pipeline, options *NewPol
}, nil
}
- defer resp.Body.Close()
+ defer func() {
+ _ = resp.Body.Close()
+ }()
+
// this is a back-stop in case the swagger is incorrect (i.e. missing one or more status codes for success).
// ideally the codegen should return an error if the initial response failed and not even create a poller.
if !poller.StatusCodeValid(resp) {
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go
index 7d34b7803..df7826b76 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go
index 048566e02..e95f8c8ec 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
@@ -84,8 +81,9 @@ func UnmarshalAsXML(resp *http.Response, v any) error {
// Drain reads the response body to completion then closes it. The bytes read are discarded.
func Drain(resp *http.Response) {
if resp != nil && resp.Body != nil {
+ // TODO: this might not be necessary when the bodyDownloadPolicy is in play
_, _ = io.Copy(io.Discard, resp.Body)
- resp.Body.Close()
+ _ = resp.Body.Close()
}
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/transport_default_http_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/transport_default_http_client.go
index 2124c1d48..928e9bf92 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/transport_default_http_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/transport_default_http_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/doc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/doc.go
index cadaef3d5..10d041486 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/doc.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/doc.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright 2017 Microsoft Corporation. All rights reserved.
// Use of this source code is governed by an MIT
// license that can be found in the LICENSE file.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/progress.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/progress.go
index 2468540bd..c93824a66 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/progress.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/progress.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/constants.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/constants.go
index 80282d4ab..c00c21a3b 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/constants.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/constants.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go
index 1ade7c560..8f3248560 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md
index ab63f9c03..4a6349e16 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md
@@ -1,5 +1,34 @@
# Release History
+## 1.13.1 (2025-11-10)
+
+### Bugs Fixed
+
+- `AzureCLICredential` quoted arguments incorrectly on Windows
+
+## 1.13.0 (2025-10-07)
+
+### Features Added
+
+- Added `AzurePowerShellCredential`, which authenticates as the identity logged in to Azure PowerShell
+ (thanks [ArmaanMcleod](https://github.com/ArmaanMcleod))
+- When `AZURE_TOKEN_CREDENTIALS` is set to `ManagedIdentityCredential`, `DefaultAzureCredential` behaves the same as
+ does `ManagedIdentityCredential` when used directly. It doesn't apply special retry configuration or attempt to
+ determine whether IMDS is available. ([#25265](https://github.com/Azure/azure-sdk-for-go/issues/25265))
+
+### Breaking Changes
+
+* Removed the `WorkloadIdentityCredential` support for identity binding mode added in v1.13.0-beta.1.
+ It will return in v1.14.0-beta.1
+
+## 1.13.0-beta.1 (2025-09-17)
+
+### Features Added
+
+- Added `AzurePowerShellCredential`, which authenticates as the identity logged in to Azure PowerShell
+ (thanks [ArmaanMcleod](https://github.com/ArmaanMcleod))
+- `WorkloadIdentityCredential` supports identity binding mode ([#25056](https://github.com/Azure/azure-sdk-for-go/issues/25056))
+
## 1.12.0 (2025-09-16)
### Features Added
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md
index 069bc688d..127c25b72 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md
@@ -1,6 +1,6 @@
# Azure Identity Client Module for Go
-The Azure Identity module provides Microsoft Entra ID ([formerly Azure Active Directory](https://learn.microsoft.com/entra/fundamentals/new-name)) token authentication support across the Azure SDK. It includes a set of `TokenCredential` implementations, which can be used with Azure SDK clients supporting token authentication.
+The Azure Identity module provides [Microsoft Entra ID](https://learn.microsoft.com/entra/fundamentals/whatis) token-based authentication support across the Azure SDK. It includes a set of `TokenCredential` implementations, which can be used with Azure SDK clients supporting token authentication.
[](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity)
| [Microsoft Entra ID documentation](https://learn.microsoft.com/entra/identity/)
@@ -153,6 +153,7 @@ client := armresources.NewResourceGroupsClient("subscription ID", chain, nil)
|-|-
|[AzureCLICredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#AzureCLICredential)|Authenticate as the user signed in to the Azure CLI
|[AzureDeveloperCLICredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#AzureDeveloperCLICredential)|Authenticates as the user signed in to the Azure Developer CLI
+|[AzurePowerShellCredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#AzurePowerShellCredential)|Authenticates as the user signed in to Azure PowerShell
## Environment Variables
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD
index da2094e36..8bdaf8165 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD
@@ -40,6 +40,7 @@ The following table indicates the state of in-memory and persistent caching in e
| ------------------------------ | ------------------------------------------------------------------- | ------------------------ |
| `AzureCLICredential` | Not Supported | Not Supported |
| `AzureDeveloperCLICredential` | Not Supported | Not Supported |
+| `AzurePowerShellCredential` | Not Supported | Not Supported |
| `AzurePipelinesCredential` | Supported | Supported |
| `ClientAssertionCredential` | Supported | Supported |
| `ClientCertificateCredential` | Supported | Supported |
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md
index 838601d69..517006a42 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md
@@ -12,6 +12,7 @@ This troubleshooting guide covers failure investigation techniques, common error
- [Troubleshoot AzureCLICredential authentication issues](#troubleshoot-azureclicredential-authentication-issues)
- [Troubleshoot AzureDeveloperCLICredential authentication issues](#troubleshoot-azuredeveloperclicredential-authentication-issues)
- [Troubleshoot AzurePipelinesCredential authentication issues](#troubleshoot-azurepipelinescredential-authentication-issues)
+- [Troubleshoot AzurePowerShellCredential authentication issues](#troubleshoot-azurepowershellcredential-authentication-issues)
- [Troubleshoot ClientCertificateCredential authentication issues](#troubleshoot-clientcertificatecredential-authentication-issues)
- [Troubleshoot ClientSecretCredential authentication issues](#troubleshoot-clientsecretcredential-authentication-issues)
- [Troubleshoot DefaultAzureCredential authentication issues](#troubleshoot-defaultazurecredential-authentication-issues)
@@ -205,6 +206,34 @@ azd auth token --output json --scope https://management.core.windows.net/.defaul
```
>Note that output of this command will contain a valid access token, and SHOULD NOT BE SHARED to avoid compromising account security.
+
+## Troubleshoot `AzurePowerShellCredential` authentication issues
+
+| Error Message |Description| Mitigation |
+|---|---|---|
+|executable not found on path|No local installation of PowerShell was found.|Ensure that PowerShell is properly installed on the machine. Instructions for installing PowerShell can be found [here](https://learn.microsoft.com/powershell/scripting/install/installing-powershell).|
+|Az.Accounts module not found|The Az.Account module needed for authentication in Azure PowerShell isn't installed.|Install the latest Az.Account module. Installation instructions can be found [here](https://learn.microsoft.com/powershell/azure/install-az-ps).|
+|Please run "Connect-AzAccount" to set up account.|No account is currently logged into Azure PowerShell.|
- Log in to Azure PowerShell using the `Connect-AzAccount` command. More instructions for authenticating Azure PowerShell can be found at [Sign in with Azure PowerShell](https://learn.microsoft.com/powershell/azure/authenticate-azureps).
- Validate that Azure PowerShell can obtain tokens. For instructions, see [Verify Azure PowerShell can obtain tokens](#verify-azure-powershell-can-obtain-tokens).
|
+
+#### __Verify Azure PowerShell can obtain tokens__
+
+You can manually verify that Azure PowerShell is authenticated and can obtain tokens. First, use the `Get-AzContext` command to verify the account that is currently logged in to Azure PowerShell.
+
+```
+PS C:\> Get-AzContext
+
+Name Account SubscriptionName Environment TenantId
+---- ------- ---------------- ----------- --------
+Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x...
+```
+
+Once you've verified Azure PowerShell is using correct account, validate that it's able to obtain tokens for this account:
+
+```bash
+Get-AzAccessToken -ResourceUrl "https://management.core.windows.net"
+```
+>Note that output of this command will contain a valid access token, and SHOULD NOT BE SHARED to avoid compromising account security.
+
## Troubleshoot `WorkloadIdentityCredential` authentication issues
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go
new file mode 100644
index 000000000..082965554
--- /dev/null
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go
@@ -0,0 +1,234 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+package azidentity
+
+import (
+ "context"
+ "encoding/base64"
+ "encoding/binary"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "os/exec"
+ "runtime"
+ "strings"
+ "sync"
+ "time"
+ "unicode/utf16"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
+ "github.com/Azure/azure-sdk-for-go/sdk/internal/log"
+)
+
+const (
+ credNameAzurePowerShell = "AzurePowerShellCredential"
+ noAzAccountModule = "Az.Accounts module not found"
+)
+
+// AzurePowerShellCredentialOptions contains optional parameters for AzurePowerShellCredential.
+type AzurePowerShellCredentialOptions struct {
+ // AdditionallyAllowedTenants specifies tenants to which the credential may authenticate, in addition to
+ // TenantID. When TenantID is empty, this option has no effect and the credential will authenticate to
+ // any requested tenant. Add the wildcard value "*" to allow the credential to authenticate to any tenant.
+ AdditionallyAllowedTenants []string
+
+ // TenantID identifies the tenant the credential should authenticate in.
+ // Defaults to Azure PowerShell's default tenant, which is typically the home tenant of the logged in user.
+ TenantID string
+
+ // inDefaultChain is true when the credential is part of DefaultAzureCredential
+ inDefaultChain bool
+
+ // exec is used by tests to fake invoking Azure PowerShell
+ exec executor
+}
+
+// AzurePowerShellCredential authenticates as the identity logged in to Azure PowerShell.
+type AzurePowerShellCredential struct {
+ mu *sync.Mutex
+ opts AzurePowerShellCredentialOptions
+}
+
+// NewAzurePowerShellCredential constructs an AzurePowerShellCredential. Pass nil to accept default options.
+func NewAzurePowerShellCredential(options *AzurePowerShellCredentialOptions) (*AzurePowerShellCredential, error) {
+ cp := AzurePowerShellCredentialOptions{}
+
+ if options != nil {
+ cp = *options
+ }
+
+ if cp.TenantID != "" && !validTenantID(cp.TenantID) {
+ return nil, errInvalidTenantID
+ }
+
+ if cp.exec == nil {
+ cp.exec = shellExec
+ }
+
+ cp.AdditionallyAllowedTenants = resolveAdditionalTenants(cp.AdditionallyAllowedTenants)
+
+ return &AzurePowerShellCredential{mu: &sync.Mutex{}, opts: cp}, nil
+}
+
+// GetToken requests a token from Azure PowerShell. This credential doesn't cache tokens, so every call invokes Azure PowerShell.
+// This method is called automatically by Azure SDK clients.
+func (c *AzurePowerShellCredential) GetToken(ctx context.Context, opts policy.TokenRequestOptions) (azcore.AccessToken, error) {
+ at := azcore.AccessToken{}
+
+ if len(opts.Scopes) != 1 {
+ return at, errors.New(credNameAzurePowerShell + ": GetToken() requires exactly one scope")
+ }
+
+ if !validScope(opts.Scopes[0]) {
+ return at, fmt.Errorf("%s.GetToken(): invalid scope %q", credNameAzurePowerShell, opts.Scopes[0])
+ }
+
+ tenant, err := resolveTenant(c.opts.TenantID, opts.TenantID, credNameAzurePowerShell, c.opts.AdditionallyAllowedTenants)
+ if err != nil {
+ return at, err
+ }
+
+ // Always pass a Microsoft Entra ID v1 resource URI (not a v2 scope) because Get-AzAccessToken only supports v1 resource URIs.
+ resource := strings.TrimSuffix(opts.Scopes[0], defaultSuffix)
+
+ tenantArg := ""
+ if tenant != "" {
+ tenantArg = fmt.Sprintf(" -TenantId '%s'", tenant)
+ }
+
+ if opts.Claims != "" {
+ encoded := base64.StdEncoding.EncodeToString([]byte(opts.Claims))
+ return at, fmt.Errorf(
+ "%s.GetToken(): Azure PowerShell requires multifactor authentication or additional claims. Run this command then retry the operation: Connect-AzAccount%s -ClaimsChallenge '%s'",
+ credNameAzurePowerShell,
+ tenantArg,
+ encoded,
+ )
+ }
+
+ // Inline script to handle Get-AzAccessToken differences between Az.Accounts versions with SecureString handling and minimum version requirement
+ script := fmt.Sprintf(`
+$ErrorActionPreference = 'Stop'
+[version]$minimumVersion = '2.2.0'
+
+$mod = Import-Module Az.Accounts -MinimumVersion $minimumVersion -PassThru -ErrorAction SilentlyContinue
+
+if (-not $mod) {
+ Write-Error '%s'
+}
+
+$params = @{
+ ResourceUrl = '%s'
+ WarningAction = 'Ignore'
+}
+
+# Only force AsSecureString for Az.Accounts versions > 2.17.0 and < 5.0.0 which return plain text token by default.
+# Newer Az.Accounts versions return SecureString token by default and no longer use AsSecureString parameter.
+if ($mod.Version -ge [version]'2.17.0' -and $mod.Version -lt [version]'5.0.0') {
+ $params['AsSecureString'] = $true
+}
+
+$tenantId = '%s'
+if ($tenantId.Length -gt 0) {
+ $params['TenantId'] = '%s'
+}
+
+$token = Get-AzAccessToken @params
+
+$customToken = New-Object -TypeName psobject
+
+# The following .NET interop pattern is supported in all PowerShell versions and safely converts SecureString to plain text.
+if ($token.Token -is [System.Security.SecureString]) {
+ $ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($token.Token)
+ try {
+ $plainToken = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr)
+ } finally {
+ [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
+ }
+ $customToken | Add-Member -MemberType NoteProperty -Name Token -Value $plainToken
+} else {
+ $customToken | Add-Member -MemberType NoteProperty -Name Token -Value $token.Token
+}
+$customToken | Add-Member -MemberType NoteProperty -Name ExpiresOn -Value $token.ExpiresOn.ToUnixTimeSeconds()
+
+$jsonToken = $customToken | ConvertTo-Json
+return $jsonToken
+`, noAzAccountModule, resource, tenant, tenant)
+
+ // Windows: prefer pwsh.exe (PowerShell Core), fallback to powershell.exe (Windows PowerShell)
+ // Unix: only support pwsh (PowerShell Core)
+ exe := "pwsh"
+ if runtime.GOOS == "windows" {
+ if _, err := exec.LookPath("pwsh.exe"); err == nil {
+ exe = "pwsh.exe"
+ } else {
+ exe = "powershell.exe"
+ }
+ }
+
+ command := exe + " -NoProfile -NonInteractive -OutputFormat Text -EncodedCommand " + base64EncodeUTF16LE(script)
+
+ c.mu.Lock()
+ defer c.mu.Unlock()
+
+ b, err := c.opts.exec(ctx, credNameAzurePowerShell, command)
+ if err == nil {
+ at, err = c.createAccessToken(b)
+ }
+
+ if err != nil {
+ err = unavailableIfInDAC(err, c.opts.inDefaultChain)
+ return at, err
+ }
+
+ msg := fmt.Sprintf("%s.GetToken() acquired a token for scope %q", credNameAzurePowerShell, strings.Join(opts.Scopes, ", "))
+ log.Write(EventAuthentication, msg)
+
+ return at, nil
+}
+
+func (c *AzurePowerShellCredential) createAccessToken(tk []byte) (azcore.AccessToken, error) {
+ t := struct {
+ Token string `json:"Token"`
+ ExpiresOn int64 `json:"ExpiresOn"`
+ }{}
+
+ err := json.Unmarshal(tk, &t)
+ if err != nil {
+ return azcore.AccessToken{}, err
+ }
+
+ converted := azcore.AccessToken{
+ Token: t.Token,
+ ExpiresOn: time.Unix(t.ExpiresOn, 0).UTC(),
+ }
+
+ return converted, nil
+}
+
+// Encodes a string to Base64 using UTF-16LE encoding
+func base64EncodeUTF16LE(text string) string {
+ u16 := utf16.Encode([]rune(text))
+ buf := make([]byte, len(u16)*2)
+ for i, v := range u16 {
+ binary.LittleEndian.PutUint16(buf[i*2:], v)
+ }
+ return base64.StdEncoding.EncodeToString(buf)
+}
+
+// Decodes a Base64 UTF-16LE string back to string
+func base64DecodeUTF16LE(encoded string) (string, error) {
+ data, err := base64.StdEncoding.DecodeString(encoded)
+ if err != nil {
+ return "", err
+ }
+ u16 := make([]uint16, len(data)/2)
+ for i := range u16 {
+ u16[i] = binary.LittleEndian.Uint16(data[i*2:])
+ }
+ return string(utf16.Decode(u16)), nil
+}
+
+var _ azcore.TokenCredential = (*AzurePowerShellCredential)(nil)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go
index c041a52db..aaaabc5c2 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go
@@ -26,6 +26,7 @@ const (
managedIdentity
az
azd
+ azurePowerShell
)
// DefaultAzureCredentialOptions contains optional parameters for DefaultAzureCredential.
@@ -71,6 +72,7 @@ type DefaultAzureCredentialOptions struct {
// - [ManagedIdentityCredential]
// - [AzureCLICredential]
// - [AzureDeveloperCLICredential]
+// - [AzurePowerShellCredential]
//
// Consult the documentation for these credential types for more information on how they authenticate.
// Once a credential has successfully authenticated, DefaultAzureCredential will use that credential for
@@ -83,7 +85,7 @@ type DefaultAzureCredentialOptions struct {
// Valid values for AZURE_TOKEN_CREDENTIALS are the name of any single type in the above chain, for example
// "EnvironmentCredential" or "AzureCLICredential", and these special values:
//
-// - "dev": try [AzureCLICredential] and [AzureDeveloperCLICredential], in that order
+// - "dev": try [AzureCLICredential], [AzureDeveloperCLICredential], and [AzurePowerShellCredential], in that order
// - "prod": try [EnvironmentCredential], [WorkloadIdentityCredential], and [ManagedIdentityCredential], in that order
//
// [DefaultAzureCredentialOptions].RequireAzureTokenCredentials controls whether AZURE_TOKEN_CREDENTIALS must be set.
@@ -104,13 +106,13 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
var (
creds []azcore.TokenCredential
errorMessages []string
- selected = env | workloadIdentity | managedIdentity | az | azd
+ selected = env | workloadIdentity | managedIdentity | az | azd | azurePowerShell
)
if atc, ok := os.LookupEnv(azureTokenCredentials); ok {
switch {
case atc == "dev":
- selected = az | azd
+ selected = az | azd | azurePowerShell
case atc == "prod":
selected = env | workloadIdentity | managedIdentity
case strings.EqualFold(atc, credNameEnvironment):
@@ -123,6 +125,8 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
selected = az
case strings.EqualFold(atc, credNameAzureDeveloperCLI):
selected = azd
+ case strings.EqualFold(atc, credNameAzurePowerShell):
+ selected = azurePowerShell
default:
return nil, fmt.Errorf(`invalid %s value %q. Valid values are "dev", "prod", or the name of any credential type in the default chain. See https://aka.ms/azsdk/go/identity/docs#DefaultAzureCredential for more information`, azureTokenCredentials, atc)
}
@@ -164,7 +168,11 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
}
}
if selected&managedIdentity != 0 {
- o := &ManagedIdentityCredentialOptions{ClientOptions: options.ClientOptions, dac: true}
+ o := &ManagedIdentityCredentialOptions{
+ ClientOptions: options.ClientOptions,
+ // enable special DefaultAzureCredential behavior (IMDS probing) only when the chain contains another credential
+ dac: selected^managedIdentity != 0,
+ }
if ID, ok := os.LookupEnv(azureClientID); ok {
o.ID = ClientID(ID)
}
@@ -202,6 +210,19 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
creds = append(creds, &defaultCredentialErrorReporter{credType: credNameAzureDeveloperCLI, err: err})
}
}
+ if selected&azurePowerShell != 0 {
+ azurePowerShellCred, err := NewAzurePowerShellCredential(&AzurePowerShellCredentialOptions{
+ AdditionallyAllowedTenants: additionalTenants,
+ TenantID: options.TenantID,
+ inDefaultChain: true,
+ })
+ if err == nil {
+ creds = append(creds, azurePowerShellCred)
+ } else {
+ errorMessages = append(errorMessages, credNameAzurePowerShell+": "+err.Error())
+ creds = append(creds, &defaultCredentialErrorReporter{credType: credNameAzurePowerShell, err: err})
+ }
+ }
if len(errorMessages) > 0 {
log.Writef(EventAuthentication, "NewDefaultAzureCredential failed to initialize some credentials:\n\t%s", strings.Join(errorMessages, "\n\t"))
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go
index 14f8a0312..cb7dbe2e4 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go
@@ -12,7 +12,6 @@ import (
"errors"
"os"
"os/exec"
- "runtime"
"strings"
"time"
)
@@ -30,17 +29,9 @@ var shellExec = func(ctx context.Context, credName, command string) ([]byte, err
ctx, cancel = context.WithTimeout(ctx, cliTimeout)
defer cancel()
}
- var cmd *exec.Cmd
- if runtime.GOOS == "windows" {
- dir := os.Getenv("SYSTEMROOT")
- if dir == "" {
- return nil, newCredentialUnavailableError(credName, `environment variable "SYSTEMROOT" has no value`)
- }
- cmd = exec.CommandContext(ctx, "cmd.exe", "/c", command)
- cmd.Dir = dir
- } else {
- cmd = exec.CommandContext(ctx, "/bin/sh", "-c", command)
- cmd.Dir = "/bin"
+ cmd, err := buildCmd(ctx, credName, command)
+ if err != nil {
+ return nil, err
}
cmd.Env = os.Environ()
stderr := bytes.Buffer{}
@@ -57,7 +48,15 @@ var shellExec = func(ctx context.Context, credName, command string) ([]byte, err
msg := stderr.String()
var exErr *exec.ExitError
if errors.As(err, &exErr) && exErr.ExitCode() == 127 || strings.Contains(msg, "' is not recognized") {
- return nil, newCredentialUnavailableError(credName, "CLI executable not found on path")
+ return nil, newCredentialUnavailableError(credName, "executable not found on path")
+ }
+ if credName == credNameAzurePowerShell {
+ if strings.Contains(msg, "Connect-AzAccount") {
+ msg = `Please run "Connect-AzAccount" to set up an account`
+ }
+ if strings.Contains(msg, noAzAccountModule) {
+ msg = noAzAccountModule
+ }
}
if msg == "" {
msg = err.Error()
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util_nonwindows.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util_nonwindows.go
new file mode 100644
index 000000000..681fcd0cf
--- /dev/null
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util_nonwindows.go
@@ -0,0 +1,17 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//go:build !windows
+
+package azidentity
+
+import (
+ "context"
+ "os/exec"
+)
+
+func buildCmd(ctx context.Context, _, command string) (*exec.Cmd, error) {
+ cmd := exec.CommandContext(ctx, "/bin/sh", "-c", command)
+ cmd.Dir = "/bin"
+ return cmd, nil
+}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util_windows.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util_windows.go
new file mode 100644
index 000000000..09c7a1a97
--- /dev/null
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util_windows.go
@@ -0,0 +1,22 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+package azidentity
+
+import (
+ "context"
+ "os"
+ "os/exec"
+ "syscall"
+)
+
+func buildCmd(ctx context.Context, credName, command string) (*exec.Cmd, error) {
+ dir := os.Getenv("SYSTEMROOT")
+ if dir == "" {
+ return nil, newCredentialUnavailableError(credName, `environment variable "SYSTEMROOT" has no value`)
+ }
+ cmd := exec.CommandContext(ctx, "cmd.exe")
+ cmd.Dir = dir
+ cmd.SysProcAttr = &syscall.SysProcAttr{CmdLine: "/c " + command}
+ return cmd, nil
+}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go
index a6d7c6cbc..33cb63be0 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go
@@ -99,6 +99,8 @@ func (e *AuthenticationFailedError) Error() string {
anchor = "apc"
case credNameCert:
anchor = "client-cert"
+ case credNameAzurePowerShell:
+ anchor = "azure-pwsh"
case credNameSecret:
anchor = "client-secret"
case credNameManagedIdentity:
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go
index 4c8860536..041f11658 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go
@@ -14,5 +14,5 @@ const (
module = "github.com/Azure/azure-sdk-for-go/sdk/" + component
// Version is the semantic version (see http://semver.org) of this module.
- version = "v1.12.0"
+ version = "v1.13.1"
)
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go
index 549d68ab9..29c004320 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential/confidential.go
@@ -596,6 +596,11 @@ func (cca Client) AcquireTokenSilent(ctx context.Context, scopes []string, opts
return AuthResult{}, errors.New("call another AcquireToken method to request a new token having these claims")
}
+ // For service principal scenarios, require WithSilentAccount for public API
+ if o.account.IsZero() {
+ return AuthResult{}, errors.New("WithSilentAccount option is required")
+ }
+
silentParameters := base.AcquireTokenSilentParameters{
Scopes: scopes,
Account: o.account,
@@ -604,8 +609,15 @@ func (cca Client) AcquireTokenSilent(ctx context.Context, scopes []string, opts
IsAppCache: o.account.IsZero(),
TenantID: o.tenantID,
AuthnScheme: o.authnScheme,
+ Claims: o.claims,
}
+ return cca.acquireTokenSilentInternal(ctx, silentParameters)
+}
+
+// acquireTokenSilentInternal is the internal implementation shared by AcquireTokenSilent and AcquireTokenByCredential
+func (cca Client) acquireTokenSilentInternal(ctx context.Context, silentParameters base.AcquireTokenSilentParameters) (AuthResult, error) {
+
return cca.base.AcquireTokenSilent(ctx, silentParameters)
}
@@ -708,8 +720,10 @@ func (cca Client) AcquireTokenByAuthCode(ctx context.Context, code string, redir
// acquireTokenByCredentialOptions contains optional configuration for AcquireTokenByCredential
type acquireTokenByCredentialOptions struct {
- claims, tenantID string
- authnScheme AuthenticationScheme
+ claims, tenantID string
+ authnScheme AuthenticationScheme
+ extraBodyParameters map[string]string
+ cacheKeyComponents map[string]string
}
// AcquireByCredentialOption is implemented by options for AcquireTokenByCredential
@@ -719,7 +733,7 @@ type AcquireByCredentialOption interface {
// AcquireTokenByCredential acquires a security token from the authority, using the client credentials grant.
//
-// Options: [WithClaims], [WithTenantID]
+// Options: [WithClaims], [WithTenantID], [WithFMIPath], [WithAttribute]
func (cca Client) AcquireTokenByCredential(ctx context.Context, scopes []string, opts ...AcquireByCredentialOption) (AuthResult, error) {
o := acquireTokenByCredentialOptions{}
err := options.ApplyOptions(&o, opts)
@@ -736,6 +750,29 @@ func (cca Client) AcquireTokenByCredential(ctx context.Context, scopes []string,
if o.authnScheme != nil {
authParams.AuthnScheme = o.authnScheme
}
+ authParams.ExtraBodyParameters = o.extraBodyParameters
+ authParams.CacheKeyComponents = o.cacheKeyComponents
+ if o.claims == "" {
+ silentParameters := base.AcquireTokenSilentParameters{
+ Scopes: scopes,
+ Account: Account{}, // empty account for app token
+ RequestType: accesstokens.ATConfidential,
+ Credential: cca.cred,
+ IsAppCache: true,
+ TenantID: o.tenantID,
+ AuthnScheme: o.authnScheme,
+ Claims: o.claims,
+ ExtraBodyParameters: o.extraBodyParameters,
+ CacheKeyComponents: o.cacheKeyComponents,
+ }
+
+ // Use internal method with empty account (service principal scenario)
+ cache, err := cca.acquireTokenSilentInternal(ctx, silentParameters)
+ if err == nil {
+ return cache, nil
+ }
+ }
+
token, err := cca.base.Token.Credential(ctx, authParams, cca.cred)
if err != nil {
return AuthResult{}, err
@@ -781,3 +818,63 @@ func (cca Client) Account(ctx context.Context, accountID string) (Account, error
func (cca Client) RemoveAccount(ctx context.Context, account Account) error {
return cca.base.RemoveAccount(ctx, account)
}
+
+// WithFMIPath specifies the path to a federated managed identity.
+// The path should point to a valid FMI configuration file that contains the necessary
+// identity information for authentication.
+func WithFMIPath(path string) interface {
+ AcquireByCredentialOption
+ options.CallOption
+} {
+ return struct {
+ AcquireByCredentialOption
+ options.CallOption
+ }{
+ CallOption: options.NewCallOption(
+ func(a any) error {
+ switch t := a.(type) {
+ case *acquireTokenByCredentialOptions:
+ if t.extraBodyParameters == nil {
+ t.extraBodyParameters = make(map[string]string)
+ }
+ if t.cacheKeyComponents == nil {
+ t.cacheKeyComponents = make(map[string]string)
+ }
+ t.cacheKeyComponents["fmi_path"] = path
+ t.extraBodyParameters["fmi_path"] = path
+ default:
+ return fmt.Errorf("unexpected options type %T", a)
+ }
+ return nil
+ },
+ ),
+ }
+}
+
+// WithAttribute specifies an identity attribute to include in the token request.
+// The attribute is sent as "attributes" in the request body and returned as "xmc_attr"
+// in the access token claims. This is sometimes used withFMIPath
+func WithAttribute(attrValue string) interface {
+ AcquireByCredentialOption
+ options.CallOption
+} {
+ return struct {
+ AcquireByCredentialOption
+ options.CallOption
+ }{
+ CallOption: options.NewCallOption(
+ func(a any) error {
+ switch t := a.(type) {
+ case *acquireTokenByCredentialOptions:
+ if t.extraBodyParameters == nil {
+ t.extraBodyParameters = make(map[string]string)
+ }
+ t.extraBodyParameters["attributes"] = attrValue
+ default:
+ return fmt.Errorf("unexpected options type %T", a)
+ }
+ return nil
+ },
+ ),
+ }
+}
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go
index 61c1c4cec..abf54f7e5 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/base.go
@@ -46,16 +46,18 @@ type accountManager interface {
// AcquireTokenSilentParameters contains the parameters to acquire a token silently (from cache).
type AcquireTokenSilentParameters struct {
- Scopes []string
- Account shared.Account
- RequestType accesstokens.AppType
- Credential *accesstokens.Credential
- IsAppCache bool
- TenantID string
- UserAssertion string
- AuthorizationType authority.AuthorizeType
- Claims string
- AuthnScheme authority.AuthenticationScheme
+ Scopes []string
+ Account shared.Account
+ RequestType accesstokens.AppType
+ Credential *accesstokens.Credential
+ IsAppCache bool
+ TenantID string
+ UserAssertion string
+ AuthorizationType authority.AuthorizeType
+ Claims string
+ AuthnScheme authority.AuthenticationScheme
+ ExtraBodyParameters map[string]string
+ CacheKeyComponents map[string]string
}
// AcquireTokenAuthCodeParameters contains the parameters required to acquire an access token using the auth code flow.
@@ -327,7 +329,12 @@ func (b Client) AcquireTokenSilent(ctx context.Context, silent AcquireTokenSilen
if silent.AuthnScheme != nil {
authParams.AuthnScheme = silent.AuthnScheme
}
-
+ if silent.CacheKeyComponents != nil {
+ authParams.CacheKeyComponents = silent.CacheKeyComponents
+ }
+ if silent.ExtraBodyParameters != nil {
+ authParams.ExtraBodyParameters = silent.ExtraBodyParameters
+ }
m := b.pmanager
if authParams.AuthorizationType != authority.ATOnBehalfOf {
authParams.AuthorizationType = authority.ATRefreshToken
@@ -367,8 +374,19 @@ func (b Client) AcquireTokenSilent(ctx context.Context, silent AcquireTokenSilen
// If the token is not same, we don't need to refresh it.
// Which means it refreshed.
if str, err := m.Read(ctx, authParams); err == nil && str.AccessToken.Secret == ar.AccessToken {
- if tr, er := b.Token.Credential(ctx, authParams, silent.Credential); er == nil {
- return b.AuthResultFromToken(ctx, authParams, tr)
+ switch silent.RequestType {
+ case accesstokens.ATConfidential:
+ if tr, er := b.Token.Credential(ctx, authParams, silent.Credential); er == nil {
+ return b.AuthResultFromToken(ctx, authParams, tr)
+ }
+ case accesstokens.ATPublic:
+ token, err := b.Token.Refresh(ctx, silent.RequestType, authParams, silent.Credential, storageTokenResponse.RefreshToken)
+ if err != nil {
+ return ar, err
+ }
+ return b.AuthResultFromToken(ctx, authParams, token)
+ case accesstokens.ATUnknown:
+ return ar, errors.New("silent request type cannot be ATUnknown")
}
}
}
@@ -446,6 +464,9 @@ func (b Client) AcquireTokenOnBehalfOf(ctx context.Context, onBehalfOfParams Acq
authParams.Claims = onBehalfOfParams.Claims
authParams.Scopes = onBehalfOfParams.Scopes
authParams.UserAssertion = onBehalfOfParams.UserAssertion
+ if authParams.ExtraBodyParameters != nil {
+ authParams.ExtraBodyParameters = silentParameters.ExtraBodyParameters
+ }
token, err := b.Token.OnBehalfOf(ctx, authParams, onBehalfOfParams.Credential)
if err == nil {
ar, err = b.AuthResultFromToken(ctx, authParams, token)
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/items.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/items.go
index 7379e2233..b7d1a670b 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/items.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/items.go
@@ -79,6 +79,7 @@ type AccessToken struct {
UserAssertionHash string `json:"user_assertion_hash,omitempty"`
TokenType string `json:"token_type,omitempty"`
AuthnSchemeKeyID string `json:"keyid,omitempty"`
+ ExtCacheKey string `json:"ext_cache_key,omitempty"`
AdditionalFields map[string]interface{}
}
@@ -105,15 +106,21 @@ func NewAccessToken(homeID, env, realm, clientID string, cachedAt, refreshOn, ex
// Key outputs the key that can be used to uniquely look up this entry in a map.
func (a AccessToken) Key() string {
ks := []string{a.HomeAccountID, a.Environment, a.CredentialType, a.ClientID, a.Realm, a.Scopes}
- key := strings.Join(
- ks,
- shared.CacheKeySeparator,
- )
+
// add token type to key for new access tokens types. skip for bearer token type to
// preserve fwd and back compat between a common cache and msal clients
if !strings.EqualFold(a.TokenType, authority.AccessTokenTypeBearer) {
- key = strings.Join([]string{key, a.TokenType}, shared.CacheKeySeparator)
+ ks = append(ks, a.TokenType)
}
+ // add extra body param hash to key if present
+ if a.ExtCacheKey != "" {
+ ks[2] = "atext" // if the there is extra cache we add "atext" to the key replacing accesstoken
+ ks = append(ks, a.ExtCacheKey)
+ }
+ key := strings.Join(
+ ks,
+ shared.CacheKeySeparator,
+ )
return strings.ToLower(key)
}
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/storage.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/storage.go
index 84a234967..825d8a0f6 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/storage.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/base/storage/storage.go
@@ -135,7 +135,8 @@ func (m *Manager) Read(ctx context.Context, authParameters authority.AuthParams)
aliases = metadata.Aliases
}
- accessToken := m.readAccessToken(homeAccountID, aliases, realm, clientID, scopes, tokenType, authnSchemeKeyID)
+ accessToken := m.readAccessToken(homeAccountID, aliases, realm, clientID, scopes, tokenType, authnSchemeKeyID, authParameters.CacheExtKeyGenerator())
+
tr.AccessToken = accessToken
if homeAccountID == "" {
@@ -203,6 +204,7 @@ func (m *Manager) Write(authParameters authority.AuthParams, tokenResponse acces
authnSchemeKeyID,
)
+ accessToken.ExtCacheKey = authParameters.CacheExtKeyGenerator()
// Since we have a valid access token, cache it before moving on.
if err := accessToken.Validate(); err == nil {
if err := m.writeAccessToken(accessToken); err != nil {
@@ -291,26 +293,49 @@ func (m *Manager) aadMetadata(ctx context.Context, authorityInfo authority.Info)
return m.aadCache[authorityInfo.Host], nil
}
-func (m *Manager) readAccessToken(homeID string, envAliases []string, realm, clientID string, scopes []string, tokenType, authnSchemeKeyID string) AccessToken {
+func (m *Manager) readAccessToken(homeID string, envAliases []string, realm, clientID string, scopes []string, tokenType, authnSchemeKeyID, extCacheKey string) AccessToken {
m.contractMu.RLock()
- // TODO: linear search (over a map no less) is slow for a large number (thousands) of tokens.
- // this shows up as the dominating node in a profile. for real-world scenarios this likely isn't
- // an issue, however if it does become a problem then we know where to look.
- for k, at := range m.contract.AccessTokens {
+
+ tokensToSearch := m.contract.AccessTokens
+
+ for k, at := range tokensToSearch {
+ // TODO: linear search (over a map no less) is slow for a large number (thousands) of tokens.
+ // this shows up as the dominating node in a profile. for real-world scenarios this likely isn't
+ // an issue, however if it does become a problem then we know where to look.
if at.HomeAccountID == homeID && at.Realm == realm && at.ClientID == clientID {
- if (strings.EqualFold(at.TokenType, tokenType) && at.AuthnSchemeKeyID == authnSchemeKeyID) || (at.TokenType == "" && (tokenType == "" || tokenType == "Bearer")) {
- if checkAlias(at.Environment, envAliases) && isMatchingScopes(scopes, at.Scopes) {
- m.contractMu.RUnlock()
- if needsUpgrade(k) {
- m.contractMu.Lock()
- defer m.contractMu.Unlock()
- at = upgrade(m.contract.AccessTokens, k)
+ // Match token type and authentication scheme
+ tokenTypeMatch := (strings.EqualFold(at.TokenType, tokenType) && at.AuthnSchemeKeyID == authnSchemeKeyID) ||
+ (at.TokenType == "" && (tokenType == "" || tokenType == "Bearer"))
+ environmentAndScopesMatch := checkAlias(at.Environment, envAliases) && isMatchingScopes(scopes, at.Scopes)
+
+ if tokenTypeMatch && environmentAndScopesMatch {
+ // For hashed tokens, check that the key contains the hash
+ if extCacheKey != "" {
+ if !strings.Contains(k, extCacheKey) {
+ continue // Skip this token if the key doesn't contain the hash
+ }
+ } else {
+ // If no extCacheKey is provided, only match tokens that also have no extCacheKey
+ if at.ExtCacheKey != "" {
+ continue // Skip tokens that require a hash when no hash is provided
}
+ }
+ // Handle token upgrade if needed
+ if needsUpgrade(k) {
+ m.contractMu.RUnlock()
+ m.contractMu.Lock()
+ at = upgrade(tokensToSearch, k)
+ m.contractMu.Unlock()
return at
}
+
+ m.contractMu.RUnlock()
+ return at
}
}
}
+
+ // No token found, unlock and return empty token
m.contractMu.RUnlock()
return AccessToken{}
}
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens/accesstokens.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens/accesstokens.go
index d738c7591..481f9e434 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens/accesstokens.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/accesstokens/accesstokens.go
@@ -281,6 +281,9 @@ func (c Client) FromClientSecret(ctx context.Context, authParameters authority.A
qv.Set(clientID, authParameters.ClientID)
addScopeQueryParam(qv, authParameters)
+ // Add extra body parameters if provided
+ addExtraBodyParameters(ctx, qv, authParameters)
+
return c.doTokenResp(ctx, authParameters, qv)
}
@@ -296,6 +299,9 @@ func (c Client) FromAssertion(ctx context.Context, authParameters authority.Auth
qv.Set(clientInfo, clientInfoVal)
addScopeQueryParam(qv, authParameters)
+ // Add extra body parameters if provided
+ addExtraBodyParameters(ctx, qv, authParameters)
+
return c.doTokenResp(ctx, authParameters, qv)
}
@@ -329,6 +335,8 @@ func (c Client) FromUserAssertionClientCertificate(ctx context.Context, authPara
qv.Set("requested_token_use", "on_behalf_of")
addScopeQueryParam(qv, authParameters)
+ // Add extra body parameters if provided
+ addExtraBodyParameters(ctx, qv, authParameters)
return c.doTokenResp(ctx, authParameters, qv)
}
@@ -466,3 +474,12 @@ func addScopeQueryParam(queryParams url.Values, authParameters authority.AuthPar
scopes := AppendDefaultScopes(authParameters)
queryParams.Set("scope", strings.Join(scopes, " "))
}
+
+// addExtraBodyParameters evaluates and adds extra body parameters to the request
+func addExtraBodyParameters(ctx context.Context, v url.Values, ap authority.AuthParams) {
+ for key, value := range ap.ExtraBodyParameters {
+ if value != "" {
+ v.Set(key, value)
+ }
+ }
+}
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/authority/authority.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/authority/authority.go
index 3f4037464..debd465db 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/authority/authority.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/internal/oauth/ops/authority/authority.go
@@ -15,6 +15,7 @@ import (
"net/url"
"os"
"path"
+ "sort"
"strings"
"time"
@@ -47,6 +48,8 @@ type jsonCaller interface {
}
// For backward compatibility, accept both old and new China endpoints for a transition period.
+// This list is derived from the AAD instance discovery metadata and represents all known trusted hosts
+// across different Azure clouds (Public, China, Germany, US Government, etc.)
var aadTrustedHostList = map[string]bool{
"login.windows.net": true, // Microsoft Azure Worldwide - Used in validation scenarios where host is not this list
"login.partner.microsoftonline.cn": true, // Microsoft Azure China (new)
@@ -55,6 +58,9 @@ var aadTrustedHostList = map[string]bool{
"login-us.microsoftonline.com": true, // Microsoft Azure US Government - Legacy
"login.microsoftonline.us": true, // Microsoft Azure US Government
"login.microsoftonline.com": true, // Microsoft Azure Worldwide
+ "login.microsoft.com": true,
+ "sts.windows.net": true,
+ "login.usgovcloudapi.net": true,
}
// TrustedHost checks if an AAD host is trusted/valid.
@@ -103,36 +109,46 @@ func (r *TenantDiscoveryResponse) Validate() error {
// ValidateIssuerMatchesAuthority validates that the issuer in the TenantDiscoveryResponse matches the authority.
// This is used to identity security or configuration issues in authorities and the OIDC endpoint
func (r *TenantDiscoveryResponse) ValidateIssuerMatchesAuthority(authorityURI string, aliases map[string]bool) error {
-
if authorityURI == "" {
return errors.New("TenantDiscoveryResponse: empty authorityURI provided for validation")
}
+ if r.Issuer == "" {
+ return errors.New("TenantDiscoveryResponse: empty issuer in response")
+ }
- // Parse the issuer URL
issuerURL, err := url.Parse(r.Issuer)
if err != nil {
return fmt.Errorf("TenantDiscoveryResponse: failed to parse issuer URL: %w", err)
}
+ authorityURL, err := url.Parse(authorityURI)
+ if err != nil {
+ return fmt.Errorf("TenantDiscoveryResponse: failed to parse authority URL: %w", err)
+ }
+
+ // Fast path: exact scheme + host match
+ if issuerURL.Scheme == authorityURL.Scheme && issuerURL.Host == authorityURL.Host {
+ return nil
+ }
- // Even if it doesn't match the authority, issuers from known and trusted hosts are valid
+ // Alias-based acceptance
if aliases != nil && aliases[issuerURL.Host] {
return nil
}
- // Parse the authority URL for comparison
- authorityURL, err := url.Parse(authorityURI)
- if err != nil {
- return fmt.Errorf("TenantDiscoveryResponse: failed to parse authority URL: %w", err)
+ issuerHost := issuerURL.Host
+ authorityHost := authorityURL.Host
+
+ // Accept if issuer host is trusted
+ if TrustedHost(issuerHost) {
+ return nil
}
- // Check if the scheme and host match (paths can be ignored when validating the issuer)
- if issuerURL.Scheme == authorityURL.Scheme && issuerURL.Host == authorityURL.Host {
+ // Accept if authority is a regional variant ending with "."
+ if strings.HasSuffix(authorityHost, "."+issuerHost) {
return nil
}
- // If we get here, validation failed
- return fmt.Errorf("TenantDiscoveryResponse: issuer from OIDC discovery '%s' does not match authority '%s' or a known pattern",
- r.Issuer, authorityURI)
+ return fmt.Errorf("TenantDiscoveryResponse: issuer '%s' does not match authority '%s' or any trusted/alias rule", r.Issuer, authorityURI)
}
type InstanceDiscoveryMetadata struct {
@@ -256,6 +272,12 @@ type AuthParams struct {
DomainHint string
// AuthnScheme is an optional scheme for formatting access tokens
AuthnScheme AuthenticationScheme
+ // ExtraBodyParameters are additional parameters to include in token requests.
+ // The functions are evaluated at request time to get the parameter values.
+ // These parameters are also included in the cache key.
+ ExtraBodyParameters map[string]string
+ // CacheKeyComponents are additional components to include in the cache key.
+ CacheKeyComponents map[string]string
}
// NewAuthParams creates an authorization parameters object.
@@ -642,8 +664,42 @@ func (a *AuthParams) AssertionHash() string {
}
func (a *AuthParams) AppKey() string {
+ baseKey := a.ClientID + "_"
if a.AuthorityInfo.Tenant != "" {
- return fmt.Sprintf("%s_%s_AppTokenCache", a.ClientID, a.AuthorityInfo.Tenant)
+ baseKey += a.AuthorityInfo.Tenant
+ }
+
+ // Include extra body parameters in the cache key
+ paramHash := a.CacheExtKeyGenerator()
+ if paramHash != "" {
+ baseKey = fmt.Sprintf("%s_%s", baseKey, paramHash)
+ }
+
+ return baseKey + "_AppTokenCache"
+}
+
+// CacheExtKeyGenerator computes a hash of the Cache key components key and values
+// to include in the cache key. This ensures tokens acquired with different
+// parameters are cached separately.
+func (a *AuthParams) CacheExtKeyGenerator() string {
+ if len(a.CacheKeyComponents) == 0 {
+ return ""
+ }
+
+ // Sort keys to ensure consistent hashing
+ keys := make([]string, 0, len(a.CacheKeyComponents))
+ for k := range a.CacheKeyComponents {
+ keys = append(keys, k)
}
- return fmt.Sprintf("%s__AppTokenCache", a.ClientID)
+ sort.Strings(keys)
+
+ // Create a string by concatenating key+value pairs
+ keyStr := ""
+ for _, key := range keys {
+ // Append key followed by its value with no separator
+ keyStr += key + a.CacheKeyComponents[key]
+ }
+
+ hash := sha256.Sum256([]byte(keyStr))
+ return strings.ToLower(base64.RawURLEncoding.EncodeToString(hash[:]))
}
diff --git a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go
index 7beed2617..797c086cb 100644
--- a/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go
+++ b/vendor/github.com/AzureAD/microsoft-authentication-library-for-go/apps/public/public.go
@@ -368,9 +368,9 @@ type AcquireByUsernamePasswordOption interface {
acquireByUsernamePasswordOption()
}
-// AcquireTokenByUsernamePassword acquires a security token from the authority, via Username/Password Authentication.
-// NOTE: this flow is NOT recommended.
+// Deprecated: This API will be removed in a future release. Use a more secure flow instead. Follow this migration guide: https://aka.ms/msal-ropc-migration
//
+// AcquireTokenByUsernamePassword acquires a security token from the authority, via Username/Password Authentication.
// Options: [WithClaims], [WithTenantID]
func (pca Client) AcquireTokenByUsernamePassword(ctx context.Context, scopes []string, username, password string, opts ...AcquireByUsernamePasswordOption) (AuthResult, error) {
o := acquireTokenByUsernamePasswordOptions{}
diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go
index 1965913e5..ccb87e6da 100644
--- a/vendor/golang.org/x/net/http2/transport.go
+++ b/vendor/golang.org/x/net/http2/transport.go
@@ -376,11 +376,24 @@ type ClientConn struct {
// completely unresponsive connection.
pendingResets int
+ // readBeforeStreamID is the smallest stream ID that has not been followed by
+ // a frame read from the peer. We use this to determine when a request may
+ // have been sent to a completely unresponsive connection:
+ // If the request ID is less than readBeforeStreamID, then we have had some
+ // indication of life on the connection since sending the request.
+ readBeforeStreamID uint32
+
// reqHeaderMu is a 1-element semaphore channel controlling access to sending new requests.
// Write to reqHeaderMu to lock it, read from it to unlock.
// Lock reqmu BEFORE mu or wmu.
reqHeaderMu chan struct{}
+ // internalStateHook reports state changes back to the net/http.ClientConn.
+ // Note that this is different from the user state hook registered by
+ // net/http.ClientConn.SetStateHook: The internal hook calls ClientConn,
+ // which calls the user hook.
+ internalStateHook func()
+
// wmu is held while writing.
// Acquire BEFORE mu when holding both, to avoid blocking mu on network writes.
// Only acquire both at the same time when changing peer settings.
@@ -710,7 +723,7 @@ func canRetryError(err error) bool {
func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse bool) (*ClientConn, error) {
if t.transportTestHooks != nil {
- return t.newClientConn(nil, singleUse)
+ return t.newClientConn(nil, singleUse, nil)
}
host, _, err := net.SplitHostPort(addr)
if err != nil {
@@ -720,7 +733,7 @@ func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse b
if err != nil {
return nil, err
}
- return t.newClientConn(tconn, singleUse)
+ return t.newClientConn(tconn, singleUse, nil)
}
func (t *Transport) newTLSConfig(host string) *tls.Config {
@@ -772,10 +785,10 @@ func (t *Transport) expectContinueTimeout() time.Duration {
}
func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
- return t.newClientConn(c, t.disableKeepAlives())
+ return t.newClientConn(c, t.disableKeepAlives(), nil)
}
-func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) {
+func (t *Transport) newClientConn(c net.Conn, singleUse bool, internalStateHook func()) (*ClientConn, error) {
conf := configFromTransport(t)
cc := &ClientConn{
t: t,
@@ -797,6 +810,7 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro
pings: make(map[[8]byte]chan struct{}),
reqHeaderMu: make(chan struct{}, 1),
lastActive: time.Now(),
+ internalStateHook: internalStateHook,
}
if t.transportTestHooks != nil {
t.transportTestHooks.newclientconn(cc)
@@ -1037,10 +1051,7 @@ func (cc *ClientConn) idleStateLocked() (st clientConnIdleState) {
maxConcurrentOkay = cc.currentRequestCountLocked() < int(cc.maxConcurrentStreams)
}
- st.canTakeNewRequest = cc.goAway == nil && !cc.closed && !cc.closing && maxConcurrentOkay &&
- !cc.doNotReuse &&
- int64(cc.nextStreamID)+2*int64(cc.pendingRequests) < math.MaxInt32 &&
- !cc.tooIdleLocked()
+ st.canTakeNewRequest = maxConcurrentOkay && cc.isUsableLocked()
// If this connection has never been used for a request and is closed,
// then let it take a request (which will fail).
@@ -1056,6 +1067,31 @@ func (cc *ClientConn) idleStateLocked() (st clientConnIdleState) {
return
}
+func (cc *ClientConn) isUsableLocked() bool {
+ return cc.goAway == nil &&
+ !cc.closed &&
+ !cc.closing &&
+ !cc.doNotReuse &&
+ int64(cc.nextStreamID)+2*int64(cc.pendingRequests) < math.MaxInt32 &&
+ !cc.tooIdleLocked()
+}
+
+// canReserveLocked reports whether a net/http.ClientConn can reserve a slot on this conn.
+//
+// This follows slightly different rules than clientConnIdleState.canTakeNewRequest.
+// We only permit reservations up to the conn's concurrency limit.
+// This differs from ClientConn.ReserveNewRequest, which permits reservations
+// past the limit when StrictMaxConcurrentStreams is set.
+func (cc *ClientConn) canReserveLocked() bool {
+ if cc.currentRequestCountLocked() >= int(cc.maxConcurrentStreams) {
+ return false
+ }
+ if !cc.isUsableLocked() {
+ return false
+ }
+ return true
+}
+
// currentRequestCountLocked reports the number of concurrency slots currently in use,
// including active streams, reserved slots, and reset streams waiting for acknowledgement.
func (cc *ClientConn) currentRequestCountLocked() int {
@@ -1067,6 +1103,14 @@ func (cc *ClientConn) canTakeNewRequestLocked() bool {
return st.canTakeNewRequest
}
+// availableLocked reports the number of concurrency slots available.
+func (cc *ClientConn) availableLocked() int {
+ if !cc.canTakeNewRequestLocked() {
+ return 0
+ }
+ return max(0, int(cc.maxConcurrentStreams)-cc.currentRequestCountLocked())
+}
+
// tooIdleLocked reports whether this connection has been been sitting idle
// for too much wall time.
func (cc *ClientConn) tooIdleLocked() bool {
@@ -1091,6 +1135,7 @@ func (cc *ClientConn) closeConn() {
t := time.AfterFunc(250*time.Millisecond, cc.forceCloseConn)
defer t.Stop()
cc.tconn.Close()
+ cc.maybeCallStateHook()
}
// A tls.Conn.Close can hang for a long time if the peer is unresponsive.
@@ -1616,6 +1661,8 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
}
bodyClosed := cs.reqBodyClosed
closeOnIdle := cc.singleUse || cc.doNotReuse || cc.t.disableKeepAlives() || cc.goAway != nil
+ // Have we read any frames from the connection since sending this request?
+ readSinceStream := cc.readBeforeStreamID > cs.ID
cc.mu.Unlock()
if mustCloseBody {
cs.reqBody.Close()
@@ -1647,8 +1694,10 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
//
// This could be due to the server becoming unresponsive.
// To avoid sending too many requests on a dead connection,
- // we let the request continue to consume a concurrency slot
- // until we can confirm the server is still responding.
+ // if we haven't read any frames from the connection since
+ // sending this request, we let it continue to consume
+ // a concurrency slot until we can confirm the server is
+ // still responding.
// We do this by sending a PING frame along with the RST_STREAM
// (unless a ping is already in flight).
//
@@ -1659,7 +1708,7 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
// because it's short lived and will probably be closed before
// we get the ping response.
ping := false
- if !closeOnIdle {
+ if !closeOnIdle && !readSinceStream {
cc.mu.Lock()
// rstStreamPingsBlocked works around a gRPC behavior:
// see comment on the field for details.
@@ -1693,6 +1742,7 @@ func (cs *clientStream) cleanupWriteRequest(err error) {
}
close(cs.donec)
+ cc.maybeCallStateHook()
}
// awaitOpenSlotForStreamLocked waits until len(streams) < maxConcurrentStreams.
@@ -2745,6 +2795,7 @@ func (rl *clientConnReadLoop) streamByID(id uint32, headerOrData bool) *clientSt
// See comment on ClientConn.rstStreamPingsBlocked for details.
rl.cc.rstStreamPingsBlocked = false
}
+ rl.cc.readBeforeStreamID = rl.cc.nextStreamID
cs := rl.cc.streams[id]
if cs != nil && !cs.readAborted {
return cs
@@ -2795,6 +2846,7 @@ func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error {
func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
cc := rl.cc
+ defer cc.maybeCallStateHook()
cc.mu.Lock()
defer cc.mu.Unlock()
@@ -2975,6 +3027,7 @@ func (cc *ClientConn) Ping(ctx context.Context) error {
func (rl *clientConnReadLoop) processPing(f *PingFrame) error {
if f.IsAck() {
cc := rl.cc
+ defer cc.maybeCallStateHook()
cc.mu.Lock()
defer cc.mu.Unlock()
// If ack, notify listener if any
@@ -3198,9 +3251,13 @@ func registerHTTPSProtocol(t *http.Transport, rt noDialH2RoundTripper) (err erro
}
// noDialH2RoundTripper is a RoundTripper which only tries to complete the request
-// if there's already has a cached connection to the host.
+// if there's already a cached connection to the host.
// (The field is exported so it can be accessed via reflect from net/http; tested
// by TestNoDialH2RoundTripperType)
+//
+// A noDialH2RoundTripper is registered with http1.Transport.RegisterProtocol,
+// and the http1.Transport can use type assertions to call non-RoundTrip methods on it.
+// This lets us expose, for example, NewClientConn to net/http.
type noDialH2RoundTripper struct{ *Transport }
func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
@@ -3211,6 +3268,85 @@ func (rt noDialH2RoundTripper) RoundTrip(req *http.Request) (*http.Response, err
return res, err
}
+func (rt noDialH2RoundTripper) NewClientConn(conn net.Conn, internalStateHook func()) (http.RoundTripper, error) {
+ tr := rt.Transport
+ cc, err := tr.newClientConn(conn, tr.disableKeepAlives(), internalStateHook)
+ if err != nil {
+ return nil, err
+ }
+
+ // RoundTrip should block when the conn is at its concurrency limit,
+ // not return an error. Setting strictMaxConcurrentStreams enables this.
+ cc.strictMaxConcurrentStreams = true
+
+ return netHTTPClientConn{cc}, nil
+}
+
+// netHTTPClientConn wraps ClientConn and implements the interface net/http expects from
+// the RoundTripper returned by NewClientConn.
+type netHTTPClientConn struct {
+ cc *ClientConn
+}
+
+func (cc netHTTPClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
+ return cc.cc.RoundTrip(req)
+}
+
+func (cc netHTTPClientConn) Close() error {
+ return cc.cc.Close()
+}
+
+func (cc netHTTPClientConn) Err() error {
+ cc.cc.mu.Lock()
+ defer cc.cc.mu.Unlock()
+ if cc.cc.closed {
+ return errors.New("connection closed")
+ }
+ return nil
+}
+
+func (cc netHTTPClientConn) Reserve() error {
+ defer cc.cc.maybeCallStateHook()
+ cc.cc.mu.Lock()
+ defer cc.cc.mu.Unlock()
+ if !cc.cc.canReserveLocked() {
+ return errors.New("connection is unavailable")
+ }
+ cc.cc.streamsReserved++
+ return nil
+}
+
+func (cc netHTTPClientConn) Release() {
+ defer cc.cc.maybeCallStateHook()
+ cc.cc.mu.Lock()
+ defer cc.cc.mu.Unlock()
+ // We don't complain if streamsReserved is 0.
+ //
+ // This is consistent with RoundTrip: both Release and RoundTrip will
+ // consume a reservation iff one exists.
+ if cc.cc.streamsReserved > 0 {
+ cc.cc.streamsReserved--
+ }
+}
+
+func (cc netHTTPClientConn) Available() int {
+ cc.cc.mu.Lock()
+ defer cc.cc.mu.Unlock()
+ return cc.cc.availableLocked()
+}
+
+func (cc netHTTPClientConn) InFlight() int {
+ cc.cc.mu.Lock()
+ defer cc.cc.mu.Unlock()
+ return cc.cc.currentRequestCountLocked()
+}
+
+func (cc *ClientConn) maybeCallStateHook() {
+ if cc.internalStateHook != nil {
+ cc.internalStateHook()
+ }
+}
+
func (t *Transport) idleConnTimeout() time.Duration {
// to keep things backwards compatible, we use non-zero values of
// IdleConnTimeout, followed by using the IdleConnTimeout on the underlying
diff --git a/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go b/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go
index cb4cadc32..dfbfc1eb3 100644
--- a/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go
+++ b/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go
@@ -37,6 +37,15 @@ type priorityWriteSchedulerRFC9218 struct {
// incremental streams or not, when urgency is the same in a given Pop()
// call.
prioritizeIncremental bool
+
+ // priorityUpdateBuf is used to buffer the most recent PRIORITY_UPDATE we
+ // receive per https://www.rfc-editor.org/rfc/rfc9218.html#name-the-priority_update-frame.
+ priorityUpdateBuf struct {
+ // streamID being 0 means that the buffer is empty. This is a safe
+ // assumption as PRIORITY_UPDATE for stream 0 is a PROTOCOL_ERROR.
+ streamID uint32
+ priority PriorityParam
+ }
}
func newPriorityWriteSchedulerRFC9218() WriteScheduler {
@@ -50,6 +59,10 @@ func (ws *priorityWriteSchedulerRFC9218) OpenStream(streamID uint32, opt OpenStr
if ws.streams[streamID].location != nil {
panic(fmt.Errorf("stream %d already opened", streamID))
}
+ if streamID == ws.priorityUpdateBuf.streamID {
+ ws.priorityUpdateBuf.streamID = 0
+ opt.priority = ws.priorityUpdateBuf.priority
+ }
q := ws.queuePool.get()
ws.streams[streamID] = streamMetadata{
location: q,
@@ -95,6 +108,8 @@ func (ws *priorityWriteSchedulerRFC9218) AdjustStream(streamID uint32, priority
metadata := ws.streams[streamID]
q, u, i := metadata.location, metadata.priority.urgency, metadata.priority.incremental
if q == nil {
+ ws.priorityUpdateBuf.streamID = streamID
+ ws.priorityUpdateBuf.priority = priority
return
}
diff --git a/vendor/golang.org/x/net/websocket/hybi.go b/vendor/golang.org/x/net/websocket/hybi.go
index dda743466..c7e76cd91 100644
--- a/vendor/golang.org/x/net/websocket/hybi.go
+++ b/vendor/golang.org/x/net/websocket/hybi.go
@@ -440,6 +440,7 @@ func hybiClientHandshake(config *Config, br *bufio.Reader, bw *bufio.Writer) (er
if err != nil {
return err
}
+ defer resp.Body.Close()
if resp.StatusCode != 101 {
return ErrBadStatus
}
diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go
index 1e642f330..f5723d4f7 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_x86.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go
@@ -64,6 +64,80 @@ func initOptions() {
func archInit() {
+ // From internal/cpu
+ const (
+ // eax bits
+ cpuid_AVXVNNI = 1 << 4
+
+ // ecx bits
+ cpuid_SSE3 = 1 << 0
+ cpuid_PCLMULQDQ = 1 << 1
+ cpuid_AVX512VBMI = 1 << 1
+ cpuid_AVX512VBMI2 = 1 << 6
+ cpuid_SSSE3 = 1 << 9
+ cpuid_AVX512GFNI = 1 << 8
+ cpuid_AVX512VAES = 1 << 9
+ cpuid_AVX512VNNI = 1 << 11
+ cpuid_AVX512BITALG = 1 << 12
+ cpuid_FMA = 1 << 12
+ cpuid_AVX512VPOPCNTDQ = 1 << 14
+ cpuid_SSE41 = 1 << 19
+ cpuid_SSE42 = 1 << 20
+ cpuid_POPCNT = 1 << 23
+ cpuid_AES = 1 << 25
+ cpuid_OSXSAVE = 1 << 27
+ cpuid_AVX = 1 << 28
+
+ // "Extended Feature Flag" bits returned in EBX for CPUID EAX=0x7 ECX=0x0
+ cpuid_BMI1 = 1 << 3
+ cpuid_AVX2 = 1 << 5
+ cpuid_BMI2 = 1 << 8
+ cpuid_ERMS = 1 << 9
+ cpuid_AVX512F = 1 << 16
+ cpuid_AVX512DQ = 1 << 17
+ cpuid_ADX = 1 << 19
+ cpuid_AVX512CD = 1 << 28
+ cpuid_SHA = 1 << 29
+ cpuid_AVX512BW = 1 << 30
+ cpuid_AVX512VL = 1 << 31
+
+ // "Extended Feature Flag" bits returned in ECX for CPUID EAX=0x7 ECX=0x0
+ cpuid_AVX512_VBMI = 1 << 1
+ cpuid_AVX512_VBMI2 = 1 << 6
+ cpuid_GFNI = 1 << 8
+ cpuid_AVX512VPCLMULQDQ = 1 << 10
+ cpuid_AVX512_BITALG = 1 << 12
+
+ // edx bits
+ cpuid_FSRM = 1 << 4
+ // edx bits for CPUID 0x80000001
+ cpuid_RDTSCP = 1 << 27
+ )
+ // Additional constants not in internal/cpu
+ const (
+ // eax=1: edx
+ cpuid_SSE2 = 1 << 26
+ // eax=1: ecx
+ cpuid_CX16 = 1 << 13
+ cpuid_RDRAND = 1 << 30
+ // eax=7,ecx=0: ebx
+ cpuid_RDSEED = 1 << 18
+ cpuid_AVX512IFMA = 1 << 21
+ cpuid_AVX512PF = 1 << 26
+ cpuid_AVX512ER = 1 << 27
+ // eax=7,ecx=0: edx
+ cpuid_AVX5124VNNIW = 1 << 2
+ cpuid_AVX5124FMAPS = 1 << 3
+ cpuid_AMXBF16 = 1 << 22
+ cpuid_AMXTile = 1 << 24
+ cpuid_AMXInt8 = 1 << 25
+ // eax=7,ecx=1: eax
+ cpuid_AVX512BF16 = 1 << 5
+ cpuid_AVXIFMA = 1 << 23
+ // eax=7,ecx=1: edx
+ cpuid_AVXVNNIInt8 = 1 << 4
+ )
+
Initialized = true
maxID, _, _, _ := cpuid(0, 0)
@@ -73,90 +147,90 @@ func archInit() {
}
_, _, ecx1, edx1 := cpuid(1, 0)
- X86.HasSSE2 = isSet(26, edx1)
-
- X86.HasSSE3 = isSet(0, ecx1)
- X86.HasPCLMULQDQ = isSet(1, ecx1)
- X86.HasSSSE3 = isSet(9, ecx1)
- X86.HasFMA = isSet(12, ecx1)
- X86.HasCX16 = isSet(13, ecx1)
- X86.HasSSE41 = isSet(19, ecx1)
- X86.HasSSE42 = isSet(20, ecx1)
- X86.HasPOPCNT = isSet(23, ecx1)
- X86.HasAES = isSet(25, ecx1)
- X86.HasOSXSAVE = isSet(27, ecx1)
- X86.HasRDRAND = isSet(30, ecx1)
+ X86.HasSSE2 = isSet(edx1, cpuid_SSE2)
+
+ X86.HasSSE3 = isSet(ecx1, cpuid_SSE3)
+ X86.HasPCLMULQDQ = isSet(ecx1, cpuid_PCLMULQDQ)
+ X86.HasSSSE3 = isSet(ecx1, cpuid_SSSE3)
+ X86.HasFMA = isSet(ecx1, cpuid_FMA)
+ X86.HasCX16 = isSet(ecx1, cpuid_CX16)
+ X86.HasSSE41 = isSet(ecx1, cpuid_SSE41)
+ X86.HasSSE42 = isSet(ecx1, cpuid_SSE42)
+ X86.HasPOPCNT = isSet(ecx1, cpuid_POPCNT)
+ X86.HasAES = isSet(ecx1, cpuid_AES)
+ X86.HasOSXSAVE = isSet(ecx1, cpuid_OSXSAVE)
+ X86.HasRDRAND = isSet(ecx1, cpuid_RDRAND)
var osSupportsAVX, osSupportsAVX512 bool
// For XGETBV, OSXSAVE bit is required and sufficient.
if X86.HasOSXSAVE {
eax, _ := xgetbv()
// Check if XMM and YMM registers have OS support.
- osSupportsAVX = isSet(1, eax) && isSet(2, eax)
+ osSupportsAVX = isSet(eax, 1<<1) && isSet(eax, 1<<2)
if runtime.GOOS == "darwin" {
// Darwin requires special AVX512 checks, see cpu_darwin_x86.go
osSupportsAVX512 = osSupportsAVX && darwinSupportsAVX512()
} else {
// Check if OPMASK and ZMM registers have OS support.
- osSupportsAVX512 = osSupportsAVX && isSet(5, eax) && isSet(6, eax) && isSet(7, eax)
+ osSupportsAVX512 = osSupportsAVX && isSet(eax, 1<<5) && isSet(eax, 1<<6) && isSet(eax, 1<<7)
}
}
- X86.HasAVX = isSet(28, ecx1) && osSupportsAVX
+ X86.HasAVX = isSet(ecx1, cpuid_AVX) && osSupportsAVX
if maxID < 7 {
return
}
eax7, ebx7, ecx7, edx7 := cpuid(7, 0)
- X86.HasBMI1 = isSet(3, ebx7)
- X86.HasAVX2 = isSet(5, ebx7) && osSupportsAVX
- X86.HasBMI2 = isSet(8, ebx7)
- X86.HasERMS = isSet(9, ebx7)
- X86.HasRDSEED = isSet(18, ebx7)
- X86.HasADX = isSet(19, ebx7)
-
- X86.HasAVX512 = isSet(16, ebx7) && osSupportsAVX512 // Because avx-512 foundation is the core required extension
+ X86.HasBMI1 = isSet(ebx7, cpuid_BMI1)
+ X86.HasAVX2 = isSet(ebx7, cpuid_AVX2) && osSupportsAVX
+ X86.HasBMI2 = isSet(ebx7, cpuid_BMI2)
+ X86.HasERMS = isSet(ebx7, cpuid_ERMS)
+ X86.HasRDSEED = isSet(ebx7, cpuid_RDSEED)
+ X86.HasADX = isSet(ebx7, cpuid_ADX)
+
+ X86.HasAVX512 = isSet(ebx7, cpuid_AVX512F) && osSupportsAVX512 // Because avx-512 foundation is the core required extension
if X86.HasAVX512 {
X86.HasAVX512F = true
- X86.HasAVX512CD = isSet(28, ebx7)
- X86.HasAVX512ER = isSet(27, ebx7)
- X86.HasAVX512PF = isSet(26, ebx7)
- X86.HasAVX512VL = isSet(31, ebx7)
- X86.HasAVX512BW = isSet(30, ebx7)
- X86.HasAVX512DQ = isSet(17, ebx7)
- X86.HasAVX512IFMA = isSet(21, ebx7)
- X86.HasAVX512VBMI = isSet(1, ecx7)
- X86.HasAVX5124VNNIW = isSet(2, edx7)
- X86.HasAVX5124FMAPS = isSet(3, edx7)
- X86.HasAVX512VPOPCNTDQ = isSet(14, ecx7)
- X86.HasAVX512VPCLMULQDQ = isSet(10, ecx7)
- X86.HasAVX512VNNI = isSet(11, ecx7)
- X86.HasAVX512GFNI = isSet(8, ecx7)
- X86.HasAVX512VAES = isSet(9, ecx7)
- X86.HasAVX512VBMI2 = isSet(6, ecx7)
- X86.HasAVX512BITALG = isSet(12, ecx7)
+ X86.HasAVX512CD = isSet(ebx7, cpuid_AVX512CD)
+ X86.HasAVX512ER = isSet(ebx7, cpuid_AVX512ER)
+ X86.HasAVX512PF = isSet(ebx7, cpuid_AVX512PF)
+ X86.HasAVX512VL = isSet(ebx7, cpuid_AVX512VL)
+ X86.HasAVX512BW = isSet(ebx7, cpuid_AVX512BW)
+ X86.HasAVX512DQ = isSet(ebx7, cpuid_AVX512DQ)
+ X86.HasAVX512IFMA = isSet(ebx7, cpuid_AVX512IFMA)
+ X86.HasAVX512VBMI = isSet(ecx7, cpuid_AVX512_VBMI)
+ X86.HasAVX5124VNNIW = isSet(edx7, cpuid_AVX5124VNNIW)
+ X86.HasAVX5124FMAPS = isSet(edx7, cpuid_AVX5124FMAPS)
+ X86.HasAVX512VPOPCNTDQ = isSet(ecx7, cpuid_AVX512VPOPCNTDQ)
+ X86.HasAVX512VPCLMULQDQ = isSet(ecx7, cpuid_AVX512VPCLMULQDQ)
+ X86.HasAVX512VNNI = isSet(ecx7, cpuid_AVX512VNNI)
+ X86.HasAVX512GFNI = isSet(ecx7, cpuid_AVX512GFNI)
+ X86.HasAVX512VAES = isSet(ecx7, cpuid_AVX512VAES)
+ X86.HasAVX512VBMI2 = isSet(ecx7, cpuid_AVX512VBMI2)
+ X86.HasAVX512BITALG = isSet(ecx7, cpuid_AVX512BITALG)
}
- X86.HasAMXTile = isSet(24, edx7)
- X86.HasAMXInt8 = isSet(25, edx7)
- X86.HasAMXBF16 = isSet(22, edx7)
+ X86.HasAMXTile = isSet(edx7, cpuid_AMXTile)
+ X86.HasAMXInt8 = isSet(edx7, cpuid_AMXInt8)
+ X86.HasAMXBF16 = isSet(edx7, cpuid_AMXBF16)
// These features depend on the second level of extended features.
if eax7 >= 1 {
eax71, _, _, edx71 := cpuid(7, 1)
if X86.HasAVX512 {
- X86.HasAVX512BF16 = isSet(5, eax71)
+ X86.HasAVX512BF16 = isSet(eax71, cpuid_AVX512BF16)
}
if X86.HasAVX {
- X86.HasAVXIFMA = isSet(23, eax71)
- X86.HasAVXVNNI = isSet(4, eax71)
- X86.HasAVXVNNIInt8 = isSet(4, edx71)
+ X86.HasAVXIFMA = isSet(eax71, cpuid_AVXIFMA)
+ X86.HasAVXVNNI = isSet(eax71, cpuid_AVXVNNI)
+ X86.HasAVXVNNIInt8 = isSet(edx71, cpuid_AVXVNNIInt8)
}
}
}
-func isSet(bitpos uint, value uint32) bool {
- return value&(1<= 4 && b[0] == keyEscape && b[1] == '[' && b[2] == '3' && b[3] == '~' {
+ return keyDelete, b[4:]
+ }
+
if !pasteActive && len(b) >= 6 && b[0] == keyEscape && b[1] == '[' && b[2] == '1' && b[3] == ';' && b[4] == '3' {
switch b[5] {
case 'C':
@@ -590,7 +598,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
}
t.line = t.line[:t.pos]
t.moveCursorToPos(t.pos)
- case keyCtrlD:
+ case keyCtrlD, keyDelete:
// Erase the character under the current position.
// The EOF case when the line is empty is handled in
// readLine().
@@ -600,6 +608,24 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
}
case keyCtrlU:
t.eraseNPreviousChars(t.pos)
+ case keyTranspose:
+ // This transposes the two characters around the cursor and advances the cursor. Best-effort.
+ if len(t.line) < 2 || t.pos < 1 {
+ return
+ }
+ swap := t.pos
+ if swap == len(t.line) {
+ swap-- // special: at end of line, swap previous two chars
+ }
+ t.line[swap-1], t.line[swap] = t.line[swap], t.line[swap-1]
+ if t.pos < len(t.line) {
+ t.pos++
+ }
+ if t.echo {
+ t.moveCursorToPos(swap - 1)
+ t.writeLine(t.line[swap-1:])
+ t.moveCursorToPos(t.pos)
+ }
case keyClearScreen:
// Erases the screen and moves the cursor to the home position.
t.queue([]rune("\x1b[2J\x1b[H"))
diff --git a/vendor/golang.org/x/tools/go/packages/packages.go b/vendor/golang.org/x/tools/go/packages/packages.go
index 060ab08ef..ff607389d 100644
--- a/vendor/golang.org/x/tools/go/packages/packages.go
+++ b/vendor/golang.org/x/tools/go/packages/packages.go
@@ -1027,11 +1027,15 @@ func (ld *loader) refine(response *DriverResponse) ([]*Package, error) {
// Precondition: ld.Mode&(NeedSyntax|NeedTypes|NeedTypesInfo) != 0.
func (ld *loader) loadPackage(lpkg *loaderPackage) {
if lpkg.PkgPath == "unsafe" {
- // Fill in the blanks to avoid surprises.
+ // To avoid surprises, fill in the blanks consistent
+ // with other packages. (For example, some analyzers
+ // assert that each needed types.Info map is non-nil
+ // even when there is no syntax that would cause them
+ // to consult the map.)
lpkg.Types = types.Unsafe
lpkg.Fset = ld.Fset
lpkg.Syntax = []*ast.File{}
- lpkg.TypesInfo = new(types.Info)
+ lpkg.TypesInfo = ld.newTypesInfo()
lpkg.TypesSizes = ld.sizes
return
}
@@ -1180,20 +1184,7 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) {
return
}
- // Populate TypesInfo only if needed, as it
- // causes the type checker to work much harder.
- if ld.Config.Mode&NeedTypesInfo != 0 {
- lpkg.TypesInfo = &types.Info{
- Types: make(map[ast.Expr]types.TypeAndValue),
- Defs: make(map[*ast.Ident]types.Object),
- Uses: make(map[*ast.Ident]types.Object),
- Implicits: make(map[ast.Node]types.Object),
- Instances: make(map[*ast.Ident]types.Instance),
- Scopes: make(map[ast.Node]*types.Scope),
- Selections: make(map[*ast.SelectorExpr]*types.Selection),
- FileVersions: make(map[*ast.File]string),
- }
- }
+ lpkg.TypesInfo = ld.newTypesInfo()
lpkg.TypesSizes = ld.sizes
importer := importerFunc(func(path string) (*types.Package, error) {
@@ -1307,6 +1298,24 @@ func (ld *loader) loadPackage(lpkg *loaderPackage) {
lpkg.IllTyped = illTyped
}
+func (ld *loader) newTypesInfo() *types.Info {
+ // Populate TypesInfo only if needed, as it
+ // causes the type checker to work much harder.
+ if ld.Config.Mode&NeedTypesInfo == 0 {
+ return nil
+ }
+ return &types.Info{
+ Types: make(map[ast.Expr]types.TypeAndValue),
+ Defs: make(map[*ast.Ident]types.Object),
+ Uses: make(map[*ast.Ident]types.Object),
+ Implicits: make(map[ast.Node]types.Object),
+ Instances: make(map[*ast.Ident]types.Instance),
+ Scopes: make(map[ast.Node]*types.Scope),
+ Selections: make(map[*ast.SelectorExpr]*types.Selection),
+ FileVersions: make(map[*ast.File]string),
+ }
+}
+
// An importFunc is an implementation of the single-method
// types.Importer interface based on a function value.
type importerFunc func(path string) (*types.Package, error)
diff --git a/vendor/golang.org/x/tools/go/types/typeutil/callee.go b/vendor/golang.org/x/tools/go/types/typeutil/callee.go
index 5f10f56cb..3d24a8c63 100644
--- a/vendor/golang.org/x/tools/go/types/typeutil/callee.go
+++ b/vendor/golang.org/x/tools/go/types/typeutil/callee.go
@@ -12,6 +12,7 @@ import (
// Callee returns the named target of a function call, if any:
// a function, method, builtin, or variable.
+// It returns nil for a T(x) conversion.
//
// Functions and methods may potentially have type parameters.
//
diff --git a/vendor/golang.org/x/tools/internal/event/core/export.go b/vendor/golang.org/x/tools/internal/event/core/export.go
index 05f3a9a57..16ae6bb02 100644
--- a/vendor/golang.org/x/tools/internal/event/core/export.go
+++ b/vendor/golang.org/x/tools/internal/event/core/export.go
@@ -8,7 +8,6 @@ import (
"context"
"sync/atomic"
"time"
- "unsafe"
"golang.org/x/tools/internal/event/label"
)
@@ -17,23 +16,21 @@ import (
// It may return a modified context and event.
type Exporter func(context.Context, Event, label.Map) context.Context
-var (
- exporter unsafe.Pointer
-)
+var exporter atomic.Pointer[Exporter]
// SetExporter sets the global exporter function that handles all events.
// The exporter is called synchronously from the event call site, so it should
// return quickly so as not to hold up user code.
func SetExporter(e Exporter) {
- p := unsafe.Pointer(&e)
if e == nil {
// &e is always valid, and so p is always valid, but for the early abort
// of ProcessEvent to be efficient it needs to make the nil check on the
// pointer without having to dereference it, so we make the nil function
// also a nil pointer
- p = nil
+ exporter.Store(nil)
+ } else {
+ exporter.Store(&e)
}
- atomic.StorePointer(&exporter, p)
}
// deliver is called to deliver an event to the supplied exporter.
@@ -48,7 +45,7 @@ func deliver(ctx context.Context, exporter Exporter, ev Event) context.Context {
// Export is called to deliver an event to the global exporter if set.
func Export(ctx context.Context, ev Event) context.Context {
// get the global exporter and abort early if there is not one
- exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
+ exporterPtr := exporter.Load()
if exporterPtr == nil {
return ctx
}
@@ -61,7 +58,7 @@ func Export(ctx context.Context, ev Event) context.Context {
// It will fill in the time.
func ExportPair(ctx context.Context, begin, end Event) (context.Context, func()) {
// get the global exporter and abort early if there is not one
- exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
+ exporterPtr := exporter.Load()
if exporterPtr == nil {
return ctx, func() {}
}
diff --git a/vendor/golang.org/x/tools/internal/event/label/label.go b/vendor/golang.org/x/tools/internal/event/label/label.go
index 92a391057..c37584af9 100644
--- a/vendor/golang.org/x/tools/internal/event/label/label.go
+++ b/vendor/golang.org/x/tools/internal/event/label/label.go
@@ -7,7 +7,6 @@ package label
import (
"fmt"
"io"
- "reflect"
"slices"
"unsafe"
)
@@ -103,11 +102,10 @@ type stringptr unsafe.Pointer
// This method is for implementing new key types, label creation should
// normally be done with the Of method of the key.
func OfString(k Key, v string) Label {
- hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
return Label{
key: k,
- packed: uint64(hdr.Len),
- untyped: stringptr(hdr.Data),
+ packed: uint64(len(v)),
+ untyped: stringptr(unsafe.StringData(v)),
}
}
@@ -116,11 +114,7 @@ func OfString(k Key, v string) Label {
// This method is for implementing new key types, for type safety normal
// access should be done with the From method of the key.
func (t Label) UnpackString() string {
- var v string
- hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
- hdr.Data = uintptr(t.untyped.(stringptr))
- hdr.Len = int(t.packed)
- return v
+ return unsafe.String((*byte)(t.untyped.(stringptr)), int(t.packed))
}
// Valid returns true if the Label is a valid one (it has a key).
diff --git a/vendor/golang.org/x/tools/internal/stdlib/deps.go b/vendor/golang.org/x/tools/internal/stdlib/deps.go
index 581784da4..f7b9c1286 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/deps.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/deps.go
@@ -12,360 +12,364 @@ type pkginfo struct {
}
var deps = [...]pkginfo{
- {"archive/tar", "\x03n\x03E<\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\f"},
- {"archive/zip", "\x02\x04d\a\x03\x12\x021<\x01+\x05\x01\x0f\x03\x02\x0e\x04"},
- {"bufio", "\x03n\x84\x01D\x14"},
- {"bytes", "q*Z\x03\fG\x02\x02"},
+ {"archive/tar", "\x03p\x03F=\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\f"},
+ {"archive/zip", "\x02\x04f\a\x03\x13\x021=\x01+\x05\x01\x0f\x03\x02\x0e\x04"},
+ {"bufio", "\x03p\x86\x01D\x14"},
+ {"bytes", "s+[\x03\fG\x02\x02"},
{"cmp", ""},
- {"compress/bzip2", "\x02\x02\xf1\x01A"},
- {"compress/flate", "\x02o\x03\x81\x01\f\x033\x01\x03"},
- {"compress/gzip", "\x02\x04d\a\x03\x14mT"},
- {"compress/lzw", "\x02o\x03\x81\x01"},
- {"compress/zlib", "\x02\x04d\a\x03\x12\x01n"},
- {"container/heap", "\xb7\x02"},
+ {"compress/bzip2", "\x02\x02\xf5\x01A"},
+ {"compress/flate", "\x02q\x03\x83\x01\f\x033\x01\x03"},
+ {"compress/gzip", "\x02\x04f\a\x03\x15nT"},
+ {"compress/lzw", "\x02q\x03\x83\x01"},
+ {"compress/zlib", "\x02\x04f\a\x03\x13\x01o"},
+ {"container/heap", "\xbb\x02"},
{"container/list", ""},
{"container/ring", ""},
- {"context", "q[o\x01\r"},
- {"crypto", "\x86\x01oC"},
- {"crypto/aes", "\x10\n\t\x95\x02"},
- {"crypto/cipher", "\x03 \x01\x01\x1f\x11\x1c+Y"},
- {"crypto/des", "\x10\x15\x1f-+\x9c\x01\x03"},
- {"crypto/dsa", "D\x04)\x84\x01\r"},
- {"crypto/ecdh", "\x03\v\f\x10\x04\x16\x04\r\x1c\x84\x01"},
- {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x10\a\v\x06\x01\x04\f\x01\x1c\x84\x01\r\x05K\x01"},
- {"crypto/ed25519", "\x0e\x1e\x11\a\n\a\x1c\x84\x01C"},
- {"crypto/elliptic", "2?\x84\x01\r9"},
+ {"context", "s\\p\x01\r"},
+ {"crypto", "\x89\x01pC"},
+ {"crypto/aes", "\x10\n\t\x99\x02"},
+ {"crypto/cipher", "\x03 \x01\x01 \x12\x1c,Z"},
+ {"crypto/des", "\x10\x15 .,\x9d\x01\x03"},
+ {"crypto/dsa", "E\x04*\x86\x01\r"},
+ {"crypto/ecdh", "\x03\v\f\x10\x04\x17\x04\x0e\x1c\x86\x01"},
+ {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x10\b\v\x06\x01\x04\r\x01\x1c\x86\x01\r\x05K\x01"},
+ {"crypto/ed25519", "\x0e\x1e\x12\a\v\a\x1c\x86\x01C"},
+ {"crypto/elliptic", "3@\x86\x01\r9"},
{"crypto/fips140", "\"\x05"},
- {"crypto/hkdf", "/\x14\x01-\x15"},
- {"crypto/hmac", "\x1a\x16\x13\x01\x111"},
- {"crypto/internal/boring", "\x0e\x02\ri"},
- {"crypto/internal/boring/bbig", "\x1a\xe8\x01M"},
- {"crypto/internal/boring/bcache", "\xbc\x02\x13"},
+ {"crypto/hkdf", "/\x15\x01.\x16"},
+ {"crypto/hmac", "\x1a\x16\x14\x01\x122"},
+ {"crypto/internal/boring", "\x0e\x02\rl"},
+ {"crypto/internal/boring/bbig", "\x1a\xec\x01M"},
+ {"crypto/internal/boring/bcache", "\xc0\x02\x13"},
{"crypto/internal/boring/sig", ""},
{"crypto/internal/constanttime", ""},
- {"crypto/internal/cryptotest", "\x03\r\n\b%\x0e\x19\x06\x12\x12 \x04\x06\t\x18\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\v"},
- {"crypto/internal/entropy", "I"},
- {"crypto/internal/entropy/v1.0.0", "B/\x93\x018\x13"},
- {"crypto/internal/fips140", "A0\xbd\x01\v\x16"},
- {"crypto/internal/fips140/aes", "\x03\x1f\x03\x02\x13\x05\x01\x01\x06*\x93\x014"},
- {"crypto/internal/fips140/aes/gcm", "\"\x01\x02\x02\x02\x11\x05\x01\a*\x90\x01"},
- {"crypto/internal/fips140/alias", "\xcf\x02"},
- {"crypto/internal/fips140/bigmod", "'\x18\x01\a*\x93\x01"},
- {"crypto/internal/fips140/check", "\"\x0e\x06\t\x02\xb4\x01Z"},
- {"crypto/internal/fips140/check/checktest", "'\x87\x02!"},
- {"crypto/internal/fips140/drbg", "\x03\x1e\x01\x01\x04\x13\x05\t\x01(\x84\x01\x0f7\x01"},
- {"crypto/internal/fips140/ecdh", "\x03\x1f\x05\x02\t\r2\x84\x01\x0f7"},
- {"crypto/internal/fips140/ecdsa", "\x03\x1f\x04\x01\x02\a\x02\x069\x15oF"},
- {"crypto/internal/fips140/ed25519", "\x03\x1f\x05\x02\x04\v9\xc7\x01\x03"},
- {"crypto/internal/fips140/edwards25519", "\x1e\t\a\x112\x93\x017"},
- {"crypto/internal/fips140/edwards25519/field", "'\x13\x052\x93\x01"},
- {"crypto/internal/fips140/hkdf", "\x03\x1f\x05\t\x06;\x15"},
- {"crypto/internal/fips140/hmac", "\x03\x1f\x14\x01\x019\x15"},
- {"crypto/internal/fips140/mlkem", "\x03\x1f\x05\x02\x0e\x03\x052\xca\x01"},
- {"crypto/internal/fips140/nistec", "\x1e\t\f\f2\x93\x01*\r\x14"},
- {"crypto/internal/fips140/nistec/fiat", "'\x137\x93\x01"},
- {"crypto/internal/fips140/pbkdf2", "\x03\x1f\x05\t\x06;\x15"},
- {"crypto/internal/fips140/rsa", "\x03\x1b\x04\x04\x01\x02\r\x01\x01\x027\x15oF"},
- {"crypto/internal/fips140/sha256", "\x03\x1f\x1d\x01\a*\x15~"},
- {"crypto/internal/fips140/sha3", "\x03\x1f\x18\x05\x011\x93\x01K"},
- {"crypto/internal/fips140/sha512", "\x03\x1f\x1d\x01\a*\x15~"},
- {"crypto/internal/fips140/ssh", "'_"},
- {"crypto/internal/fips140/subtle", "\x1e\a\x1a\xc5\x01"},
- {"crypto/internal/fips140/tls12", "\x03\x1f\x05\t\x06\x029\x15"},
- {"crypto/internal/fips140/tls13", "\x03\x1f\x05\b\a\t2\x15"},
- {"crypto/internal/fips140cache", "\xae\x02\r&"},
+ {"crypto/internal/cryptotest", "\x03\r\n\b&\x0f\x19\x06\x13\x12 \x04\x06\t\x19\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\v"},
+ {"crypto/internal/entropy", "J"},
+ {"crypto/internal/entropy/v1.0.0", "C0\x95\x018\x13"},
+ {"crypto/internal/fips140", "B1\xbf\x01\v\x16"},
+ {"crypto/internal/fips140/aes", "\x03\x1f\x03\x02\x14\x05\x01\x01\x06+\x95\x014"},
+ {"crypto/internal/fips140/aes/gcm", "\"\x01\x02\x02\x02\x12\x05\x01\a+\x92\x01"},
+ {"crypto/internal/fips140/alias", "\xd3\x02"},
+ {"crypto/internal/fips140/bigmod", "'\x19\x01\a+\x95\x01"},
+ {"crypto/internal/fips140/check", "\"\x0e\a\t\x02\xb7\x01Z"},
+ {"crypto/internal/fips140/check/checktest", "'\x8b\x02!"},
+ {"crypto/internal/fips140/drbg", "\x03\x1e\x01\x01\x04\x14\x05\t\x01)\x86\x01\x0f7\x01"},
+ {"crypto/internal/fips140/ecdh", "\x03\x1f\x05\x02\n\r3\x86\x01\x0f7"},
+ {"crypto/internal/fips140/ecdsa", "\x03\x1f\x04\x01\x02\a\x03\x06:\x16pF"},
+ {"crypto/internal/fips140/ed25519", "\x03\x1f\x05\x02\x04\f:\xc9\x01\x03"},
+ {"crypto/internal/fips140/edwards25519", "\x1e\t\a\x123\x95\x017"},
+ {"crypto/internal/fips140/edwards25519/field", "'\x14\x053\x95\x01"},
+ {"crypto/internal/fips140/hkdf", "\x03\x1f\x05\t\a<\x16"},
+ {"crypto/internal/fips140/hmac", "\x03\x1f\x15\x01\x01:\x16"},
+ {"crypto/internal/fips140/mldsa", "\x03\x1b\x04\x05\x02\x0e\x01\x03\x053\x95\x017"},
+ {"crypto/internal/fips140/mlkem", "\x03\x1f\x05\x02\x0f\x03\x053\xcc\x01"},
+ {"crypto/internal/fips140/nistec", "\x1e\t\r\f3\x95\x01*\r\x14"},
+ {"crypto/internal/fips140/nistec/fiat", "'\x148\x95\x01"},
+ {"crypto/internal/fips140/pbkdf2", "\x03\x1f\x05\t\a<\x16"},
+ {"crypto/internal/fips140/rsa", "\x03\x1b\x04\x04\x01\x02\x0e\x01\x01\x028\x16pF"},
+ {"crypto/internal/fips140/sha256", "\x03\x1f\x1e\x01\a+\x16\x7f"},
+ {"crypto/internal/fips140/sha3", "\x03\x1f\x19\x05\x012\x95\x01K"},
+ {"crypto/internal/fips140/sha512", "\x03\x1f\x1e\x01\a+\x16\x7f"},
+ {"crypto/internal/fips140/ssh", "'b"},
+ {"crypto/internal/fips140/subtle", "\x1e\a\x1b\xc8\x01"},
+ {"crypto/internal/fips140/tls12", "\x03\x1f\x05\t\a\x02:\x16"},
+ {"crypto/internal/fips140/tls13", "\x03\x1f\x05\b\b\t3\x16"},
+ {"crypto/internal/fips140cache", "\xb2\x02\r&"},
{"crypto/internal/fips140deps", ""},
- {"crypto/internal/fips140deps/byteorder", "\x9c\x01"},
- {"crypto/internal/fips140deps/cpu", "\xb1\x01\a"},
- {"crypto/internal/fips140deps/godebug", "\xb9\x01"},
- {"crypto/internal/fips140deps/time", "\xc9\x02"},
- {"crypto/internal/fips140hash", "7\x1c3\xc9\x01"},
- {"crypto/internal/fips140only", ")\r\x01\x01N3<"},
+ {"crypto/internal/fips140deps/byteorder", "\x9f\x01"},
+ {"crypto/internal/fips140deps/cpu", "\xb4\x01\a"},
+ {"crypto/internal/fips140deps/godebug", "\xbc\x01"},
+ {"crypto/internal/fips140deps/time", "\xcd\x02"},
+ {"crypto/internal/fips140hash", "8\x1d4\xca\x01"},
+ {"crypto/internal/fips140only", ")\x0e\x01\x01P3="},
{"crypto/internal/fips140test", ""},
- {"crypto/internal/hpke", "\x0e\x01\x01\x03\x056#+hM"},
- {"crypto/internal/impl", "\xb9\x02"},
- {"crypto/internal/randutil", "\xf5\x01\x12"},
- {"crypto/internal/sysrand", "qo! \r\r\x01\x01\f\x06"},
- {"crypto/internal/sysrand/internal/seccomp", "q"},
- {"crypto/md5", "\x0e6-\x15\x16h"},
- {"crypto/mlkem", "1"},
- {"crypto/pbkdf2", "4\x0f\x01-\x15"},
- {"crypto/rand", "\x1a\b\a\x1b\x04\x01(\x84\x01\rM"},
- {"crypto/rc4", "%\x1f-\xc7\x01"},
- {"crypto/rsa", "\x0e\f\x01\v\x0f\x0e\x01\x04\x06\a\x1c\x03\x123<\f\x01"},
- {"crypto/sha1", "\x0e\f*\x03*\x15\x16\x15S"},
- {"crypto/sha256", "\x0e\f\x1cP"},
- {"crypto/sha3", "\x0e)O\xc9\x01"},
- {"crypto/sha512", "\x0e\f\x1eN"},
- {"crypto/subtle", "\x1e\x1c\x9c\x01X"},
- {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\t\x01\r\n\x01\n\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x12\x16\x15\b<\x16\x16\r\b\x01\x01\x01\x02\x01\r\x06\x02\x01\x0f"},
- {"crypto/tls/internal/fips140tls", "\x17\xa5\x02"},
- {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x015\x05\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x039\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\x02\x05\b\x02\x01\x02\x0e\x02\x01\x01\x02\x03\x01"},
- {"crypto/x509/pkix", "g\x06\a\x8e\x01G"},
- {"database/sql", "\x03\nN\x16\x03\x81\x01\v\a\"\x05\b\x02\x03\x01\r\x02\x02\x02"},
- {"database/sql/driver", "\rd\x03\xb5\x01\x0f\x11"},
- {"debug/buildinfo", "\x03[\x02\x01\x01\b\a\x03e\x1a\x02\x01+\x0f\x1f"},
- {"debug/dwarf", "\x03g\a\x03\x81\x011\x11\x01\x01"},
- {"debug/elf", "\x03\x06T\r\a\x03e\x1b\x01\f \x17\x01\x16"},
- {"debug/gosym", "\x03g\n\xc3\x01\x01\x01\x02"},
- {"debug/macho", "\x03\x06T\r\ne\x1c,\x17\x01"},
- {"debug/pe", "\x03\x06T\r\a\x03e\x1c,\x17\x01\x16"},
- {"debug/plan9obj", "j\a\x03e\x1c,"},
- {"embed", "q*A\x19\x01S"},
+ {"crypto/internal/hpke", "\x03\v\x01\x01\x03\x055\x03\x04\x01\x01\x16\a\x03\x13\xcc\x01"},
+ {"crypto/internal/impl", "\xbd\x02"},
+ {"crypto/internal/randutil", "\xf9\x01\x12"},
+ {"crypto/internal/sysrand", "sq! \r\r\x01\x01\f\x06"},
+ {"crypto/internal/sysrand/internal/seccomp", "s"},
+ {"crypto/md5", "\x0e7.\x16\x16i"},
+ {"crypto/mlkem", "\x0e$"},
+ {"crypto/mlkem/mlkemtest", "2\x1b&"},
+ {"crypto/pbkdf2", "5\x0f\x01.\x16"},
+ {"crypto/rand", "\x1a\b\a\x1c\x04\x01)\x86\x01\rM"},
+ {"crypto/rc4", "% .\xc9\x01"},
+ {"crypto/rsa", "\x0e\f\x01\v\x10\x0e\x01\x04\a\a\x1c\x03\x133=\f\x01"},
+ {"crypto/sha1", "\x0e\f+\x03+\x16\x16\x15T"},
+ {"crypto/sha256", "\x0e\f\x1dR"},
+ {"crypto/sha3", "\x0e*Q\xca\x01"},
+ {"crypto/sha512", "\x0e\f\x1fP"},
+ {"crypto/subtle", "\x1e\x1d\x9f\x01X"},
+ {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\t\x01\x0e\n\x01\n\x05\x04\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x15\b=\x16\x16\r\b\x01\x01\x01\x02\x01\r\x06\x02\x01\x0f"},
+ {"crypto/tls/internal/fips140tls", "\x17\xa9\x02"},
+ {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x016\x06\x01\x01\x02\x05\x0e\x06\x02\x02\x03F\x03:\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\a\b\x02\x01\x02\x0e\x02\x01\x01\x02\x03\x01"},
+ {"crypto/x509/pkix", "i\x06\a\x90\x01G"},
+ {"database/sql", "\x03\nP\x16\x03\x83\x01\v\a\"\x05\b\x02\x03\x01\r\x02\x02\x02"},
+ {"database/sql/driver", "\rf\x03\xb7\x01\x0f\x11"},
+ {"debug/buildinfo", "\x03]\x02\x01\x01\b\a\x03g\x1a\x02\x01+\x0f\x1f"},
+ {"debug/dwarf", "\x03i\a\x03\x83\x011\x11\x01\x01"},
+ {"debug/elf", "\x03\x06V\r\a\x03g\x1b\x01\f \x17\x01\x16"},
+ {"debug/gosym", "\x03i\n\xc5\x01\x01\x01\x02"},
+ {"debug/macho", "\x03\x06V\r\ng\x1c,\x17\x01"},
+ {"debug/pe", "\x03\x06V\r\a\x03g\x1c,\x17\x01\x16"},
+ {"debug/plan9obj", "l\a\x03g\x1c,"},
+ {"embed", "s+B\x19\x01S"},
{"embed/internal/embedtest", ""},
{"encoding", ""},
- {"encoding/ascii85", "\xf5\x01C"},
- {"encoding/asn1", "\x03n\x03e(\x01'\r\x02\x01\x10\x03\x01"},
- {"encoding/base32", "\xf5\x01A\x02"},
- {"encoding/base64", "\x9c\x01YA\x02"},
- {"encoding/binary", "q\x84\x01\f(\r\x05"},
- {"encoding/csv", "\x02\x01n\x03\x81\x01D\x12\x02"},
- {"encoding/gob", "\x02c\x05\a\x03e\x1c\v\x01\x03\x1d\b\x12\x01\x0f\x02"},
- {"encoding/hex", "q\x03\x81\x01A\x03"},
- {"encoding/json", "\x03\x01a\x04\b\x03\x81\x01\f(\r\x02\x01\x02\x10\x01\x01\x02"},
- {"encoding/pem", "\x03f\b\x84\x01A\x03"},
- {"encoding/xml", "\x02\x01b\f\x03\x81\x014\x05\n\x01\x02\x10\x02"},
- {"errors", "\xcc\x01\x83\x01"},
- {"expvar", "nK@\b\v\x15\r\b\x02\x03\x01\x11"},
- {"flag", "e\f\x03\x81\x01,\b\x05\b\x02\x01\x10"},
- {"fmt", "qE&\x19\f \b\r\x02\x03\x12"},
- {"go/ast", "\x03\x01p\x0e\x01r\x03)\b\r\x02\x01\x12\x02"},
- {"go/build", "\x02\x01n\x03\x01\x02\x02\a\x02\x01\x17\x1f\x04\x02\b\x1b\x13\x01+\x01\x04\x01\a\b\x02\x01\x12\x02\x02"},
- {"go/build/constraint", "q\xc7\x01\x01\x12\x02"},
- {"go/constant", "t\x0f~\x01\x024\x01\x02\x12"},
- {"go/doc", "\x04p\x01\x05\t=51\x10\x02\x01\x12\x02"},
- {"go/doc/comment", "\x03q\xc2\x01\x01\x01\x01\x12\x02"},
- {"go/format", "\x03q\x01\v\x01\x02rD"},
- {"go/importer", "v\a\x01\x01\x04\x01q9"},
- {"go/internal/gccgoimporter", "\x02\x01[\x13\x03\x04\v\x01o\x02,\x01\x05\x11\x01\f\b"},
- {"go/internal/gcimporter", "\x02r\x0f\x010\x05\r/,\x15\x03\x02"},
- {"go/internal/srcimporter", "t\x01\x01\n\x03\x01q,\x01\x05\x12\x02\x14"},
- {"go/parser", "\x03n\x03\x01\x02\v\x01r\x01+\x06\x12"},
- {"go/printer", "t\x01\x02\x03\tr\f \x15\x02\x01\x02\v\x05\x02"},
- {"go/scanner", "\x03q\x0fr2\x10\x01\x13\x02"},
- {"go/token", "\x04p\x84\x01>\x02\x03\x01\x0f\x02"},
- {"go/types", "\x03\x01\x06g\x03\x01\x03\b\x03\x024\x062\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x0f\x02\x02"},
- {"go/version", "\xbe\x01{"},
- {"hash", "\xf5\x01"},
- {"hash/adler32", "q\x15\x16"},
- {"hash/crc32", "q\x15\x16\x15\x8a\x01\x01\x13"},
- {"hash/crc64", "q\x15\x16\x9f\x01"},
- {"hash/fnv", "q\x15\x16h"},
- {"hash/maphash", "\x86\x01\x11<|"},
- {"html", "\xb9\x02\x02\x12"},
- {"html/template", "\x03k\x06\x18-<\x01\n!\x05\x01\x02\x03\f\x01\x02\f\x01\x03\x02"},
- {"image", "\x02o\x1ef\x0f4\x03\x01"},
+ {"encoding/ascii85", "\xf9\x01C"},
+ {"encoding/asn1", "\x03p\x03g(\x01'\r\x02\x01\x10\x03\x01"},
+ {"encoding/base32", "\xf9\x01A\x02"},
+ {"encoding/base64", "\x9f\x01ZA\x02"},
+ {"encoding/binary", "s\x86\x01\f(\r\x05"},
+ {"encoding/csv", "\x02\x01p\x03\x83\x01D\x12\x02"},
+ {"encoding/gob", "\x02e\x05\a\x03g\x1c\v\x01\x03\x1d\b\x12\x01\x0f\x02"},
+ {"encoding/hex", "s\x03\x83\x01A\x03"},
+ {"encoding/json", "\x03\x01c\x04\b\x03\x83\x01\f(\r\x02\x01\x02\x10\x01\x01\x02"},
+ {"encoding/pem", "\x03h\b\x86\x01A\x03"},
+ {"encoding/xml", "\x02\x01d\f\x03\x83\x014\x05\n\x01\x02\x10\x02"},
+ {"errors", "\xcf\x01\x84\x01"},
+ {"expvar", "pLA\b\v\x15\r\b\x02\x03\x01\x11"},
+ {"flag", "g\f\x03\x83\x01,\b\x05\b\x02\x01\x10"},
+ {"fmt", "sF'\x19\f \b\r\x02\x03\x12"},
+ {"go/ast", "\x03\x01r\x0f\x01s\x03)\b\r\x02\x01\x12\x02"},
+ {"go/build", "\x02\x01p\x03\x01\x02\x02\b\x02\x01\x17\x1f\x04\x02\b\x1c\x13\x01+\x01\x04\x01\a\b\x02\x01\x12\x02\x02"},
+ {"go/build/constraint", "s\xc9\x01\x01\x12\x02"},
+ {"go/constant", "v\x10\x7f\x01\x024\x01\x02\x12"},
+ {"go/doc", "\x04r\x01\x05\n=61\x10\x02\x01\x12\x02"},
+ {"go/doc/comment", "\x03s\xc4\x01\x01\x01\x01\x12\x02"},
+ {"go/format", "\x03s\x01\f\x01\x02sD"},
+ {"go/importer", "x\a\x01\x02\x04\x01r9"},
+ {"go/internal/gccgoimporter", "\x02\x01]\x13\x03\x04\f\x01p\x02,\x01\x05\x11\x01\f\b"},
+ {"go/internal/gcimporter", "\x02t\x10\x010\x05\r0,\x15\x03\x02"},
+ {"go/internal/scannerhooks", "\x86\x01"},
+ {"go/internal/srcimporter", "v\x01\x01\v\x03\x01r,\x01\x05\x12\x02\x14"},
+ {"go/parser", "\x03p\x03\x01\x02\b\x04\x01s\x01+\x06\x12"},
+ {"go/printer", "v\x01\x02\x03\ns\f \x15\x02\x01\x02\v\x05\x02"},
+ {"go/scanner", "\x03s\v\x05s2\x10\x01\x13\x02"},
+ {"go/token", "\x04r\x86\x01>\x02\x03\x01\x0f\x02"},
+ {"go/types", "\x03\x01\x06i\x03\x01\x03\t\x03\x024\x063\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x0f\x02\x02"},
+ {"go/version", "\xc1\x01|"},
+ {"hash", "\xf9\x01"},
+ {"hash/adler32", "s\x16\x16"},
+ {"hash/crc32", "s\x16\x16\x15\x8b\x01\x01\x13"},
+ {"hash/crc64", "s\x16\x16\xa0\x01"},
+ {"hash/fnv", "s\x16\x16i"},
+ {"hash/maphash", "\x89\x01\x11<}"},
+ {"html", "\xbd\x02\x02\x12"},
+ {"html/template", "\x03m\x06\x19-=\x01\n!\x05\x01\x02\x03\f\x01\x02\f\x01\x03\x02"},
+ {"image", "\x02q\x1fg\x0f4\x03\x01"},
{"image/color", ""},
- {"image/color/palette", "\x8f\x01"},
- {"image/draw", "\x8e\x01\x01\x04"},
- {"image/gif", "\x02\x01\x05i\x03\x1a\x01\x01\x01\vY"},
- {"image/internal/imageutil", "\x8e\x01"},
- {"image/jpeg", "\x02o\x1d\x01\x04b"},
- {"image/png", "\x02\aa\n\x12\x02\x06\x01fC"},
- {"index/suffixarray", "\x03g\a\x84\x01\f+\n\x01"},
- {"internal/abi", "\xb8\x01\x97\x01"},
- {"internal/asan", "\xcf\x02"},
- {"internal/bisect", "\xae\x02\r\x01"},
- {"internal/buildcfg", "tGf\x06\x02\x05\n\x01"},
- {"internal/bytealg", "\xb1\x01\x9e\x01"},
+ {"image/color/palette", "\x92\x01"},
+ {"image/draw", "\x91\x01\x01\x04"},
+ {"image/gif", "\x02\x01\x05k\x03\x1b\x01\x01\x01\vZ\x0f"},
+ {"image/internal/imageutil", "\x91\x01"},
+ {"image/jpeg", "\x02q\x1e\x01\x04c"},
+ {"image/png", "\x02\ac\n\x13\x02\x06\x01gC"},
+ {"index/suffixarray", "\x03i\a\x86\x01\f+\n\x01"},
+ {"internal/abi", "\xbb\x01\x98\x01"},
+ {"internal/asan", "\xd3\x02"},
+ {"internal/bisect", "\xb2\x02\r\x01"},
+ {"internal/buildcfg", "vHg\x06\x02\x05\n\x01"},
+ {"internal/bytealg", "\xb4\x01\x9f\x01"},
{"internal/byteorder", ""},
{"internal/cfg", ""},
- {"internal/cgrouptest", "tZS\x06\x0f\x02\x01\x04\x01"},
- {"internal/chacha8rand", "\x9c\x01\x15\a\x97\x01"},
+ {"internal/cgrouptest", "v[T\x06\x0f\x02\x01\x04\x01"},
+ {"internal/chacha8rand", "\x9f\x01\x15\a\x98\x01"},
{"internal/copyright", ""},
{"internal/coverage", ""},
{"internal/coverage/calloc", ""},
- {"internal/coverage/cfile", "n\x06\x16\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02&,\x06\a\n\x01\x03\r\x06"},
- {"internal/coverage/cformat", "\x04p-\x04P\v6\x01\x02\r"},
- {"internal/coverage/cmerge", "t-`"},
- {"internal/coverage/decodecounter", "j\n-\v\x02G,\x17\x17"},
- {"internal/coverage/decodemeta", "\x02h\n\x16\x17\v\x02G,"},
- {"internal/coverage/encodecounter", "\x02h\n-\f\x01\x02E\v!\x15"},
- {"internal/coverage/encodemeta", "\x02\x01g\n\x12\x04\x17\r\x02E,."},
- {"internal/coverage/pods", "\x04p-\x80\x01\x06\x05\n\x02\x01"},
- {"internal/coverage/rtcov", "\xcf\x02"},
- {"internal/coverage/slicereader", "j\n\x81\x01Z"},
- {"internal/coverage/slicewriter", "t\x81\x01"},
- {"internal/coverage/stringtab", "t8\x04E"},
+ {"internal/coverage/cfile", "p\x06\x17\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02',\x06\a\n\x01\x03\r\x06"},
+ {"internal/coverage/cformat", "\x04r.\x04Q\v6\x01\x02\r"},
+ {"internal/coverage/cmerge", "v.a"},
+ {"internal/coverage/decodecounter", "l\n.\v\x02H,\x17\x17"},
+ {"internal/coverage/decodemeta", "\x02j\n\x17\x17\v\x02H,"},
+ {"internal/coverage/encodecounter", "\x02j\n.\f\x01\x02F\v!\x15"},
+ {"internal/coverage/encodemeta", "\x02\x01i\n\x13\x04\x17\r\x02F,."},
+ {"internal/coverage/pods", "\x04r.\x81\x01\x06\x05\n\x02\x01"},
+ {"internal/coverage/rtcov", "\xd3\x02"},
+ {"internal/coverage/slicereader", "l\n\x83\x01Z"},
+ {"internal/coverage/slicewriter", "v\x83\x01"},
+ {"internal/coverage/stringtab", "v9\x04F"},
{"internal/coverage/test", ""},
{"internal/coverage/uleb128", ""},
- {"internal/cpu", "\xcf\x02"},
- {"internal/dag", "\x04p\xc2\x01\x03"},
- {"internal/diff", "\x03q\xc3\x01\x02"},
- {"internal/exportdata", "\x02\x01n\x03\x02c\x1c,\x01\x05\x11\x01\x02"},
- {"internal/filepathlite", "q*A\x1a@"},
- {"internal/fmtsort", "\x04\xa5\x02\r"},
- {"internal/fuzz", "\x03\nE\x18\x04\x03\x03\x01\v\x036<\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\f\x04\x02"},
+ {"internal/cpu", "\xd3\x02"},
+ {"internal/dag", "\x04r\xc4\x01\x03"},
+ {"internal/diff", "\x03s\xc5\x01\x02"},
+ {"internal/exportdata", "\x02\x01p\x03\x02e\x1c,\x01\x05\x11\x01\x02"},
+ {"internal/filepathlite", "s+B\x1a@"},
+ {"internal/fmtsort", "\x04\xa9\x02\r"},
+ {"internal/fuzz", "\x03\nG\x18\x04\x03\x03\x01\f\x036=\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\f\x04\x02"},
{"internal/goarch", ""},
- {"internal/godebug", "\x99\x01!\x81\x01\x01\x13"},
+ {"internal/godebug", "\x9c\x01!\x82\x01\x01\x13"},
{"internal/godebugs", ""},
{"internal/goexperiment", ""},
{"internal/goos", ""},
- {"internal/goroot", "\xa1\x02\x01\x05\x12\x02"},
+ {"internal/goroot", "\xa5\x02\x01\x05\x12\x02"},
{"internal/gover", "\x04"},
{"internal/goversion", ""},
- {"internal/lazyregexp", "\xa1\x02\v\r\x02"},
- {"internal/lazytemplate", "\xf5\x01,\x18\x02\f"},
- {"internal/msan", "\xcf\x02"},
+ {"internal/lazyregexp", "\xa5\x02\v\r\x02"},
+ {"internal/lazytemplate", "\xf9\x01,\x18\x02\f"},
+ {"internal/msan", "\xd3\x02"},
{"internal/nettrace", ""},
- {"internal/obscuretestdata", "i\x8c\x01,"},
- {"internal/oserror", "q"},
- {"internal/pkgbits", "\x03O\x18\a\x03\x04\vr\r\x1f\r\n\x01"},
+ {"internal/obscuretestdata", "k\x8e\x01,"},
+ {"internal/oserror", "s"},
+ {"internal/pkgbits", "\x03Q\x18\a\x03\x04\fs\r\x1f\r\n\x01"},
{"internal/platform", ""},
- {"internal/poll", "qj\x05\x159\r\x01\x01\f\x06"},
- {"internal/profile", "\x03\x04j\x03\x81\x017\n\x01\x01\x01\x10"},
+ {"internal/poll", "sl\x05\x159\r\x01\x01\f\x06"},
+ {"internal/profile", "\x03\x04l\x03\x83\x017\n\x01\x01\x01\x10"},
{"internal/profilerecord", ""},
- {"internal/race", "\x97\x01\xb8\x01"},
- {"internal/reflectlite", "\x97\x01!:\x16"},
- {"vendor/golang.org/x/text/unicode/norm", "j\n\x81\x01F\x12\x11"},
- {"weak", "\x97\x01\x97\x01!"},
+ {"vendor/golang.org/x/crypto/internal/alias", "\xd3\x02"},
+ {"vendor/golang.org/x/crypto/internal/poly1305", "W\x15\x9c\x01"},
+ {"vendor/golang.org/x/net/dns/dnsmessage", "s\xc7\x01"},
+ {"vendor/golang.org/x/net/http/httpguts", "\x8f\x02\x14\x1a\x14\r"},
+ {"vendor/golang.org/x/net/http/httpproxy", "s\x03\x99\x01\x10\x05\x01\x18\x14\r"},
+ {"vendor/golang.org/x/net/http2/hpack", "\x03p\x03\x83\x01F"},
+ {"vendor/golang.org/x/net/idna", "v\x8f\x018\x14\x10\x02\x01"},
+ {"vendor/golang.org/x/net/nettest", "\x03i\a\x03\x83\x01\x11\x05\x16\x01\f\n\x01\x02\x02\x01\v"},
+ {"vendor/golang.org/x/sys/cpu", "\xa5\x02\r\n\x01\x16"},
+ {"vendor/golang.org/x/text/secure/bidirule", "s\xde\x01\x11\x01"},
+ {"vendor/golang.org/x/text/transform", "\x03p\x86\x01X"},
+ {"vendor/golang.org/x/text/unicode/bidi", "\x03\bk\x87\x01>\x16"},
+ {"vendor/golang.org/x/text/unicode/norm", "l\n\x83\x01F\x12\x11"},
+ {"weak", "\x9a\x01\x98\x01!"},
}
// bootstrap is the list of bootstrap packages extracted from cmd/dist.
@@ -385,6 +389,7 @@ var bootstrap = map[string]bool{
"cmd/compile/internal/arm64": true,
"cmd/compile/internal/base": true,
"cmd/compile/internal/bitvec": true,
+ "cmd/compile/internal/bloop": true,
"cmd/compile/internal/compare": true,
"cmd/compile/internal/coverage": true,
"cmd/compile/internal/deadlocals": true,
@@ -413,6 +418,7 @@ var bootstrap = map[string]bool{
"cmd/compile/internal/riscv64": true,
"cmd/compile/internal/rttype": true,
"cmd/compile/internal/s390x": true,
+ "cmd/compile/internal/slice": true,
"cmd/compile/internal/ssa": true,
"cmd/compile/internal/ssagen": true,
"cmd/compile/internal/staticdata": true,
diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
index 362f23c43..f1e24625a 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/manifest.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
@@ -16,6 +16,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).Flush", Method, 0, ""},
{"(*Writer).Write", Method, 0, ""},
{"(*Writer).WriteHeader", Method, 0, ""},
+ {"(FileInfoNames).Gname", Method, 23, ""},
+ {"(FileInfoNames).IsDir", Method, 23, ""},
+ {"(FileInfoNames).ModTime", Method, 23, ""},
+ {"(FileInfoNames).Mode", Method, 23, ""},
+ {"(FileInfoNames).Name", Method, 23, ""},
+ {"(FileInfoNames).Size", Method, 23, ""},
+ {"(FileInfoNames).Sys", Method, 23, ""},
+ {"(FileInfoNames).Uname", Method, 23, ""},
{"(Format).String", Method, 10, ""},
{"ErrFieldTooLong", Var, 0, ""},
{"ErrHeader", Var, 0, ""},
@@ -338,6 +346,9 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).Write", Method, 0, ""},
{"(CorruptInputError).Error", Method, 0, ""},
{"(InternalError).Error", Method, 0, ""},
+ {"(Reader).Read", Method, 0, ""},
+ {"(Reader).ReadByte", Method, 0, ""},
+ {"(Resetter).Reset", Method, 4, ""},
{"BestCompression", Const, 0, ""},
{"BestSpeed", Const, 0, ""},
{"CorruptInputError", Type, 0, ""},
@@ -409,6 +420,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).Flush", Method, 0, ""},
{"(*Writer).Reset", Method, 2, ""},
{"(*Writer).Write", Method, 0, ""},
+ {"(Resetter).Reset", Method, 4, ""},
{"BestCompression", Const, 0, ""},
{"BestSpeed", Const, 0, ""},
{"DefaultCompression", Const, 0, ""},
@@ -426,6 +438,11 @@ var PackageSymbols = map[string][]Symbol{
{"Writer", Type, 0, ""},
},
"container/heap": {
+ {"(Interface).Len", Method, 0, ""},
+ {"(Interface).Less", Method, 0, ""},
+ {"(Interface).Pop", Method, 0, ""},
+ {"(Interface).Push", Method, 0, ""},
+ {"(Interface).Swap", Method, 0, ""},
{"Fix", Func, 2, "func(h Interface, i int)"},
{"Init", Func, 0, "func(h Interface)"},
{"Interface", Type, 0, ""},
@@ -469,6 +486,10 @@ var PackageSymbols = map[string][]Symbol{
{"Ring.Value", Field, 0, ""},
},
"context": {
+ {"(Context).Deadline", Method, 7, ""},
+ {"(Context).Done", Method, 7, ""},
+ {"(Context).Err", Method, 7, ""},
+ {"(Context).Value", Method, 7, ""},
{"AfterFunc", Func, 21, "func(ctx Context, f func()) (stop func() bool)"},
{"Background", Func, 7, "func() Context"},
{"CancelCauseFunc", Type, 20, ""},
@@ -488,17 +509,31 @@ var PackageSymbols = map[string][]Symbol{
{"WithoutCancel", Func, 21, "func(parent Context) Context"},
},
"crypto": {
+ {"(Decapsulator).Decapsulate", Method, 26, ""},
+ {"(Decapsulator).Encapsulator", Method, 26, ""},
+ {"(Decrypter).Decrypt", Method, 5, ""},
+ {"(Decrypter).Public", Method, 5, ""},
+ {"(Encapsulator).Bytes", Method, 26, ""},
+ {"(Encapsulator).Encapsulate", Method, 26, ""},
{"(Hash).Available", Method, 0, ""},
{"(Hash).HashFunc", Method, 4, ""},
{"(Hash).New", Method, 0, ""},
{"(Hash).Size", Method, 0, ""},
{"(Hash).String", Method, 15, ""},
+ {"(MessageSigner).Public", Method, 25, ""},
+ {"(MessageSigner).Sign", Method, 25, ""},
+ {"(MessageSigner).SignMessage", Method, 25, ""},
+ {"(Signer).Public", Method, 4, ""},
+ {"(Signer).Sign", Method, 4, ""},
+ {"(SignerOpts).HashFunc", Method, 4, ""},
{"BLAKE2b_256", Const, 9, ""},
{"BLAKE2b_384", Const, 9, ""},
{"BLAKE2b_512", Const, 9, ""},
{"BLAKE2s_256", Const, 9, ""},
+ {"Decapsulator", Type, 26, ""},
{"Decrypter", Type, 5, ""},
{"DecrypterOpts", Type, 5, ""},
+ {"Encapsulator", Type, 26, ""},
{"Hash", Type, 0, ""},
{"MD4", Const, 0, ""},
{"MD5", Const, 0, ""},
@@ -530,6 +565,16 @@ var PackageSymbols = map[string][]Symbol{
{"NewCipher", Func, 0, "func(key []byte) (cipher.Block, error)"},
},
"crypto/cipher": {
+ {"(AEAD).NonceSize", Method, 2, ""},
+ {"(AEAD).Open", Method, 2, ""},
+ {"(AEAD).Overhead", Method, 2, ""},
+ {"(AEAD).Seal", Method, 2, ""},
+ {"(Block).BlockSize", Method, 0, ""},
+ {"(Block).Decrypt", Method, 0, ""},
+ {"(Block).Encrypt", Method, 0, ""},
+ {"(BlockMode).BlockSize", Method, 0, ""},
+ {"(BlockMode).CryptBlocks", Method, 0, ""},
+ {"(Stream).XORKeyStream", Method, 0, ""},
{"(StreamReader).Read", Method, 0, ""},
{"(StreamWriter).Close", Method, 0, ""},
{"(StreamWriter).Write", Method, 0, ""},
@@ -594,7 +639,13 @@ var PackageSymbols = map[string][]Symbol{
{"(*PublicKey).Bytes", Method, 20, ""},
{"(*PublicKey).Curve", Method, 20, ""},
{"(*PublicKey).Equal", Method, 20, ""},
- {"Curve", Type, 20, ""},
+ {"(Curve).GenerateKey", Method, 20, ""},
+ {"(Curve).NewPrivateKey", Method, 20, ""},
+ {"(Curve).NewPublicKey", Method, 20, ""},
+ {"(KeyExchanger).Curve", Method, 26, ""},
+ {"(KeyExchanger).ECDH", Method, 26, ""},
+ {"(KeyExchanger).PublicKey", Method, 26, ""},
+ {"KeyExchanger", Type, 26, ""},
{"P256", Func, 20, "func() Curve"},
{"P384", Func, 20, "func() Curve"},
{"P521", Func, 20, "func() Curve"},
@@ -667,6 +718,12 @@ var PackageSymbols = map[string][]Symbol{
{"(*CurveParams).Params", Method, 0, ""},
{"(*CurveParams).ScalarBaseMult", Method, 0, ""},
{"(*CurveParams).ScalarMult", Method, 0, ""},
+ {"(Curve).Add", Method, 0, ""},
+ {"(Curve).Double", Method, 0, ""},
+ {"(Curve).IsOnCurve", Method, 0, ""},
+ {"(Curve).Params", Method, 0, ""},
+ {"(Curve).ScalarBaseMult", Method, 0, ""},
+ {"(Curve).ScalarMult", Method, 0, ""},
{"Curve", Type, 0, ""},
{"CurveParams", Type, 0, ""},
{"CurveParams.B", Field, 0, ""},
@@ -688,6 +745,7 @@ var PackageSymbols = map[string][]Symbol{
},
"crypto/fips140": {
{"Enabled", Func, 24, "func() bool"},
+ {"Version", Func, 26, "func() string"},
},
"crypto/hkdf": {
{"Expand", Func, 24, "func[H hash.Hash](h func() H, pseudorandomKey []byte, info string, keyLength int) ([]byte, error)"},
@@ -708,9 +766,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*DecapsulationKey1024).Bytes", Method, 24, ""},
{"(*DecapsulationKey1024).Decapsulate", Method, 24, ""},
{"(*DecapsulationKey1024).EncapsulationKey", Method, 24, ""},
+ {"(*DecapsulationKey1024).Encapsulator", Method, 26, ""},
{"(*DecapsulationKey768).Bytes", Method, 24, ""},
{"(*DecapsulationKey768).Decapsulate", Method, 24, ""},
{"(*DecapsulationKey768).EncapsulationKey", Method, 24, ""},
+ {"(*DecapsulationKey768).Encapsulator", Method, 26, ""},
{"(*EncapsulationKey1024).Bytes", Method, 24, ""},
{"(*EncapsulationKey1024).Encapsulate", Method, 24, ""},
{"(*EncapsulationKey768).Bytes", Method, 24, ""},
@@ -732,6 +792,10 @@ var PackageSymbols = map[string][]Symbol{
{"SeedSize", Const, 24, ""},
{"SharedKeySize", Const, 24, ""},
},
+ "crypto/mlkem/mlkemtest": {
+ {"Encapsulate1024", Func, 26, "func(ek *mlkem.EncapsulationKey1024, random []byte) (sharedKey []byte, ciphertext []byte, err error)"},
+ {"Encapsulate768", Func, 26, "func(ek *mlkem.EncapsulationKey768, random []byte) (sharedKey []byte, ciphertext []byte, err error)"},
+ },
"crypto/pbkdf2": {
{"Key", Func, 24, "func[Hash hash.Hash](h func() Hash, password string, salt []byte, iter int, keyLength int) ([]byte, error)"},
},
@@ -769,6 +833,7 @@ var PackageSymbols = map[string][]Symbol{
{"DecryptPKCS1v15", Func, 0, "func(random io.Reader, priv *PrivateKey, ciphertext []byte) ([]byte, error)"},
{"DecryptPKCS1v15SessionKey", Func, 0, "func(random io.Reader, priv *PrivateKey, ciphertext []byte, key []byte) error"},
{"EncryptOAEP", Func, 0, "func(hash hash.Hash, random io.Reader, pub *PublicKey, msg []byte, label []byte) ([]byte, error)"},
+ {"EncryptOAEPWithOptions", Func, 26, "func(random io.Reader, pub *PublicKey, msg []byte, opts *OAEPOptions) ([]byte, error)"},
{"EncryptPKCS1v15", Func, 0, "func(random io.Reader, pub *PublicKey, msg []byte) ([]byte, error)"},
{"ErrDecryption", Var, 0, ""},
{"ErrMessageTooLong", Var, 0, ""},
@@ -921,6 +986,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*SessionState).Bytes", Method, 21, ""},
{"(AlertError).Error", Method, 21, ""},
{"(ClientAuthType).String", Method, 15, ""},
+ {"(ClientSessionCache).Get", Method, 3, ""},
+ {"(ClientSessionCache).Put", Method, 3, ""},
{"(CurveID).String", Method, 15, ""},
{"(QUICEncryptionLevel).String", Method, 21, ""},
{"(RecordHeaderError).Error", Method, 6, ""},
@@ -953,6 +1020,7 @@ var PackageSymbols = map[string][]Symbol{
{"ClientHelloInfo.CipherSuites", Field, 4, ""},
{"ClientHelloInfo.Conn", Field, 8, ""},
{"ClientHelloInfo.Extensions", Field, 24, ""},
+ {"ClientHelloInfo.HelloRetryRequest", Field, 26, ""},
{"ClientHelloInfo.ServerName", Field, 4, ""},
{"ClientHelloInfo.SignatureSchemes", Field, 8, ""},
{"ClientHelloInfo.SupportedCurves", Field, 4, ""},
@@ -1001,6 +1069,7 @@ var PackageSymbols = map[string][]Symbol{
{"ConnectionState.DidResume", Field, 1, ""},
{"ConnectionState.ECHAccepted", Field, 23, ""},
{"ConnectionState.HandshakeComplete", Field, 0, ""},
+ {"ConnectionState.HelloRetryRequest", Field, 26, ""},
{"ConnectionState.NegotiatedProtocol", Field, 0, ""},
{"ConnectionState.NegotiatedProtocolIsMutual", Field, 0, ""},
{"ConnectionState.OCSPResponse", Field, 5, ""},
@@ -1055,8 +1124,10 @@ var PackageSymbols = map[string][]Symbol{
{"QUICEncryptionLevelEarly", Const, 21, ""},
{"QUICEncryptionLevelHandshake", Const, 21, ""},
{"QUICEncryptionLevelInitial", Const, 21, ""},
+ {"QUICErrorEvent", Const, 26, ""},
{"QUICEvent", Type, 21, ""},
{"QUICEvent.Data", Field, 21, ""},
+ {"QUICEvent.Err", Field, 26, ""},
{"QUICEvent.Kind", Field, 21, ""},
{"QUICEvent.Level", Field, 21, ""},
{"QUICEvent.SessionState", Field, 23, ""},
@@ -1151,8 +1222,10 @@ var PackageSymbols = map[string][]Symbol{
{"(*RevocationList).CheckSignatureFrom", Method, 19, ""},
{"(CertificateInvalidError).Error", Method, 0, ""},
{"(ConstraintViolationError).Error", Method, 0, ""},
+ {"(ExtKeyUsage).String", Method, 26, ""},
{"(HostnameError).Error", Method, 0, ""},
{"(InsecureAlgorithmError).Error", Method, 6, ""},
+ {"(KeyUsage).String", Method, 26, ""},
{"(OID).AppendBinary", Method, 24, ""},
{"(OID).AppendText", Method, 24, ""},
{"(OID).Equal", Method, 22, ""},
@@ -1516,6 +1589,9 @@ var PackageSymbols = map[string][]Symbol{
{"(NullInt64).Value", Method, 0, ""},
{"(NullString).Value", Method, 0, ""},
{"(NullTime).Value", Method, 13, ""},
+ {"(Result).LastInsertId", Method, 0, ""},
+ {"(Result).RowsAffected", Method, 0, ""},
+ {"(Scanner).Scan", Method, 0, ""},
{"ColumnType", Type, 8, ""},
{"Conn", Type, 9, ""},
{"DB", Type, 0, ""},
@@ -1547,8 +1623,6 @@ var PackageSymbols = map[string][]Symbol{
{"NamedArg.Name", Field, 8, ""},
{"NamedArg.Value", Field, 8, ""},
{"Null", Type, 22, ""},
- {"Null.V", Field, 22, ""},
- {"Null.Valid", Field, 22, ""},
{"NullBool", Type, 0, ""},
{"NullBool.Bool", Field, 0, ""},
{"NullBool.Valid", Field, 0, ""},
@@ -1591,10 +1665,72 @@ var PackageSymbols = map[string][]Symbol{
{"TxOptions.ReadOnly", Field, 8, ""},
},
"database/sql/driver": {
+ {"(ColumnConverter).ColumnConverter", Method, 0, ""},
+ {"(Conn).Begin", Method, 0, ""},
+ {"(Conn).Close", Method, 0, ""},
+ {"(Conn).Prepare", Method, 0, ""},
+ {"(ConnBeginTx).BeginTx", Method, 8, ""},
+ {"(ConnPrepareContext).PrepareContext", Method, 8, ""},
+ {"(Connector).Connect", Method, 10, ""},
+ {"(Connector).Driver", Method, 10, ""},
+ {"(Driver).Open", Method, 0, ""},
+ {"(DriverContext).OpenConnector", Method, 10, ""},
+ {"(Execer).Exec", Method, 0, ""},
+ {"(ExecerContext).ExecContext", Method, 8, ""},
+ {"(NamedValueChecker).CheckNamedValue", Method, 9, ""},
{"(NotNull).ConvertValue", Method, 0, ""},
{"(Null).ConvertValue", Method, 0, ""},
+ {"(Pinger).Ping", Method, 8, ""},
+ {"(Queryer).Query", Method, 1, ""},
+ {"(QueryerContext).QueryContext", Method, 8, ""},
+ {"(Result).LastInsertId", Method, 0, ""},
+ {"(Result).RowsAffected", Method, 0, ""},
+ {"(Rows).Close", Method, 0, ""},
+ {"(Rows).Columns", Method, 0, ""},
+ {"(Rows).Next", Method, 0, ""},
{"(RowsAffected).LastInsertId", Method, 0, ""},
{"(RowsAffected).RowsAffected", Method, 0, ""},
+ {"(RowsColumnScanner).Close", Method, 26, ""},
+ {"(RowsColumnScanner).Columns", Method, 26, ""},
+ {"(RowsColumnScanner).Next", Method, 26, ""},
+ {"(RowsColumnScanner).ScanColumn", Method, 26, ""},
+ {"(RowsColumnTypeDatabaseTypeName).Close", Method, 8, ""},
+ {"(RowsColumnTypeDatabaseTypeName).ColumnTypeDatabaseTypeName", Method, 8, ""},
+ {"(RowsColumnTypeDatabaseTypeName).Columns", Method, 8, ""},
+ {"(RowsColumnTypeDatabaseTypeName).Next", Method, 8, ""},
+ {"(RowsColumnTypeLength).Close", Method, 8, ""},
+ {"(RowsColumnTypeLength).ColumnTypeLength", Method, 8, ""},
+ {"(RowsColumnTypeLength).Columns", Method, 8, ""},
+ {"(RowsColumnTypeLength).Next", Method, 8, ""},
+ {"(RowsColumnTypeNullable).Close", Method, 8, ""},
+ {"(RowsColumnTypeNullable).ColumnTypeNullable", Method, 8, ""},
+ {"(RowsColumnTypeNullable).Columns", Method, 8, ""},
+ {"(RowsColumnTypeNullable).Next", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).Close", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).ColumnTypePrecisionScale", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).Columns", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).Next", Method, 8, ""},
+ {"(RowsColumnTypeScanType).Close", Method, 8, ""},
+ {"(RowsColumnTypeScanType).ColumnTypeScanType", Method, 8, ""},
+ {"(RowsColumnTypeScanType).Columns", Method, 8, ""},
+ {"(RowsColumnTypeScanType).Next", Method, 8, ""},
+ {"(RowsNextResultSet).Close", Method, 8, ""},
+ {"(RowsNextResultSet).Columns", Method, 8, ""},
+ {"(RowsNextResultSet).HasNextResultSet", Method, 8, ""},
+ {"(RowsNextResultSet).Next", Method, 8, ""},
+ {"(RowsNextResultSet).NextResultSet", Method, 8, ""},
+ {"(SessionResetter).ResetSession", Method, 10, ""},
+ {"(Stmt).Close", Method, 0, ""},
+ {"(Stmt).Exec", Method, 0, ""},
+ {"(Stmt).NumInput", Method, 0, ""},
+ {"(Stmt).Query", Method, 0, ""},
+ {"(StmtExecContext).ExecContext", Method, 8, ""},
+ {"(StmtQueryContext).QueryContext", Method, 8, ""},
+ {"(Tx).Commit", Method, 0, ""},
+ {"(Tx).Rollback", Method, 0, ""},
+ {"(Validator).IsValid", Method, 15, ""},
+ {"(ValueConverter).ConvertValue", Method, 0, ""},
+ {"(Valuer).Value", Method, 0, ""},
{"Bool", Var, 0, ""},
{"ColumnConverter", Type, 0, ""},
{"Conn", Type, 0, ""},
@@ -1756,6 +1892,9 @@ var PackageSymbols = map[string][]Symbol{
{"(DecodeError).Error", Method, 0, ""},
{"(Tag).GoString", Method, 0, ""},
{"(Tag).String", Method, 0, ""},
+ {"(Type).Common", Method, 0, ""},
+ {"(Type).Size", Method, 0, ""},
+ {"(Type).String", Method, 0, ""},
{"AddrType", Type, 0, ""},
{"AddrType.BasicType", Field, 0, ""},
{"ArrayType", Type, 0, ""},
@@ -3163,6 +3302,7 @@ var PackageSymbols = map[string][]Symbol{
{"R_LARCH_B16", Const, 20, ""},
{"R_LARCH_B21", Const, 20, ""},
{"R_LARCH_B26", Const, 20, ""},
+ {"R_LARCH_CALL36", Const, 26, ""},
{"R_LARCH_CFA", Const, 22, ""},
{"R_LARCH_COPY", Const, 19, ""},
{"R_LARCH_DELETE", Const, 22, ""},
@@ -3220,11 +3360,25 @@ var PackageSymbols = map[string][]Symbol{
{"R_LARCH_SUB64", Const, 19, ""},
{"R_LARCH_SUB8", Const, 19, ""},
{"R_LARCH_SUB_ULEB128", Const, 22, ""},
+ {"R_LARCH_TLS_DESC32", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_HI12", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_LO20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_PC_HI12", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_PC_LO20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_CALL", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_HI20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_LD", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_LO12", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_PCREL20_S2", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_PC_HI20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_PC_LO12", Const, 26, ""},
{"R_LARCH_TLS_DTPMOD32", Const, 19, ""},
{"R_LARCH_TLS_DTPMOD64", Const, 19, ""},
{"R_LARCH_TLS_DTPREL32", Const, 19, ""},
{"R_LARCH_TLS_DTPREL64", Const, 19, ""},
{"R_LARCH_TLS_GD_HI20", Const, 20, ""},
+ {"R_LARCH_TLS_GD_PCREL20_S2", Const, 26, ""},
{"R_LARCH_TLS_GD_PC_HI20", Const, 20, ""},
{"R_LARCH_TLS_IE64_HI12", Const, 20, ""},
{"R_LARCH_TLS_IE64_LO20", Const, 20, ""},
@@ -3235,11 +3389,15 @@ var PackageSymbols = map[string][]Symbol{
{"R_LARCH_TLS_IE_PC_HI20", Const, 20, ""},
{"R_LARCH_TLS_IE_PC_LO12", Const, 20, ""},
{"R_LARCH_TLS_LD_HI20", Const, 20, ""},
+ {"R_LARCH_TLS_LD_PCREL20_S2", Const, 26, ""},
{"R_LARCH_TLS_LD_PC_HI20", Const, 20, ""},
{"R_LARCH_TLS_LE64_HI12", Const, 20, ""},
{"R_LARCH_TLS_LE64_LO20", Const, 20, ""},
+ {"R_LARCH_TLS_LE_ADD_R", Const, 26, ""},
{"R_LARCH_TLS_LE_HI20", Const, 20, ""},
+ {"R_LARCH_TLS_LE_HI20_R", Const, 26, ""},
{"R_LARCH_TLS_LE_LO12", Const, 20, ""},
+ {"R_LARCH_TLS_LE_LO12_R", Const, 26, ""},
{"R_LARCH_TLS_TPREL32", Const, 19, ""},
{"R_LARCH_TLS_TPREL64", Const, 19, ""},
{"R_MIPS", Type, 6, ""},
@@ -3944,6 +4102,7 @@ var PackageSymbols = map[string][]Symbol{
{"(FatArch).ImportedSymbols", Method, 3, ""},
{"(FatArch).Section", Method, 3, ""},
{"(FatArch).Segment", Method, 3, ""},
+ {"(Load).Raw", Method, 0, ""},
{"(LoadBytes).Raw", Method, 0, ""},
{"(LoadCmd).GoString", Method, 0, ""},
{"(LoadCmd).String", Method, 0, ""},
@@ -4590,6 +4749,12 @@ var PackageSymbols = map[string][]Symbol{
{"FS", Type, 16, ""},
},
"encoding": {
+ {"(BinaryAppender).AppendBinary", Method, 24, ""},
+ {"(BinaryMarshaler).MarshalBinary", Method, 2, ""},
+ {"(BinaryUnmarshaler).UnmarshalBinary", Method, 2, ""},
+ {"(TextAppender).AppendText", Method, 24, ""},
+ {"(TextMarshaler).MarshalText", Method, 2, ""},
+ {"(TextUnmarshaler).UnmarshalText", Method, 2, ""},
{"BinaryAppender", Type, 24, ""},
{"BinaryMarshaler", Type, 2, ""},
{"BinaryUnmarshaler", Type, 2, ""},
@@ -4705,6 +4870,17 @@ var PackageSymbols = map[string][]Symbol{
{"URLEncoding", Var, 0, ""},
},
"encoding/binary": {
+ {"(AppendByteOrder).AppendUint16", Method, 19, ""},
+ {"(AppendByteOrder).AppendUint32", Method, 19, ""},
+ {"(AppendByteOrder).AppendUint64", Method, 19, ""},
+ {"(AppendByteOrder).String", Method, 19, ""},
+ {"(ByteOrder).PutUint16", Method, 0, ""},
+ {"(ByteOrder).PutUint32", Method, 0, ""},
+ {"(ByteOrder).PutUint64", Method, 0, ""},
+ {"(ByteOrder).String", Method, 0, ""},
+ {"(ByteOrder).Uint16", Method, 0, ""},
+ {"(ByteOrder).Uint32", Method, 0, ""},
+ {"(ByteOrder).Uint64", Method, 0, ""},
{"Append", Func, 23, "func(buf []byte, order ByteOrder, data any) ([]byte, error)"},
{"AppendByteOrder", Type, 19, ""},
{"AppendUvarint", Func, 19, "func(buf []byte, x uint64) []byte"},
@@ -4767,6 +4943,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*Decoder).DecodeValue", Method, 0, ""},
{"(*Encoder).Encode", Method, 0, ""},
{"(*Encoder).EncodeValue", Method, 0, ""},
+ {"(GobDecoder).GobDecode", Method, 0, ""},
+ {"(GobEncoder).GobEncode", Method, 0, ""},
{"CommonType", Type, 0, ""},
{"CommonType.Id", Field, 0, ""},
{"CommonType.Name", Field, 0, ""},
@@ -4819,10 +4997,12 @@ var PackageSymbols = map[string][]Symbol{
{"(*UnsupportedTypeError).Error", Method, 0, ""},
{"(*UnsupportedValueError).Error", Method, 0, ""},
{"(Delim).String", Method, 5, ""},
+ {"(Marshaler).MarshalJSON", Method, 0, ""},
{"(Number).Float64", Method, 1, ""},
{"(Number).Int64", Method, 1, ""},
{"(Number).String", Method, 1, ""},
{"(RawMessage).MarshalJSON", Method, 8, ""},
+ {"(Unmarshaler).UnmarshalJSON", Method, 0, ""},
{"Compact", Func, 0, "func(dst *bytes.Buffer, src []byte) error"},
{"Decoder", Type, 0, ""},
{"Delim", Type, 5, ""},
@@ -4894,10 +5074,15 @@ var PackageSymbols = map[string][]Symbol{
{"(CharData).Copy", Method, 0, ""},
{"(Comment).Copy", Method, 0, ""},
{"(Directive).Copy", Method, 0, ""},
+ {"(Marshaler).MarshalXML", Method, 2, ""},
+ {"(MarshalerAttr).MarshalXMLAttr", Method, 2, ""},
{"(ProcInst).Copy", Method, 0, ""},
{"(StartElement).Copy", Method, 0, ""},
{"(StartElement).End", Method, 2, ""},
+ {"(TokenReader).Token", Method, 10, ""},
{"(UnmarshalError).Error", Method, 0, ""},
+ {"(Unmarshaler).UnmarshalXML", Method, 2, ""},
+ {"(UnmarshalerAttr).UnmarshalXMLAttr", Method, 2, ""},
{"Attr", Type, 0, ""},
{"Attr.Name", Field, 0, ""},
{"Attr.Value", Field, 0, ""},
@@ -4984,6 +5169,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*String).Value", Method, 8, ""},
{"(Func).String", Method, 0, ""},
{"(Func).Value", Method, 8, ""},
+ {"(Var).String", Method, 0, ""},
{"Do", Func, 0, "func(f func(KeyValue))"},
{"Float", Type, 0, ""},
{"Func", Type, 0, ""},
@@ -5039,6 +5225,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*FlagSet).Var", Method, 0, ""},
{"(*FlagSet).Visit", Method, 0, ""},
{"(*FlagSet).VisitAll", Method, 0, ""},
+ {"(Getter).Get", Method, 2, ""},
+ {"(Getter).Set", Method, 2, ""},
+ {"(Getter).String", Method, 2, ""},
+ {"(Value).Set", Method, 0, ""},
+ {"(Value).String", Method, 0, ""},
{"Arg", Func, 0, "func(i int) string"},
{"Args", Func, 0, "func() []string"},
{"Bool", Func, 0, "func(name string, value bool, usage string) *bool"},
@@ -5090,6 +5281,20 @@ var PackageSymbols = map[string][]Symbol{
{"VisitAll", Func, 0, "func(fn func(*Flag))"},
},
"fmt": {
+ {"(Formatter).Format", Method, 0, ""},
+ {"(GoStringer).GoString", Method, 0, ""},
+ {"(ScanState).Read", Method, 0, ""},
+ {"(ScanState).ReadRune", Method, 0, ""},
+ {"(ScanState).SkipSpace", Method, 0, ""},
+ {"(ScanState).Token", Method, 0, ""},
+ {"(ScanState).UnreadRune", Method, 0, ""},
+ {"(ScanState).Width", Method, 0, ""},
+ {"(Scanner).Scan", Method, 0, ""},
+ {"(State).Flag", Method, 0, ""},
+ {"(State).Precision", Method, 0, ""},
+ {"(State).Width", Method, 0, ""},
+ {"(State).Write", Method, 0, ""},
+ {"(Stringer).String", Method, 0, ""},
{"Append", Func, 19, "func(b []byte, a ...any) []byte"},
{"Appendf", Func, 19, "func(b []byte, format string, a ...any) []byte"},
{"Appendln", Func, 19, "func(b []byte, a ...any) []byte"},
@@ -5248,7 +5453,18 @@ var PackageSymbols = map[string][]Symbol{
{"(CommentMap).Filter", Method, 1, ""},
{"(CommentMap).String", Method, 1, ""},
{"(CommentMap).Update", Method, 1, ""},
+ {"(Decl).End", Method, 0, ""},
+ {"(Decl).Pos", Method, 0, ""},
+ {"(Expr).End", Method, 0, ""},
+ {"(Expr).Pos", Method, 0, ""},
+ {"(Node).End", Method, 0, ""},
+ {"(Node).Pos", Method, 0, ""},
{"(ObjKind).String", Method, 0, ""},
+ {"(Spec).End", Method, 0, ""},
+ {"(Spec).Pos", Method, 0, ""},
+ {"(Stmt).End", Method, 0, ""},
+ {"(Stmt).Pos", Method, 0, ""},
+ {"(Visitor).Visit", Method, 0, ""},
{"ArrayType", Type, 0, ""},
{"ArrayType.Elt", Field, 0, ""},
{"ArrayType.Lbrack", Field, 0, ""},
@@ -5271,6 +5487,7 @@ var PackageSymbols = map[string][]Symbol{
{"BasicLit", Type, 0, ""},
{"BasicLit.Kind", Field, 0, ""},
{"BasicLit.Value", Field, 0, ""},
+ {"BasicLit.ValueEnd", Field, 26, ""},
{"BasicLit.ValuePos", Field, 0, ""},
{"BinaryExpr", Type, 0, ""},
{"BinaryExpr.Op", Field, 0, ""},
@@ -5320,7 +5537,6 @@ var PackageSymbols = map[string][]Symbol{
{"CompositeLit.Rbrace", Field, 0, ""},
{"CompositeLit.Type", Field, 0, ""},
{"Con", Const, 0, ""},
- {"Decl", Type, 0, ""},
{"DeclStmt", Type, 0, ""},
{"DeclStmt.Decl", Field, 0, ""},
{"DeferStmt", Type, 0, ""},
@@ -5341,7 +5557,6 @@ var PackageSymbols = map[string][]Symbol{
{"EmptyStmt", Type, 0, ""},
{"EmptyStmt.Implicit", Field, 5, ""},
{"EmptyStmt.Semicolon", Field, 0, ""},
- {"Expr", Type, 0, ""},
{"ExprStmt", Type, 0, ""},
{"ExprStmt.X", Field, 0, ""},
{"Field", Type, 0, ""},
@@ -5525,11 +5740,9 @@ var PackageSymbols = map[string][]Symbol{
{"SliceExpr.Slice3", Field, 2, ""},
{"SliceExpr.X", Field, 0, ""},
{"SortImports", Func, 0, "func(fset *token.FileSet, f *File)"},
- {"Spec", Type, 0, ""},
{"StarExpr", Type, 0, ""},
{"StarExpr.Star", Field, 0, ""},
{"StarExpr.X", Field, 0, ""},
- {"Stmt", Type, 0, ""},
{"StructType", Type, 0, ""},
{"StructType.Fields", Field, 0, ""},
{"StructType.Incomplete", Field, 0, ""},
@@ -5684,10 +5897,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*SyntaxError).Error", Method, 16, ""},
{"(*TagExpr).Eval", Method, 16, ""},
{"(*TagExpr).String", Method, 16, ""},
+ {"(Expr).Eval", Method, 16, ""},
+ {"(Expr).String", Method, 16, ""},
{"AndExpr", Type, 16, ""},
{"AndExpr.X", Field, 16, ""},
{"AndExpr.Y", Field, 16, ""},
- {"Expr", Type, 16, ""},
{"GoVersion", Func, 21, "func(x Expr) string"},
{"IsGoBuild", Func, 16, "func(line string) bool"},
{"IsPlusBuild", Func, 16, "func(line string) bool"},
@@ -5706,6 +5920,9 @@ var PackageSymbols = map[string][]Symbol{
},
"go/constant": {
{"(Kind).String", Method, 18, ""},
+ {"(Value).ExactString", Method, 6, ""},
+ {"(Value).Kind", Method, 5, ""},
+ {"(Value).String", Method, 5, ""},
{"BinaryOp", Func, 5, "func(x_ Value, op token.Token, y_ Value) Value"},
{"BitLen", Func, 5, "func(x Value) int"},
{"Bool", Const, 5, ""},
@@ -5744,7 +5961,6 @@ var PackageSymbols = map[string][]Symbol{
{"UnaryOp", Func, 5, "func(op token.Token, y Value, prec uint) Value"},
{"Unknown", Const, 5, ""},
{"Val", Func, 13, "func(x Value) any"},
- {"Value", Type, 5, ""},
},
"go/doc": {
{"(*Package).Filter", Method, 0, ""},
@@ -5828,7 +6044,6 @@ var PackageSymbols = map[string][]Symbol{
{"(*Printer).HTML", Method, 19, ""},
{"(*Printer).Markdown", Method, 19, ""},
{"(*Printer).Text", Method, 19, ""},
- {"Block", Type, 19, ""},
{"Code", Type, 19, ""},
{"Code.Text", Field, 19, ""},
{"DefaultLookupPackage", Func, 19, "func(name string) (importPath string, ok bool)"},
@@ -5873,7 +6088,6 @@ var PackageSymbols = map[string][]Symbol{
{"Printer.TextCodePrefix", Field, 19, ""},
{"Printer.TextPrefix", Field, 19, ""},
{"Printer.TextWidth", Field, 19, ""},
- {"Text", Type, 19, ""},
},
"go/format": {
{"Node", Func, 1, "func(dst io.Writer, fset *token.FileSet, node any) error"},
@@ -5945,6 +6159,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*File).AddLineColumnInfo", Method, 11, ""},
{"(*File).AddLineInfo", Method, 0, ""},
{"(*File).Base", Method, 0, ""},
+ {"(*File).End", Method, 26, ""},
{"(*File).Line", Method, 0, ""},
{"(*File).LineCount", Method, 0, ""},
{"(*File).LineStart", Method, 12, ""},
@@ -6307,6 +6522,22 @@ var PackageSymbols = map[string][]Symbol{
{"(Checker).PkgNameOf", Method, 22, ""},
{"(Checker).TypeOf", Method, 5, ""},
{"(Error).Error", Method, 5, ""},
+ {"(Importer).Import", Method, 5, ""},
+ {"(ImporterFrom).Import", Method, 6, ""},
+ {"(ImporterFrom).ImportFrom", Method, 6, ""},
+ {"(Object).Exported", Method, 5, ""},
+ {"(Object).Id", Method, 5, ""},
+ {"(Object).Name", Method, 5, ""},
+ {"(Object).Parent", Method, 5, ""},
+ {"(Object).Pkg", Method, 5, ""},
+ {"(Object).Pos", Method, 5, ""},
+ {"(Object).String", Method, 5, ""},
+ {"(Object).Type", Method, 5, ""},
+ {"(Sizes).Alignof", Method, 5, ""},
+ {"(Sizes).Offsetsof", Method, 5, ""},
+ {"(Sizes).Sizeof", Method, 5, ""},
+ {"(Type).String", Method, 5, ""},
+ {"(Type).Underlying", Method, 5, ""},
{"(TypeAndValue).Addressable", Method, 5, ""},
{"(TypeAndValue).Assignable", Method, 5, ""},
{"(TypeAndValue).HasOk", Method, 5, ""},
@@ -6445,7 +6676,6 @@ var PackageSymbols = map[string][]Symbol{
{"NewUnion", Func, 18, "func(terms []*Term) *Union"},
{"NewVar", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type) *Var"},
{"Nil", Type, 5, ""},
- {"Object", Type, 5, ""},
{"ObjectString", Func, 5, "func(obj Object, qf Qualifier) string"},
{"Package", Type, 5, ""},
{"PackageVar", Const, 25, ""},
@@ -6516,6 +6746,33 @@ var PackageSymbols = map[string][]Symbol{
{"Lang", Func, 22, "func(x string) string"},
},
"hash": {
+ {"(Cloner).BlockSize", Method, 25, ""},
+ {"(Cloner).Clone", Method, 25, ""},
+ {"(Cloner).Reset", Method, 25, ""},
+ {"(Cloner).Size", Method, 25, ""},
+ {"(Cloner).Sum", Method, 25, ""},
+ {"(Cloner).Write", Method, 25, ""},
+ {"(Hash).BlockSize", Method, 0, ""},
+ {"(Hash).Reset", Method, 0, ""},
+ {"(Hash).Size", Method, 0, ""},
+ {"(Hash).Sum", Method, 0, ""},
+ {"(Hash).Write", Method, 0, ""},
+ {"(Hash32).BlockSize", Method, 0, ""},
+ {"(Hash32).Reset", Method, 0, ""},
+ {"(Hash32).Size", Method, 0, ""},
+ {"(Hash32).Sum", Method, 0, ""},
+ {"(Hash32).Sum32", Method, 0, ""},
+ {"(Hash32).Write", Method, 0, ""},
+ {"(Hash64).BlockSize", Method, 0, ""},
+ {"(Hash64).Reset", Method, 0, ""},
+ {"(Hash64).Size", Method, 0, ""},
+ {"(Hash64).Sum", Method, 0, ""},
+ {"(Hash64).Sum64", Method, 0, ""},
+ {"(Hash64).Write", Method, 0, ""},
+ {"(XOF).BlockSize", Method, 25, ""},
+ {"(XOF).Read", Method, 25, ""},
+ {"(XOF).Reset", Method, 25, ""},
+ {"(XOF).Write", Method, 25, ""},
{"Cloner", Type, 25, ""},
{"Hash", Type, 0, ""},
{"Hash32", Type, 0, ""},
@@ -6781,6 +7038,13 @@ var PackageSymbols = map[string][]Symbol{
{"(*YCbCr).SubImage", Method, 0, ""},
{"(*YCbCr).YCbCrAt", Method, 4, ""},
{"(*YCbCr).YOffset", Method, 0, ""},
+ {"(Image).At", Method, 0, ""},
+ {"(Image).Bounds", Method, 0, ""},
+ {"(Image).ColorModel", Method, 0, ""},
+ {"(PalettedImage).At", Method, 0, ""},
+ {"(PalettedImage).Bounds", Method, 0, ""},
+ {"(PalettedImage).ColorIndexAt", Method, 0, ""},
+ {"(PalettedImage).ColorModel", Method, 0, ""},
{"(Point).Add", Method, 0, ""},
{"(Point).Div", Method, 0, ""},
{"(Point).Eq", Method, 0, ""},
@@ -6789,6 +7053,10 @@ var PackageSymbols = map[string][]Symbol{
{"(Point).Mul", Method, 0, ""},
{"(Point).String", Method, 0, ""},
{"(Point).Sub", Method, 0, ""},
+ {"(RGBA64Image).At", Method, 17, ""},
+ {"(RGBA64Image).Bounds", Method, 17, ""},
+ {"(RGBA64Image).ColorModel", Method, 17, ""},
+ {"(RGBA64Image).RGBA64At", Method, 17, ""},
{"(Rectangle).Add", Method, 0, ""},
{"(Rectangle).At", Method, 5, ""},
{"(Rectangle).Bounds", Method, 5, ""},
@@ -6913,8 +7181,10 @@ var PackageSymbols = map[string][]Symbol{
{"(Alpha).RGBA", Method, 0, ""},
{"(Alpha16).RGBA", Method, 0, ""},
{"(CMYK).RGBA", Method, 5, ""},
+ {"(Color).RGBA", Method, 0, ""},
{"(Gray).RGBA", Method, 0, ""},
{"(Gray16).RGBA", Method, 0, ""},
+ {"(Model).Convert", Method, 0, ""},
{"(NRGBA).RGBA", Method, 0, ""},
{"(NRGBA64).RGBA", Method, 0, ""},
{"(NYCbCrA).RGBA", Method, 6, ""},
@@ -6992,7 +7262,19 @@ var PackageSymbols = map[string][]Symbol{
{"WebSafe", Var, 2, ""},
},
"image/draw": {
+ {"(Drawer).Draw", Method, 2, ""},
+ {"(Image).At", Method, 0, ""},
+ {"(Image).Bounds", Method, 0, ""},
+ {"(Image).ColorModel", Method, 0, ""},
+ {"(Image).Set", Method, 0, ""},
{"(Op).Draw", Method, 2, ""},
+ {"(Quantizer).Quantize", Method, 2, ""},
+ {"(RGBA64Image).At", Method, 17, ""},
+ {"(RGBA64Image).Bounds", Method, 17, ""},
+ {"(RGBA64Image).ColorModel", Method, 17, ""},
+ {"(RGBA64Image).RGBA64At", Method, 17, ""},
+ {"(RGBA64Image).Set", Method, 17, ""},
+ {"(RGBA64Image).SetRGBA64", Method, 17, ""},
{"Draw", Func, 0, "func(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op)"},
{"DrawMask", Func, 0, "func(dst Image, r image.Rectangle, src image.Image, sp image.Point, mask image.Image, mp image.Point, op Op)"},
{"Drawer", Type, 2, ""},
@@ -7027,6 +7309,8 @@ var PackageSymbols = map[string][]Symbol{
},
"image/jpeg": {
{"(FormatError).Error", Method, 0, ""},
+ {"(Reader).Read", Method, 0, ""},
+ {"(Reader).ReadByte", Method, 0, ""},
{"(UnsupportedError).Error", Method, 0, ""},
{"Decode", Func, 0, "func(r io.Reader) (image.Image, error)"},
{"DecodeConfig", Func, 0, "func(r io.Reader) (image.Config, error)"},
@@ -7040,6 +7324,8 @@ var PackageSymbols = map[string][]Symbol{
},
"image/png": {
{"(*Encoder).Encode", Method, 4, ""},
+ {"(EncoderBufferPool).Get", Method, 9, ""},
+ {"(EncoderBufferPool).Put", Method, 9, ""},
{"(FormatError).Error", Method, 0, ""},
{"(UnsupportedError).Error", Method, 0, ""},
{"BestCompression", Const, 4, ""},
@@ -7083,6 +7369,41 @@ var PackageSymbols = map[string][]Symbol{
{"(*SectionReader).ReadAt", Method, 0, ""},
{"(*SectionReader).Seek", Method, 0, ""},
{"(*SectionReader).Size", Method, 0, ""},
+ {"(ByteReader).ReadByte", Method, 0, ""},
+ {"(ByteScanner).ReadByte", Method, 0, ""},
+ {"(ByteScanner).UnreadByte", Method, 0, ""},
+ {"(ByteWriter).WriteByte", Method, 1, ""},
+ {"(Closer).Close", Method, 0, ""},
+ {"(ReadCloser).Close", Method, 0, ""},
+ {"(ReadCloser).Read", Method, 0, ""},
+ {"(ReadSeekCloser).Close", Method, 16, ""},
+ {"(ReadSeekCloser).Read", Method, 16, ""},
+ {"(ReadSeekCloser).Seek", Method, 16, ""},
+ {"(ReadSeeker).Read", Method, 0, ""},
+ {"(ReadSeeker).Seek", Method, 0, ""},
+ {"(ReadWriteCloser).Close", Method, 0, ""},
+ {"(ReadWriteCloser).Read", Method, 0, ""},
+ {"(ReadWriteCloser).Write", Method, 0, ""},
+ {"(ReadWriteSeeker).Read", Method, 0, ""},
+ {"(ReadWriteSeeker).Seek", Method, 0, ""},
+ {"(ReadWriteSeeker).Write", Method, 0, ""},
+ {"(ReadWriter).Read", Method, 0, ""},
+ {"(ReadWriter).Write", Method, 0, ""},
+ {"(Reader).Read", Method, 0, ""},
+ {"(ReaderAt).ReadAt", Method, 0, ""},
+ {"(ReaderFrom).ReadFrom", Method, 0, ""},
+ {"(RuneReader).ReadRune", Method, 0, ""},
+ {"(RuneScanner).ReadRune", Method, 0, ""},
+ {"(RuneScanner).UnreadRune", Method, 0, ""},
+ {"(Seeker).Seek", Method, 0, ""},
+ {"(StringWriter).WriteString", Method, 12, ""},
+ {"(WriteCloser).Close", Method, 0, ""},
+ {"(WriteCloser).Write", Method, 0, ""},
+ {"(WriteSeeker).Seek", Method, 0, ""},
+ {"(WriteSeeker).Write", Method, 0, ""},
+ {"(Writer).Write", Method, 0, ""},
+ {"(WriterAt).WriteAt", Method, 0, ""},
+ {"(WriterTo).WriteTo", Method, 0, ""},
{"ByteReader", Type, 0, ""},
{"ByteScanner", Type, 0, ""},
{"ByteWriter", Type, 1, ""},
@@ -7142,11 +7463,42 @@ var PackageSymbols = map[string][]Symbol{
{"(*PathError).Error", Method, 16, ""},
{"(*PathError).Timeout", Method, 16, ""},
{"(*PathError).Unwrap", Method, 16, ""},
+ {"(DirEntry).Info", Method, 16, ""},
+ {"(DirEntry).IsDir", Method, 16, ""},
+ {"(DirEntry).Name", Method, 16, ""},
+ {"(DirEntry).Type", Method, 16, ""},
+ {"(FS).Open", Method, 16, ""},
+ {"(File).Close", Method, 16, ""},
+ {"(File).Read", Method, 16, ""},
+ {"(File).Stat", Method, 16, ""},
+ {"(FileInfo).IsDir", Method, 16, ""},
+ {"(FileInfo).ModTime", Method, 16, ""},
+ {"(FileInfo).Mode", Method, 16, ""},
+ {"(FileInfo).Name", Method, 16, ""},
+ {"(FileInfo).Size", Method, 16, ""},
+ {"(FileInfo).Sys", Method, 16, ""},
{"(FileMode).IsDir", Method, 16, ""},
{"(FileMode).IsRegular", Method, 16, ""},
{"(FileMode).Perm", Method, 16, ""},
{"(FileMode).String", Method, 16, ""},
{"(FileMode).Type", Method, 16, ""},
+ {"(GlobFS).Glob", Method, 16, ""},
+ {"(GlobFS).Open", Method, 16, ""},
+ {"(ReadDirFS).Open", Method, 16, ""},
+ {"(ReadDirFS).ReadDir", Method, 16, ""},
+ {"(ReadDirFile).Close", Method, 16, ""},
+ {"(ReadDirFile).Read", Method, 16, ""},
+ {"(ReadDirFile).ReadDir", Method, 16, ""},
+ {"(ReadDirFile).Stat", Method, 16, ""},
+ {"(ReadFileFS).Open", Method, 16, ""},
+ {"(ReadFileFS).ReadFile", Method, 16, ""},
+ {"(ReadLinkFS).Lstat", Method, 25, ""},
+ {"(ReadLinkFS).Open", Method, 25, ""},
+ {"(ReadLinkFS).ReadLink", Method, 25, ""},
+ {"(StatFS).Open", Method, 16, ""},
+ {"(StatFS).Stat", Method, 16, ""},
+ {"(SubFS).Open", Method, 16, ""},
+ {"(SubFS).Sub", Method, 16, ""},
{"DirEntry", Type, 16, ""},
{"ErrClosed", Var, 16, ""},
{"ErrExist", Var, 16, ""},
@@ -7299,12 +7651,18 @@ var PackageSymbols = map[string][]Symbol{
{"(*TextHandler).WithGroup", Method, 21, ""},
{"(Attr).Equal", Method, 21, ""},
{"(Attr).String", Method, 21, ""},
+ {"(Handler).Enabled", Method, 21, ""},
+ {"(Handler).Handle", Method, 21, ""},
+ {"(Handler).WithAttrs", Method, 21, ""},
+ {"(Handler).WithGroup", Method, 21, ""},
{"(Kind).String", Method, 21, ""},
{"(Level).AppendText", Method, 24, ""},
{"(Level).Level", Method, 21, ""},
{"(Level).MarshalJSON", Method, 21, ""},
{"(Level).MarshalText", Method, 21, ""},
{"(Level).String", Method, 21, ""},
+ {"(Leveler).Level", Method, 21, ""},
+ {"(LogValuer).LogValue", Method, 21, ""},
{"(Record).Attrs", Method, 21, ""},
{"(Record).Clone", Method, 21, ""},
{"(Record).NumAttrs", Method, 21, ""},
@@ -7833,6 +8191,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*Rand).Uint32", Method, 0, ""},
{"(*Rand).Uint64", Method, 8, ""},
{"(*Zipf).Uint64", Method, 0, ""},
+ {"(Source).Int63", Method, 0, ""},
+ {"(Source).Seed", Method, 0, ""},
+ {"(Source64).Int63", Method, 8, ""},
+ {"(Source64).Seed", Method, 8, ""},
+ {"(Source64).Uint64", Method, 8, ""},
{"ExpFloat64", Func, 0, "func() float64"},
{"Float32", Func, 0, "func() float32"},
{"Float64", Func, 0, "func() float64"},
@@ -7888,6 +8251,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Rand).Uint64N", Method, 22, ""},
{"(*Rand).UintN", Method, 22, ""},
{"(*Zipf).Uint64", Method, 22, ""},
+ {"(Source).Uint64", Method, 22, ""},
{"ChaCha8", Type, 22, ""},
{"ExpFloat64", Func, 22, "func() float64"},
{"Float32", Func, 22, "func() float32"},
@@ -7951,6 +8315,10 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).FormDataContentType", Method, 0, ""},
{"(*Writer).SetBoundary", Method, 1, ""},
{"(*Writer).WriteField", Method, 0, ""},
+ {"(File).Close", Method, 0, ""},
+ {"(File).Read", Method, 0, ""},
+ {"(File).ReadAt", Method, 0, ""},
+ {"(File).Seek", Method, 0, ""},
{"ErrMessageTooLarge", Var, 9, ""},
{"File", Type, 0, ""},
{"FileContentDisposition", Func, 25, "func(fieldname string, filename string) string"},
@@ -8135,6 +8503,19 @@ var PackageSymbols = map[string][]Symbol{
{"(*UnixListener).SetDeadline", Method, 0, ""},
{"(*UnixListener).SetUnlinkOnClose", Method, 8, ""},
{"(*UnixListener).SyscallConn", Method, 10, ""},
+ {"(Addr).Network", Method, 0, ""},
+ {"(Addr).String", Method, 0, ""},
+ {"(Conn).Close", Method, 0, ""},
+ {"(Conn).LocalAddr", Method, 0, ""},
+ {"(Conn).Read", Method, 0, ""},
+ {"(Conn).RemoteAddr", Method, 0, ""},
+ {"(Conn).SetDeadline", Method, 0, ""},
+ {"(Conn).SetReadDeadline", Method, 0, ""},
+ {"(Conn).SetWriteDeadline", Method, 0, ""},
+ {"(Conn).Write", Method, 0, ""},
+ {"(Error).Error", Method, 0, ""},
+ {"(Error).Temporary", Method, 0, ""},
+ {"(Error).Timeout", Method, 0, ""},
{"(Flags).String", Method, 0, ""},
{"(HardwareAddr).String", Method, 0, ""},
{"(IP).AppendText", Method, 24, ""},
@@ -8158,6 +8539,16 @@ var PackageSymbols = map[string][]Symbol{
{"(InvalidAddrError).Error", Method, 0, ""},
{"(InvalidAddrError).Temporary", Method, 0, ""},
{"(InvalidAddrError).Timeout", Method, 0, ""},
+ {"(Listener).Accept", Method, 0, ""},
+ {"(Listener).Addr", Method, 0, ""},
+ {"(Listener).Close", Method, 0, ""},
+ {"(PacketConn).Close", Method, 0, ""},
+ {"(PacketConn).LocalAddr", Method, 0, ""},
+ {"(PacketConn).ReadFrom", Method, 0, ""},
+ {"(PacketConn).SetDeadline", Method, 0, ""},
+ {"(PacketConn).SetReadDeadline", Method, 0, ""},
+ {"(PacketConn).SetWriteDeadline", Method, 0, ""},
+ {"(PacketConn).WriteTo", Method, 0, ""},
{"(UnknownNetworkError).Error", Method, 0, ""},
{"(UnknownNetworkError).Temporary", Method, 0, ""},
{"(UnknownNetworkError).Timeout", Method, 0, ""},
@@ -8333,6 +8724,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Client).Head", Method, 0, ""},
{"(*Client).Post", Method, 0, ""},
{"(*Client).PostForm", Method, 0, ""},
+ {"(*ClientConn).Available", Method, 26, ""},
+ {"(*ClientConn).Close", Method, 26, ""},
+ {"(*ClientConn).Err", Method, 26, ""},
+ {"(*ClientConn).InFlight", Method, 26, ""},
+ {"(*ClientConn).Release", Method, 26, ""},
+ {"(*ClientConn).Reserve", Method, 26, ""},
+ {"(*ClientConn).RoundTrip", Method, 26, ""},
+ {"(*ClientConn).SetStateHook", Method, 26, ""},
{"(*Cookie).String", Method, 0, ""},
{"(*Cookie).Valid", Method, 18, ""},
{"(*CrossOriginProtection).AddInsecureBypassPattern", Method, 25, ""},
@@ -8392,10 +8791,22 @@ var PackageSymbols = map[string][]Symbol{
{"(*Transport).CancelRequest", Method, 1, ""},
{"(*Transport).Clone", Method, 13, ""},
{"(*Transport).CloseIdleConnections", Method, 0, ""},
+ {"(*Transport).NewClientConn", Method, 26, ""},
{"(*Transport).RegisterProtocol", Method, 0, ""},
{"(*Transport).RoundTrip", Method, 0, ""},
+ {"(CloseNotifier).CloseNotify", Method, 1, ""},
{"(ConnState).String", Method, 3, ""},
+ {"(CookieJar).Cookies", Method, 0, ""},
+ {"(CookieJar).SetCookies", Method, 0, ""},
{"(Dir).Open", Method, 0, ""},
+ {"(File).Close", Method, 0, ""},
+ {"(File).Read", Method, 0, ""},
+ {"(File).Readdir", Method, 0, ""},
+ {"(File).Seek", Method, 0, ""},
+ {"(File).Stat", Method, 0, ""},
+ {"(FileSystem).Open", Method, 0, ""},
+ {"(Flusher).Flush", Method, 0, ""},
+ {"(Handler).ServeHTTP", Method, 0, ""},
{"(HandlerFunc).ServeHTTP", Method, 0, ""},
{"(Header).Add", Method, 0, ""},
{"(Header).Clone", Method, 13, ""},
@@ -8405,10 +8816,16 @@ var PackageSymbols = map[string][]Symbol{
{"(Header).Values", Method, 14, ""},
{"(Header).Write", Method, 0, ""},
{"(Header).WriteSubset", Method, 0, ""},
+ {"(Hijacker).Hijack", Method, 0, ""},
{"(Protocols).HTTP1", Method, 24, ""},
{"(Protocols).HTTP2", Method, 24, ""},
{"(Protocols).String", Method, 24, ""},
{"(Protocols).UnencryptedHTTP2", Method, 24, ""},
+ {"(Pusher).Push", Method, 8, ""},
+ {"(ResponseWriter).Header", Method, 0, ""},
+ {"(ResponseWriter).Write", Method, 0, ""},
+ {"(ResponseWriter).WriteHeader", Method, 0, ""},
+ {"(RoundTripper).RoundTrip", Method, 0, ""},
{"AllowQuerySemicolons", Func, 17, "func(h Handler) Handler"},
{"CanonicalHeaderKey", Func, 0, "func(s string) string"},
{"Client", Type, 0, ""},
@@ -8416,6 +8833,7 @@ var PackageSymbols = map[string][]Symbol{
{"Client.Jar", Field, 0, ""},
{"Client.Timeout", Field, 3, ""},
{"Client.Transport", Field, 0, ""},
+ {"ClientConn", Type, 26, ""},
{"CloseNotifier", Type, 1, ""},
{"ConnState", Type, 3, ""},
{"Cookie", Type, 0, ""},
@@ -8726,6 +9144,8 @@ var PackageSymbols = map[string][]Symbol{
"net/http/cookiejar": {
{"(*Jar).Cookies", Method, 1, ""},
{"(*Jar).SetCookies", Method, 1, ""},
+ {"(PublicSuffixList).PublicSuffix", Method, 1, ""},
+ {"(PublicSuffixList).String", Method, 1, ""},
{"Jar", Type, 1, ""},
{"New", Func, 1, "func(o *Options) (*Jar, error)"},
{"Options", Type, 1, ""},
@@ -8819,6 +9239,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*ServerConn).Pending", Method, 0, ""},
{"(*ServerConn).Read", Method, 0, ""},
{"(*ServerConn).Write", Method, 0, ""},
+ {"(BufferPool).Get", Method, 6, ""},
+ {"(BufferPool).Put", Method, 6, ""},
{"BufferPool", Type, 6, ""},
{"ClientConn", Type, 0, ""},
{"DumpRequest", Func, 0, "func(req *http.Request, body bool) ([]byte, error)"},
@@ -8972,6 +9394,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Server).ServeConn", Method, 0, ""},
{"(*Server).ServeHTTP", Method, 0, ""},
{"(*Server).ServeRequest", Method, 0, ""},
+ {"(ClientCodec).Close", Method, 0, ""},
+ {"(ClientCodec).ReadResponseBody", Method, 0, ""},
+ {"(ClientCodec).ReadResponseHeader", Method, 0, ""},
+ {"(ClientCodec).WriteRequest", Method, 0, ""},
+ {"(ServerCodec).Close", Method, 0, ""},
+ {"(ServerCodec).ReadRequestBody", Method, 0, ""},
+ {"(ServerCodec).ReadRequestHeader", Method, 0, ""},
+ {"(ServerCodec).WriteResponse", Method, 0, ""},
{"(ServerError).Error", Method, 0, ""},
{"Accept", Func, 0, "func(lis net.Listener)"},
{"Call", Type, 0, ""},
@@ -9030,6 +9460,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*Client).StartTLS", Method, 0, ""},
{"(*Client).TLSConnectionState", Method, 5, ""},
{"(*Client).Verify", Method, 0, ""},
+ {"(Auth).Next", Method, 0, ""},
+ {"(Auth).Start", Method, 0, ""},
{"Auth", Type, 0, ""},
{"CRAMMD5Auth", Func, 0, "func(username string, secret string) Auth"},
{"Client", Type, 0, ""},
@@ -9241,10 +9673,18 @@ var PackageSymbols = map[string][]Symbol{
{"(*SyscallError).Error", Method, 0, ""},
{"(*SyscallError).Timeout", Method, 10, ""},
{"(*SyscallError).Unwrap", Method, 13, ""},
+ {"(FileInfo).IsDir", Method, 0, ""},
+ {"(FileInfo).ModTime", Method, 0, ""},
+ {"(FileInfo).Mode", Method, 0, ""},
+ {"(FileInfo).Name", Method, 0, ""},
+ {"(FileInfo).Size", Method, 0, ""},
+ {"(FileInfo).Sys", Method, 0, ""},
{"(FileMode).IsDir", Method, 0, ""},
{"(FileMode).IsRegular", Method, 1, ""},
{"(FileMode).Perm", Method, 0, ""},
{"(FileMode).String", Method, 0, ""},
+ {"(Signal).Signal", Method, 0, ""},
+ {"(Signal).String", Method, 0, ""},
{"Args", Var, 0, ""},
{"Chdir", Func, 0, "func(dir string) error"},
{"Chmod", Func, 0, "func(name string, mode FileMode) error"},
@@ -9521,6 +9961,45 @@ var PackageSymbols = map[string][]Symbol{
{"(StructField).IsExported", Method, 17, ""},
{"(StructTag).Get", Method, 0, ""},
{"(StructTag).Lookup", Method, 7, ""},
+ {"(Type).Align", Method, 0, ""},
+ {"(Type).AssignableTo", Method, 0, ""},
+ {"(Type).Bits", Method, 0, ""},
+ {"(Type).CanSeq", Method, 23, ""},
+ {"(Type).CanSeq2", Method, 23, ""},
+ {"(Type).ChanDir", Method, 0, ""},
+ {"(Type).Comparable", Method, 4, ""},
+ {"(Type).ConvertibleTo", Method, 1, ""},
+ {"(Type).Elem", Method, 0, ""},
+ {"(Type).Field", Method, 0, ""},
+ {"(Type).FieldAlign", Method, 0, ""},
+ {"(Type).FieldByIndex", Method, 0, ""},
+ {"(Type).FieldByName", Method, 0, ""},
+ {"(Type).FieldByNameFunc", Method, 0, ""},
+ {"(Type).Fields", Method, 26, ""},
+ {"(Type).Implements", Method, 0, ""},
+ {"(Type).In", Method, 0, ""},
+ {"(Type).Ins", Method, 26, ""},
+ {"(Type).IsVariadic", Method, 0, ""},
+ {"(Type).Key", Method, 0, ""},
+ {"(Type).Kind", Method, 0, ""},
+ {"(Type).Len", Method, 0, ""},
+ {"(Type).Method", Method, 0, ""},
+ {"(Type).MethodByName", Method, 0, ""},
+ {"(Type).Methods", Method, 26, ""},
+ {"(Type).Name", Method, 0, ""},
+ {"(Type).NumField", Method, 0, ""},
+ {"(Type).NumIn", Method, 0, ""},
+ {"(Type).NumMethod", Method, 0, ""},
+ {"(Type).NumOut", Method, 0, ""},
+ {"(Type).Out", Method, 0, ""},
+ {"(Type).Outs", Method, 26, ""},
+ {"(Type).OverflowComplex", Method, 23, ""},
+ {"(Type).OverflowFloat", Method, 23, ""},
+ {"(Type).OverflowInt", Method, 23, ""},
+ {"(Type).OverflowUint", Method, 23, ""},
+ {"(Type).PkgPath", Method, 0, ""},
+ {"(Type).Size", Method, 0, ""},
+ {"(Type).String", Method, 0, ""},
{"(Value).Addr", Method, 0, ""},
{"(Value).Bool", Method, 0, ""},
{"(Value).Bytes", Method, 0, ""},
@@ -9547,6 +10026,7 @@ var PackageSymbols = map[string][]Symbol{
{"(Value).FieldByIndexErr", Method, 18, ""},
{"(Value).FieldByName", Method, 0, ""},
{"(Value).FieldByNameFunc", Method, 0, ""},
+ {"(Value).Fields", Method, 26, ""},
{"(Value).Float", Method, 0, ""},
{"(Value).Grow", Method, 20, ""},
{"(Value).Index", Method, 0, ""},
@@ -9563,6 +10043,7 @@ var PackageSymbols = map[string][]Symbol{
{"(Value).MapRange", Method, 12, ""},
{"(Value).Method", Method, 0, ""},
{"(Value).MethodByName", Method, 0, ""},
+ {"(Value).Methods", Method, 26, ""},
{"(Value).NumField", Method, 0, ""},
{"(Value).NumMethod", Method, 0, ""},
{"(Value).OverflowComplex", Method, 0, ""},
@@ -9678,7 +10159,6 @@ var PackageSymbols = map[string][]Symbol{
{"StructOf", Func, 7, "func(fields []StructField) Type"},
{"StructTag", Type, 0, ""},
{"Swapper", Func, 8, "func(slice any) func(i int, j int)"},
- {"Type", Type, 0, ""},
{"TypeAssert", Func, 25, "func[T any](v Value) (T, bool)"},
{"TypeFor", Func, 22, "func[T any]() Type"},
{"TypeOf", Func, 0, "func(i any) Type"},
@@ -9880,6 +10360,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*TypeAssertionError).Error", Method, 0, ""},
{"(*TypeAssertionError).RuntimeError", Method, 0, ""},
{"(Cleanup).Stop", Method, 24, ""},
+ {"(Error).Error", Method, 0, ""},
+ {"(Error).RuntimeError", Method, 0, ""},
{"AddCleanup", Func, 24, "func[T, S any](ptr *T, cleanup func(S), arg S) Cleanup"},
{"BlockProfile", Func, 1, "func(p []BlockProfileRecord) (n int, ok bool)"},
{"BlockProfileRecord", Type, 1, ""},
@@ -10154,6 +10636,9 @@ var PackageSymbols = map[string][]Symbol{
{"(IntSlice).Search", Method, 0, ""},
{"(IntSlice).Sort", Method, 0, ""},
{"(IntSlice).Swap", Method, 0, ""},
+ {"(Interface).Len", Method, 0, ""},
+ {"(Interface).Less", Method, 0, ""},
+ {"(Interface).Swap", Method, 0, ""},
{"(StringSlice).Len", Method, 0, ""},
{"(StringSlice).Less", Method, 0, ""},
{"(StringSlice).Search", Method, 0, ""},
@@ -10345,6 +10830,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*WaitGroup).Done", Method, 0, ""},
{"(*WaitGroup).Go", Method, 25, ""},
{"(*WaitGroup).Wait", Method, 0, ""},
+ {"(Locker).Lock", Method, 0, ""},
+ {"(Locker).Unlock", Method, 0, ""},
{"Cond", Type, 0, ""},
{"Cond.L", Field, 0, ""},
{"Locker", Type, 0, ""},
@@ -10486,10 +10973,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Timeval).Nano", Method, 0, ""},
{"(*Timeval).Nanoseconds", Method, 0, ""},
{"(*Timeval).Unix", Method, 0, ""},
+ {"(Conn).SyscallConn", Method, 9, ""},
{"(Errno).Error", Method, 0, ""},
{"(Errno).Is", Method, 13, ""},
{"(Errno).Temporary", Method, 0, ""},
{"(Errno).Timeout", Method, 0, ""},
+ {"(RawConn).Control", Method, 9, ""},
+ {"(RawConn).Read", Method, 9, ""},
+ {"(RawConn).Write", Method, 9, ""},
{"(Signal).Signal", Method, 0, ""},
{"(Signal).String", Method, 0, ""},
{"(Token).Close", Method, 0, ""},
@@ -14409,7 +14900,7 @@ var PackageSymbols = map[string][]Symbol{
{"RouteMessage.Data", Field, 0, ""},
{"RouteMessage.Header", Field, 0, ""},
{"RouteRIB", Func, 0, ""},
- {"RoutingMessage", Type, 0, ""},
+ {"RoutingMessage", Type, 14, ""},
{"RtAttr", Type, 0, ""},
{"RtAttr.Len", Field, 0, ""},
{"RtAttr.Type", Field, 0, ""},
@@ -15895,7 +16386,6 @@ var PackageSymbols = map[string][]Symbol{
{"SockFprog.Filter", Field, 0, ""},
{"SockFprog.Len", Field, 0, ""},
{"SockFprog.Pad_cgo_0", Field, 0, ""},
- {"Sockaddr", Type, 0, ""},
{"SockaddrDatalink", Type, 0, ""},
{"SockaddrDatalink.Alen", Field, 0, ""},
{"SockaddrDatalink.Data", Field, 0, ""},
@@ -16801,6 +17291,29 @@ var PackageSymbols = map[string][]Symbol{
{"(BenchmarkResult).MemString", Method, 1, ""},
{"(BenchmarkResult).NsPerOp", Method, 0, ""},
{"(BenchmarkResult).String", Method, 0, ""},
+ {"(TB).ArtifactDir", Method, 26, ""},
+ {"(TB).Attr", Method, 25, ""},
+ {"(TB).Chdir", Method, 24, ""},
+ {"(TB).Cleanup", Method, 14, ""},
+ {"(TB).Context", Method, 24, ""},
+ {"(TB).Error", Method, 2, ""},
+ {"(TB).Errorf", Method, 2, ""},
+ {"(TB).Fail", Method, 2, ""},
+ {"(TB).FailNow", Method, 2, ""},
+ {"(TB).Failed", Method, 2, ""},
+ {"(TB).Fatal", Method, 2, ""},
+ {"(TB).Fatalf", Method, 2, ""},
+ {"(TB).Helper", Method, 9, ""},
+ {"(TB).Log", Method, 2, ""},
+ {"(TB).Logf", Method, 2, ""},
+ {"(TB).Name", Method, 8, ""},
+ {"(TB).Output", Method, 25, ""},
+ {"(TB).Setenv", Method, 17, ""},
+ {"(TB).Skip", Method, 2, ""},
+ {"(TB).SkipNow", Method, 2, ""},
+ {"(TB).Skipf", Method, 2, ""},
+ {"(TB).Skipped", Method, 2, ""},
+ {"(TB).TempDir", Method, 15, ""},
{"AllocsPerRun", Func, 1, "func(runs int, f func()) (avg float64)"},
{"B", Type, 0, ""},
{"B.N", Field, 0, ""},
@@ -16851,7 +17364,6 @@ var PackageSymbols = map[string][]Symbol{
{"RunTests", Func, 0, "func(matchString func(pat string, str string) (bool, error), tests []InternalTest) (ok bool)"},
{"Short", Func, 0, "func() bool"},
{"T", Type, 0, ""},
- {"TB", Type, 2, ""},
{"Testing", Func, 21, "func() bool"},
{"Verbose", Func, 1, "func() bool"},
},
@@ -16887,6 +17399,7 @@ var PackageSymbols = map[string][]Symbol{
"testing/quick": {
{"(*CheckEqualError).Error", Method, 0, ""},
{"(*CheckError).Error", Method, 0, ""},
+ {"(Generator).Generate", Method, 0, ""},
{"(SetupError).Error", Method, 0, ""},
{"Check", Func, 0, "func(f any, config *Config) error"},
{"CheckEqual", Func, 0, "func(f any, g any, config *Config) error"},
@@ -17093,6 +17606,10 @@ var PackageSymbols = map[string][]Symbol{
{"(ListNode).Position", Method, 1, ""},
{"(ListNode).Type", Method, 0, ""},
{"(NilNode).Position", Method, 1, ""},
+ {"(Node).Copy", Method, 0, ""},
+ {"(Node).Position", Method, 1, ""},
+ {"(Node).String", Method, 0, ""},
+ {"(Node).Type", Method, 0, ""},
{"(NodeType).Type", Method, 0, ""},
{"(NumberNode).Position", Method, 1, ""},
{"(NumberNode).Type", Method, 0, ""},
diff --git a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
index e223e0f34..59a5de36a 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
@@ -39,7 +39,7 @@ const (
Var // "EOF"
Const // "Pi"
Field // "Point.X"
- Method // "(*Buffer).Grow"
+ Method // "(*Buffer).Grow" or "(Reader).Read"
)
func (kind Kind) String() string {
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go b/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
index 3db2a135b..7ebe9768b 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
@@ -8,7 +8,7 @@ import (
"fmt"
"go/ast"
"go/types"
- _ "unsafe"
+ _ "unsafe" // for go:linkname hack
)
// CallKind describes the function position of an [*ast.CallExpr].
diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types.go b/vendor/golang.org/x/tools/internal/typesinternal/types.go
index fef74a785..51001666e 100644
--- a/vendor/golang.org/x/tools/internal/typesinternal/types.go
+++ b/vendor/golang.org/x/tools/internal/typesinternal/types.go
@@ -23,7 +23,6 @@ import (
"go/token"
"go/types"
"reflect"
- "unsafe"
"golang.org/x/tools/go/ast/inspector"
"golang.org/x/tools/internal/aliases"
@@ -40,8 +39,7 @@ func SetUsesCgo(conf *types.Config) bool {
}
}
- addr := unsafe.Pointer(f.UnsafeAddr())
- *(*bool)(addr) = true
+ *(*bool)(f.Addr().UnsafePointer()) = true
return true
}
diff --git a/vendor/golang.org/x/tools/internal/versions/features.go b/vendor/golang.org/x/tools/internal/versions/features.go
index a5f4e3252..cdd36c388 100644
--- a/vendor/golang.org/x/tools/internal/versions/features.go
+++ b/vendor/golang.org/x/tools/internal/versions/features.go
@@ -9,6 +9,7 @@ package versions
// named constants, to avoid misspelling
const (
+ Go1_17 = "go1.17"
Go1_18 = "go1.18"
Go1_19 = "go1.19"
Go1_20 = "go1.20"
diff --git a/vendor/modules.txt b/vendor/modules.txt
index c1a47b726..65453cb51 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -10,8 +10,8 @@ dario.cat/mergo
# github.com/42wim/httpsig v1.2.3
## explicit; go 1.23.0
github.com/42wim/httpsig
-# github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1
-## explicit; go 1.23.0
+# github.com/Azure/azure-sdk-for-go/sdk/azcore v1.21.0
+## explicit; go 1.24.0
github.com/Azure/azure-sdk-for-go/sdk/azcore
github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource
github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/policy
@@ -31,7 +31,7 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore/policy
github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime
github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming
github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing
-# github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0
+# github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1
## explicit; go 1.23.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity
github.com/Azure/azure-sdk-for-go/sdk/azidentity/internal
@@ -48,7 +48,7 @@ github.com/Azure/azure-sdk-for-go/sdk/internal/uuid
## explicit; go 1.16
github.com/Azure/go-ansiterm
github.com/Azure/go-ansiterm/winterm
-# github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0
+# github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0
## explicit; go 1.18
github.com/AzureAD/microsoft-authentication-library-for-go/apps/cache
github.com/AzureAD/microsoft-authentication-library-for-go/apps/confidential
@@ -822,7 +822,7 @@ go.yaml.in/yaml/v2
# go.yaml.in/yaml/v3 v3.0.4
## explicit; go 1.16
go.yaml.in/yaml/v3
-# golang.org/x/crypto v0.46.0
+# golang.org/x/crypto v0.47.0
## explicit; go 1.24.0
golang.org/x/crypto/argon2
golang.org/x/crypto/bcrypt
@@ -848,10 +848,10 @@ golang.org/x/crypto/ssh
golang.org/x/crypto/ssh/agent
golang.org/x/crypto/ssh/internal/bcrypt_pbkdf
golang.org/x/crypto/ssh/knownhosts
-# golang.org/x/mod v0.30.0
+# golang.org/x/mod v0.31.0
## explicit; go 1.24.0
golang.org/x/mod/semver
-# golang.org/x/net v0.47.0
+# golang.org/x/net v0.49.0
## explicit; go 1.24.0
golang.org/x/net/context
golang.org/x/net/html
@@ -883,7 +883,7 @@ golang.org/x/oauth2/jwt
golang.org/x/sync/errgroup
golang.org/x/sync/semaphore
golang.org/x/sync/singleflight
-# golang.org/x/sys v0.39.0
+# golang.org/x/sys v0.40.0
## explicit; go 1.24.0
golang.org/x/sys/cpu
golang.org/x/sys/execabs
@@ -891,10 +891,10 @@ golang.org/x/sys/plan9
golang.org/x/sys/unix
golang.org/x/sys/windows
golang.org/x/sys/windows/registry
-# golang.org/x/term v0.38.0
+# golang.org/x/term v0.39.0
## explicit; go 1.24.0
golang.org/x/term
-# golang.org/x/text v0.32.0
+# golang.org/x/text v0.33.0
## explicit; go 1.24.0
golang.org/x/text/encoding
golang.org/x/text/encoding/charmap
@@ -927,7 +927,7 @@ golang.org/x/text/unicode/norm
# golang.org/x/time v0.12.0
## explicit; go 1.23.0
golang.org/x/time/rate
-# golang.org/x/tools v0.39.0
+# golang.org/x/tools v0.40.0
## explicit; go 1.24.0
golang.org/x/tools/cover
golang.org/x/tools/go/ast/edge