From d2f13e7564059cb4be90650b570b93e4acc964a9 Mon Sep 17 00:00:00 2001 From: kim Date: Sat, 10 May 2025 14:27:25 +0000 Subject: [PATCH] [chore] update direct Go dependencies (#4162) - update gruf/go-stroage v0.2.0 -> v0.2.1 - update KimMachineGun/automemlimit v0.7.1 -> v0.7.2 - update miekg/dns v1.1.65 -> v1.1.66 - update ncruces/go-sqlite3 v0.25.1 -> v0.25.2 - update spf13/cast v1.7.1 -> v1.8.0 - update tdewolff/minify/v2 v2.23.1 -> v2.23.5 - update x/crypto v0.37.0 -> v0.38.0 - update x/image v0.26.0 -> v0.27.0 - update x/net v0.39.0 -> v0.40.0 - update x/oauth2 v0.29.0 -> v0.30.0 - update x/sys v0.32.0 -> v0.33.0 - update x/text v0.24.0 -> v0.25.0 Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4162 Co-authored-by: kim Co-committed-by: kim --- go.mod | 30 +- go.sum | 64 +-- vendor/codeberg.org/gruf/go-storage/test.sh | 5 +- .../automemlimit/memlimit/cgroups.go | 4 +- vendor/github.com/miekg/dns/README.md | 1 + vendor/github.com/miekg/dns/msg.go | 26 +- vendor/github.com/miekg/dns/reverse.go | 5 +- vendor/github.com/miekg/dns/scan.go | 7 + vendor/github.com/miekg/dns/types.go | 67 ++- vendor/github.com/miekg/dns/version.go | 2 +- vendor/github.com/miekg/dns/xfr.go | 7 +- .../ncruces/go-sqlite3/embed/README.md | 2 +- .../ncruces/go-sqlite3/embed/sqlite3.wasm | Bin 1398689 -> 1399642 bytes vendor/github.com/spf13/cast/.editorconfig | 15 + vendor/github.com/spf13/cast/.golangci.yaml | 39 ++ vendor/github.com/spf13/cast/README.md | 12 +- vendor/github.com/spf13/cast/cast.go | 18 + vendor/github.com/spf13/cast/caste.go | 284 ++++------ vendor/github.com/tdewolff/parse/v2/binary.go | 10 + .../tdewolff/parse/v2/binary_unix.go | 8 +- .../tdewolff/parse/v2/strconv/number.go | 30 +- vendor/golang.org/x/crypto/acme/acme.go | 4 + .../x/crypto/acme/autocert/listener.go | 32 +- vendor/golang.org/x/crypto/acme/http.go | 7 +- vendor/golang.org/x/crypto/acme/types.go | 4 + vendor/golang.org/x/crypto/ssh/mlkem.go | 187 +++++++ vendor/golang.org/x/oauth2/internal/doc.go | 2 +- vendor/golang.org/x/oauth2/internal/oauth2.go | 2 +- vendor/golang.org/x/oauth2/internal/token.go | 50 +- .../golang.org/x/oauth2/internal/transport.go | 4 +- vendor/golang.org/x/oauth2/oauth2.go | 55 +- vendor/golang.org/x/oauth2/pkce.go | 15 +- vendor/golang.org/x/oauth2/token.go | 15 +- vendor/golang.org/x/oauth2/transport.go | 24 +- vendor/golang.org/x/sync/errgroup/errgroup.go | 107 +++- vendor/golang.org/x/sys/cpu/cpu.go | 11 + .../golang.org/x/sys/cpu/cpu_linux_riscv64.go | 23 + vendor/golang.org/x/sys/cpu/cpu_riscv64.go | 12 + .../x/sys/windows/security_windows.go | 49 +- .../x/sys/windows/syscall_windows.go | 6 +- .../golang.org/x/sys/windows/types_windows.go | 212 +++++++ .../x/sys/windows/zsyscall_windows.go | 9 + .../x/tools/go/ast/astutil/imports.go | 3 +- .../x/tools/go/gcexportdata/gcexportdata.go | 5 +- .../x/tools/go/packages/external.go | 2 +- .../x/tools/go/types/typeutil/callee.go | 83 +-- .../x/tools/internal/event/label/label.go | 7 +- .../x/tools/internal/gcimporter/iexport.go | 34 +- .../x/tools/internal/gcimporter/iimport.go | 3 +- .../x/tools/internal/gocommand/invoke.go | 2 +- .../x/tools/internal/gopathwalk/walk.go | 7 +- .../x/tools/internal/imports/fix.go | 11 +- .../x/tools/internal/imports/mod.go | 5 +- .../x/tools/internal/imports/mod_cache.go | 4 +- .../x/tools/internal/imports/sortimports.go | 5 +- .../x/tools/internal/modindex/lookup.go | 4 +- .../x/tools/internal/pkgbits/decoder.go | 2 +- .../x/tools/internal/stdlib/deps.go | 528 +++++++++--------- .../x/tools/internal/stdlib/manifest.go | 7 - .../x/tools/internal/typeparams/free.go | 2 +- .../x/tools/internal/typeparams/termlist.go | 12 +- .../x/tools/internal/typeparams/typeterm.go | 3 + .../internal/typesinternal/classify_call.go | 135 +++++ .../x/tools/internal/typesinternal/types.go | 15 + vendor/modules.txt | 38 +- 65 files changed, 1586 insertions(+), 797 deletions(-) create mode 100644 vendor/github.com/spf13/cast/.editorconfig create mode 100644 vendor/github.com/spf13/cast/.golangci.yaml create mode 100644 vendor/golang.org/x/crypto/ssh/mlkem.go create mode 100644 vendor/golang.org/x/tools/internal/typesinternal/classify_call.go diff --git a/go.mod b/go.mod index 4f819cebc..c1042e76c 100644 --- a/go.mod +++ b/go.mod @@ -30,10 +30,10 @@ require ( codeberg.org/gruf/go-runners v1.6.3 codeberg.org/gruf/go-sched v1.2.4 codeberg.org/gruf/go-split v1.2.0 - codeberg.org/gruf/go-storage v0.2.0 + codeberg.org/gruf/go-storage v0.2.1 codeberg.org/gruf/go-structr v0.9.7 github.com/DmitriyVTitov/size v1.5.0 - github.com/KimMachineGun/automemlimit v0.7.1 + github.com/KimMachineGun/automemlimit v0.7.2 github.com/SherClockHolmes/webpush-go v1.4.0 github.com/buckket/go-blurhash v1.1.0 github.com/coreos/go-oidc/v3 v3.14.1 @@ -50,19 +50,19 @@ require ( github.com/jackc/pgx/v5 v5.7.4 github.com/k3a/html2text v1.2.1 github.com/microcosm-cc/bluemonday v1.0.27 - github.com/miekg/dns v1.1.65 + github.com/miekg/dns v1.1.66 github.com/minio/minio-go/v7 v7.0.91 github.com/mitchellh/mapstructure v1.5.0 - github.com/ncruces/go-sqlite3 v0.25.1 + github.com/ncruces/go-sqlite3 v0.25.2 github.com/oklog/ulid v1.3.1 github.com/pquerna/otp v1.4.0 github.com/rivo/uniseg v0.4.7 - github.com/spf13/cast v1.7.1 + github.com/spf13/cast v1.8.0 github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.6 github.com/spf13/viper v1.20.1 github.com/stretchr/testify v1.10.0 - github.com/tdewolff/minify/v2 v2.23.1 + github.com/tdewolff/minify/v2 v2.23.5 github.com/technologize/otel-go-contrib v1.1.1 github.com/temoto/robotstxt v1.1.2 github.com/tetratelabs/wazero v1.9.0 @@ -82,12 +82,12 @@ require ( go.opentelemetry.io/otel/sdk/metric v1.35.0 go.opentelemetry.io/otel/trace v1.35.0 go.uber.org/automaxprocs v1.6.0 - golang.org/x/crypto v0.37.0 - golang.org/x/image v0.26.0 - golang.org/x/net v0.39.0 - golang.org/x/oauth2 v0.29.0 - golang.org/x/sys v0.32.0 - golang.org/x/text v0.24.0 + golang.org/x/crypto v0.38.0 + golang.org/x/image v0.27.0 + golang.org/x/net v0.40.0 + golang.org/x/oauth2 v0.30.0 + golang.org/x/sys v0.33.0 + golang.org/x/text v0.25.0 gopkg.in/mcuadros/go-syslog.v2 v2.3.0 gopkg.in/yaml.v3 v3.0.1 modernc.org/sqlite v1.37.0 @@ -198,7 +198,7 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tdewolff/parse/v2 v2.7.23 // indirect + github.com/tdewolff/parse/v2 v2.8.0 // indirect github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/toqueteos/webbrowser v1.2.0 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect @@ -227,8 +227,8 @@ require ( golang.org/x/arch v0.16.0 // indirect golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect golang.org/x/mod v0.24.0 // indirect - golang.org/x/sync v0.13.0 // indirect - golang.org/x/tools v0.31.0 // indirect + golang.org/x/sync v0.14.0 // indirect + golang.org/x/tools v0.32.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/grpc v1.71.0 // indirect diff --git a/go.sum b/go.sum index a2f0a441f..df8fdf527 100644 --- a/go.sum +++ b/go.sum @@ -48,16 +48,16 @@ codeberg.org/gruf/go-sched v1.2.4 h1:ddBB9o0D/2oU8NbQ0ldN5aWxogpXPRBATWi58+p++Hw codeberg.org/gruf/go-sched v1.2.4/go.mod h1:wad6l+OcYGWMA2TzNLMmLObsrbBDxdJfEy5WvTgBjNk= codeberg.org/gruf/go-split v1.2.0 h1:PmzL23nVEVHm8VxjsJmv4m4wGQz2bGgQw52dgSSj65c= codeberg.org/gruf/go-split v1.2.0/go.mod h1:0rejWJpqvOoFAd7nwm5tIXYKaAqjtFGOXmTqQV+VO38= -codeberg.org/gruf/go-storage v0.2.0 h1:mKj3Lx6AavEkuXXtxqPhdq+akW9YwrnP16yQBF7K5ZI= -codeberg.org/gruf/go-storage v0.2.0/go.mod h1:o3GzMDE5QNUaRnm/daUzFqvuAaC4utlgXDXYO79sWKU= +codeberg.org/gruf/go-storage v0.2.1 h1:AHVU+7ZKpaL6fTzcH7GU+JwY3HQVYOZ84U4HV//K1GA= +codeberg.org/gruf/go-storage v0.2.1/go.mod h1:zJ5Nd2rKv0R5vF1rYbH+IEggUx8cIv72Vj2d8e//IAw= codeberg.org/gruf/go-structr v0.9.7 h1:yQeIxTjYb6reNdgESk915twyjolydYBqat/mlZrP7bg= codeberg.org/gruf/go-structr v0.9.7/go.mod h1:9k5hYztZ4PsBS+m1v5hUTeFiVUBTLF5VA7d9cd1OEMs= codeberg.org/superseriousbusiness/go-swagger v0.31.0-gts-go1.23-fix h1:+JvBZqsQfdT+ROnk2DkvXsKQ9QBorKKKBk5fBqw62I8= codeberg.org/superseriousbusiness/go-swagger v0.31.0-gts-go1.23-fix/go.mod h1:WSigRRWEig8zV6t6Sm8Y+EmUjlzA/HoaZJ5edupq7po= github.com/DmitriyVTitov/size v1.5.0 h1:/PzqxYrOyOUX1BXj6J9OuVRVGe+66VL4D9FlUaW515g= github.com/DmitriyVTitov/size v1.5.0/go.mod h1:le6rNI4CoLQV1b9gzp1+3d7hMAD/uu2QcJ+aYbNgiU0= -github.com/KimMachineGun/automemlimit v0.7.1 h1:QcG/0iCOLChjfUweIMC3YL5Xy9C3VBeNmCZHrZfJMBw= -github.com/KimMachineGun/automemlimit v0.7.1/go.mod h1:QZxpHaGOQoYvFhv/r4u3U0JTC2ZcOwbSr11UZF46UBM= +github.com/KimMachineGun/automemlimit v0.7.2 h1:DyfHI7zLWmZPn2Wqdy2AgTiUvrGPmnYWgwhHXtAegX4= +github.com/KimMachineGun/automemlimit v0.7.2/go.mod h1:QZxpHaGOQoYvFhv/r4u3U0JTC2ZcOwbSr11UZF46UBM= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= @@ -297,8 +297,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk= github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA= -github.com/miekg/dns v1.1.65 h1:0+tIPHzUW0GCge7IiK3guGP57VAw7hoPDfApjkMD1Fc= -github.com/miekg/dns v1.1.65/go.mod h1:Dzw9769uoKVaLuODMDZz9M6ynFU6Em65csPuoi8G0ck= +github.com/miekg/dns v1.1.66 h1:FeZXOS3VCVsKnEAd+wBkjMC3D2K+ww66Cq3VnCINuJE= +github.com/miekg/dns v1.1.66/go.mod h1:jGFzBsSNbJw6z1HYut1RKBKHA9PBdxeHrZG8J+gC2WE= github.com/minio/crc64nvme v1.0.1 h1:DHQPrYPdqK7jQG/Ls5CTBZWeex/2FMS3G5XGkycuFrY= github.com/minio/crc64nvme v1.0.1/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= @@ -324,8 +324,8 @@ github.com/moul/http2curl v1.0.0 h1:dRMWoAtb+ePxMlLkrCbAqh4TlPHXvoGUSQ323/9Zahs= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/ncruces/go-sqlite3 v0.25.1 h1:nRK2mZ0jLNFJco8QFZ9+dCXxOGe6Re8bbG5o8gyalr8= -github.com/ncruces/go-sqlite3 v0.25.1/go.mod h1:4BtkHRLbX5hE0PhBxJ11qETTwL7M4lk0ttru9nora1E= +github.com/ncruces/go-sqlite3 v0.25.2 h1:suu3C7y92hPqozqO8+w3K333Q1VhWyN6K3JJKXdtC2U= +github.com/ncruces/go-sqlite3 v0.25.2/go.mod h1:46HIzeCQQ+aNleAxCli+vpA2tfh7ttSnw24kQahBc1o= github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M= @@ -386,8 +386,8 @@ github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIK github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= -github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk= +github.com/spf13/cast v1.8.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= @@ -410,10 +410,10 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tdewolff/minify/v2 v2.23.1 h1:r6sKQrumHzskWZRdhiRa+pZhn7CdBMojACNP9fuKpXQ= -github.com/tdewolff/minify/v2 v2.23.1/go.mod h1:RkUGjklq6uIsBoOdzY3ll35HKKQ2aFqLQhnanBHhDyU= -github.com/tdewolff/parse/v2 v2.7.23 h1:sCW2PNTCM1yVldh5YK/8wrpRI9rSbloUZWjAydlN2IA= -github.com/tdewolff/parse/v2 v2.7.23/go.mod h1:I7TXO37t3aSG9SlPUBefAhgIF8nt7yYUwVGgETIoBcA= +github.com/tdewolff/minify/v2 v2.23.5 h1:/P548KcpTkIOUvNg22zN83/GiaYSOIrbqtoue4I7kYM= +github.com/tdewolff/minify/v2 v2.23.5/go.mod h1:2RI9tiIrzJU1Z5EasXEPaI1MqobRyxKHOOgrRkq5oEw= +github.com/tdewolff/parse/v2 v2.8.0 h1:jW0afj6zpUGXuZTwJ7/UfP2SddyLalb/SDryjaMTkA4= +github.com/tdewolff/parse/v2 v2.8.0/go.mod h1:Hwlni2tiVNKyzR1o6nUs4FOF07URA+JLBLd6dlIXYqo= github.com/tdewolff/test v1.0.11 h1:FdLbwQVHxqG16SlkGveC0JVyrJN62COWTRyUFzfbtBE= github.com/tdewolff/test v1.0.11/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= github.com/technologize/otel-go-contrib v1.1.1 h1:wZH9aSPNWZWIkEh3vfaKfMb15AJ80jJ1aVj/4GZdqIw= @@ -552,12 +552,12 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= -golang.org/x/image v0.26.0 h1:4XjIFEZWQmCZi6Wv8BoxsDhRU3RVnLX04dToTDAEPlY= -golang.org/x/image v0.26.0/go.mod h1:lcxbMFAovzpnJxzXS3nyL83K27tmqtKzIJpctK8YO5c= +golang.org/x/image v0.27.0 h1:C8gA4oWU/tKkdCfYT6T2u4faJu3MeNS5O8UPWlPF61w= +golang.org/x/image v0.27.0/go.mod h1:xbdrClrAUway1MUTEZDq9mz/UpRwYAkFFNUslZtcB+g= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -580,10 +580,10 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= -golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98= -golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +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-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -591,8 +591,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -608,8 +608,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= 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= @@ -620,8 +620,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= 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.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -632,8 +632,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -641,8 +641,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= -golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= +golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= +golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0= google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU= diff --git a/vendor/codeberg.org/gruf/go-storage/test.sh b/vendor/codeberg.org/gruf/go-storage/test.sh index 91286b5c8..6eb18fa65 100644 --- a/vendor/codeberg.org/gruf/go-storage/test.sh +++ b/vendor/codeberg.org/gruf/go-storage/test.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash export \ MINIO_ADDR='127.0.0.1:8080' \ @@ -9,8 +9,7 @@ export \ S3_DIR=$(mktemp -d) # Drop the test S3 bucket and kill minio on exit -trap 'rm -rf "$S3_DIR"; [ $MINIO_PID -ne 0 ] && kill -9 $MINIO_PID' \ - HUP INT QUIT ABRT KILL TERM EXIT +trap 'rm -rf "$S3_DIR"; [ $MINIO_PID -ne 0 ] && kill -9 $MINIO_PID' EXIT # Create required S3 bucket dir mkdir -p "${S3_DIR}/${MINIO_BUCKET}" diff --git a/vendor/github.com/KimMachineGun/automemlimit/memlimit/cgroups.go b/vendor/github.com/KimMachineGun/automemlimit/memlimit/cgroups.go index 73a57c3eb..69d1771f0 100644 --- a/vendor/github.com/KimMachineGun/automemlimit/memlimit/cgroups.go +++ b/vendor/github.com/KimMachineGun/automemlimit/memlimit/cgroups.go @@ -276,11 +276,9 @@ func parseMountInfoLine(line string) (mountInfo, error) { fields1 = append(fields1, "") } - fields2 := strings.Split(fieldss[1], " ") + fields2 := strings.SplitN(fieldss[1], " ", 3) if len(fields2) < 3 { return mountInfo{}, fmt.Errorf("not enough fields after separator: %v", fields2) - } else if len(fields2) > 3 { - return mountInfo{}, fmt.Errorf("too many fields after separator: %v", fields2) } return mountInfo{ diff --git a/vendor/github.com/miekg/dns/README.md b/vendor/github.com/miekg/dns/README.md index 0e42858ae..54471f5c2 100644 --- a/vendor/github.com/miekg/dns/README.md +++ b/vendor/github.com/miekg/dns/README.md @@ -185,6 +185,7 @@ Example programs can be found in the `github.com/miekg/exdns` repository. * 7871 - EDNS0 Client Subnet * 7873 - Domain Name System (DNS) Cookies * 8080 - EdDSA for DNSSEC +* 8490 - DNS Stateful Operations * 8499 - DNS Terminology * 8659 - DNS Certification Authority Authorization (CAA) Resource Record * 8777 - DNS Reverse IP Automatic Multicast Tunneling (AMT) Discovery diff --git a/vendor/github.com/miekg/dns/msg.go b/vendor/github.com/miekg/dns/msg.go index 5fa7f9e83..d87b5323b 100644 --- a/vendor/github.com/miekg/dns/msg.go +++ b/vendor/github.com/miekg/dns/msg.go @@ -136,18 +136,19 @@ var OpcodeToString = map[int]string{ // RcodeToString maps Rcodes to strings. var RcodeToString = map[int]string{ - RcodeSuccess: "NOERROR", - RcodeFormatError: "FORMERR", - RcodeServerFailure: "SERVFAIL", - RcodeNameError: "NXDOMAIN", - RcodeNotImplemented: "NOTIMP", - RcodeRefused: "REFUSED", - RcodeYXDomain: "YXDOMAIN", // See RFC 2136 - RcodeYXRrset: "YXRRSET", - RcodeNXRrset: "NXRRSET", - RcodeNotAuth: "NOTAUTH", - RcodeNotZone: "NOTZONE", - RcodeBadSig: "BADSIG", // Also known as RcodeBadVers, see RFC 6891 + RcodeSuccess: "NOERROR", + RcodeFormatError: "FORMERR", + RcodeServerFailure: "SERVFAIL", + RcodeNameError: "NXDOMAIN", + RcodeNotImplemented: "NOTIMP", + RcodeRefused: "REFUSED", + RcodeYXDomain: "YXDOMAIN", // See RFC 2136 + RcodeYXRrset: "YXRRSET", + RcodeNXRrset: "NXRRSET", + RcodeNotAuth: "NOTAUTH", + RcodeNotZone: "NOTZONE", + RcodeStatefulTypeNotImplemented: "DSOTYPENI", + RcodeBadSig: "BADSIG", // Also known as RcodeBadVers, see RFC 6891 // RcodeBadVers: "BADVERS", RcodeBadKey: "BADKEY", RcodeBadTime: "BADTIME", @@ -874,7 +875,6 @@ func (dns *Msg) unpack(dh Header, msg []byte, off int) (err error) { // // println("dns: extra bytes in dns packet", off, "<", len(msg)) // } return err - } // Unpack unpacks a binary message to a Msg structure. diff --git a/vendor/github.com/miekg/dns/reverse.go b/vendor/github.com/miekg/dns/reverse.go index 28151af83..6f5b3ea70 100644 --- a/vendor/github.com/miekg/dns/reverse.go +++ b/vendor/github.com/miekg/dns/reverse.go @@ -23,9 +23,12 @@ var StringToAlgorithm = reverseInt8(AlgorithmToString) // StringToHash is a map of names to hash IDs. var StringToHash = reverseInt8(HashToString) -// StringToCertType is the reverseof CertTypeToString. +// StringToCertType is the reverse of CertTypeToString. var StringToCertType = reverseInt16(CertTypeToString) +// StringToStatefulType is the reverse of StatefulTypeToString. +var StringToStatefulType = reverseInt16(StatefulTypeToString) + // Reverse a map func reverseInt8(m map[uint8]string) map[string]uint8 { n := make(map[string]uint8, len(m)) diff --git a/vendor/github.com/miekg/dns/scan.go b/vendor/github.com/miekg/dns/scan.go index fa8a332ed..31957b2ea 100644 --- a/vendor/github.com/miekg/dns/scan.go +++ b/vendor/github.com/miekg/dns/scan.go @@ -1318,6 +1318,13 @@ func toAbsoluteName(name, origin string) (absolute string, ok bool) { return origin, true } + // this can happen when we have a comment after a RR that has a domain, '... MX 20 ; this is wrong'. + // technically a newline can be in a domain name, but this is clearly an error and the newline only shows + // because of the scanning and the comment. + if name == "\n" { + return "", false + } + // require a valid domain name _, ok = IsDomainName(name) if !ok || name == "" { diff --git a/vendor/github.com/miekg/dns/types.go b/vendor/github.com/miekg/dns/types.go index e39cf2fec..f5067cd43 100644 --- a/vendor/github.com/miekg/dns/types.go +++ b/vendor/github.com/miekg/dns/types.go @@ -126,33 +126,35 @@ const ( ClassANY = 255 // Message Response Codes, see https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml - RcodeSuccess = 0 // NoError - No Error [DNS] - RcodeFormatError = 1 // FormErr - Format Error [DNS] - RcodeServerFailure = 2 // ServFail - Server Failure [DNS] - RcodeNameError = 3 // NXDomain - Non-Existent Domain [DNS] - RcodeNotImplemented = 4 // NotImp - Not Implemented [DNS] - RcodeRefused = 5 // Refused - Query Refused [DNS] - RcodeYXDomain = 6 // YXDomain - Name Exists when it should not [DNS Update] - RcodeYXRrset = 7 // YXRRSet - RR Set Exists when it should not [DNS Update] - RcodeNXRrset = 8 // NXRRSet - RR Set that should exist does not [DNS Update] - RcodeNotAuth = 9 // NotAuth - Server Not Authoritative for zone [DNS Update] - RcodeNotZone = 10 // NotZone - Name not contained in zone [DNS Update/TSIG] - RcodeBadSig = 16 // BADSIG - TSIG Signature Failure [TSIG] https://www.rfc-editor.org/rfc/rfc6895.html#section-2.3 - RcodeBadVers = 16 // BADVERS - Bad OPT Version [EDNS0] https://www.rfc-editor.org/rfc/rfc6895.html#section-2.3 - RcodeBadKey = 17 // BADKEY - Key not recognized [TSIG] - RcodeBadTime = 18 // BADTIME - Signature out of time window [TSIG] - RcodeBadMode = 19 // BADMODE - Bad TKEY Mode [TKEY] - RcodeBadName = 20 // BADNAME - Duplicate key name [TKEY] - RcodeBadAlg = 21 // BADALG - Algorithm not supported [TKEY] - RcodeBadTrunc = 22 // BADTRUNC - Bad Truncation [TSIG] - RcodeBadCookie = 23 // BADCOOKIE - Bad/missing Server Cookie [DNS Cookies] + RcodeSuccess = 0 // NoError - No Error [DNS] + RcodeFormatError = 1 // FormErr - Format Error [DNS] + RcodeServerFailure = 2 // ServFail - Server Failure [DNS] + RcodeNameError = 3 // NXDomain - Non-Existent Domain [DNS] + RcodeNotImplemented = 4 // NotImp - Not Implemented [DNS] + RcodeRefused = 5 // Refused - Query Refused [DNS] + RcodeYXDomain = 6 // YXDomain - Name Exists when it should not [DNS Update] + RcodeYXRrset = 7 // YXRRSet - RR Set Exists when it should not [DNS Update] + RcodeNXRrset = 8 // NXRRSet - RR Set that should exist does not [DNS Update] + RcodeNotAuth = 9 // NotAuth - Server Not Authoritative for zone [DNS Update] + RcodeNotZone = 10 // NotZone - Name not contained in zone [DNS Update/TSIG] + RcodeStatefulTypeNotImplemented = 11 // DSOTypeNI - DSO-TYPE not implemented [DNS Stateful Operations] https://www.rfc-editor.org/rfc/rfc8490.html#section-10.2 + RcodeBadSig = 16 // BADSIG - TSIG Signature Failure [TSIG] https://www.rfc-editor.org/rfc/rfc6895.html#section-2.3 + RcodeBadVers = 16 // BADVERS - Bad OPT Version [EDNS0] https://www.rfc-editor.org/rfc/rfc6895.html#section-2.3 + RcodeBadKey = 17 // BADKEY - Key not recognized [TSIG] + RcodeBadTime = 18 // BADTIME - Signature out of time window [TSIG] + RcodeBadMode = 19 // BADMODE - Bad TKEY Mode [TKEY] + RcodeBadName = 20 // BADNAME - Duplicate key name [TKEY] + RcodeBadAlg = 21 // BADALG - Algorithm not supported [TKEY] + RcodeBadTrunc = 22 // BADTRUNC - Bad Truncation [TSIG] + RcodeBadCookie = 23 // BADCOOKIE - Bad/missing Server Cookie [DNS Cookies] // Message Opcodes. There is no 3. - OpcodeQuery = 0 - OpcodeIQuery = 1 - OpcodeStatus = 2 - OpcodeNotify = 4 - OpcodeUpdate = 5 + OpcodeQuery = 0 + OpcodeIQuery = 1 + OpcodeStatus = 2 + OpcodeNotify = 4 + OpcodeUpdate = 5 + OpcodeStateful = 6 ) // Used in ZONEMD https://tools.ietf.org/html/rfc8976 @@ -179,6 +181,19 @@ const ( AMTRELAYHost = IPSECGatewayHost ) +// Stateful types as defined in RFC 8490. +const ( + StatefulTypeKeepAlive uint16 = iota + 1 + StatefulTypeRetryDelay + StatefulTypeEncryptionPadding +) + +var StatefulTypeToString = map[uint16]string{ + StatefulTypeKeepAlive: "KeepAlive", + StatefulTypeRetryDelay: "RetryDelay", + StatefulTypeEncryptionPadding: "EncryptionPadding", +} + // Header is the wire format for the DNS packet header. type Header struct { Id uint16 @@ -886,7 +901,7 @@ func (rr *LOC) String() string { lon = lon % LOC_HOURS s += fmt.Sprintf("%02d %02d %0.3f %s ", h, m, float64(lon)/1000, ew) - var alt = float64(rr.Altitude) / 100 + alt := float64(rr.Altitude) / 100 alt -= LOC_ALTITUDEBASE if rr.Altitude%100 != 0 { s += fmt.Sprintf("%.2fm ", alt) diff --git a/vendor/github.com/miekg/dns/version.go b/vendor/github.com/miekg/dns/version.go index 73e34edc3..936dc2124 100644 --- a/vendor/github.com/miekg/dns/version.go +++ b/vendor/github.com/miekg/dns/version.go @@ -3,7 +3,7 @@ package dns import "fmt" // Version is current version of this library. -var Version = v{1, 1, 65} +var Version = v{1, 1, 66} // v holds the version of this library. type v struct { diff --git a/vendor/github.com/miekg/dns/xfr.go b/vendor/github.com/miekg/dns/xfr.go index 5cfbb516a..97a642471 100644 --- a/vendor/github.com/miekg/dns/xfr.go +++ b/vendor/github.com/miekg/dns/xfr.go @@ -251,10 +251,13 @@ func (t *Transfer) ReadMsg() (*Msg, error) { if err := m.Unpack(p); err != nil { return nil, err } - if ts, tp := m.IsTsig(), t.tsigProvider(); ts != nil && tp != nil { + + if tp := t.tsigProvider(); tp != nil { // Need to work on the original message p, as that was used to calculate the tsig. err = TsigVerifyWithProvider(p, tp, t.tsigRequestMAC, t.tsigTimersOnly) - t.tsigRequestMAC = ts.MAC + if ts := m.IsTsig(); ts != nil { + t.tsigRequestMAC = ts.MAC + } } return m, err } diff --git a/vendor/github.com/ncruces/go-sqlite3/embed/README.md b/vendor/github.com/ncruces/go-sqlite3/embed/README.md index 765c4b685..1a2d575bb 100644 --- a/vendor/github.com/ncruces/go-sqlite3/embed/README.md +++ b/vendor/github.com/ncruces/go-sqlite3/embed/README.md @@ -1,6 +1,6 @@ # Embeddable Wasm build of SQLite -This folder includes an embeddable Wasm build of SQLite 3.49.1 for use with +This folder includes an embeddable Wasm build of SQLite 3.49.2 for use with [`github.com/ncruces/go-sqlite3`](https://pkg.go.dev/github.com/ncruces/go-sqlite3). The following optional features are compiled in: diff --git a/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm b/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm index 88ebe993294d0c03fd59ee7c478a8d052754f075..44f66792631b15e7376f48b3bcff0c960273d4a2 100644 GIT binary patch delta 260799 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

>aLQ2x$o~~j^+8_sqMO6zM&YK`jVf|~E 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�Sp&&T^pldE^%w??3!}qH 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≫!j2iWHkGpFW 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 IO}X&@18D%?CjbBd delta 259548 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

b=!ve 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 +ct9mAo$;#6JJzyWt?FuHwt#AU?B-H-|F(Xca#N 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 max { - return max - } - return d + return min(d, maxVal) } // retryAfter parses a Retry-After HTTP header value, diff --git a/vendor/golang.org/x/crypto/acme/types.go b/vendor/golang.org/x/crypto/acme/types.go index 45492adc8..640223cb7 100644 --- a/vendor/golang.org/x/crypto/acme/types.go +++ b/vendor/golang.org/x/crypto/acme/types.go @@ -56,6 +56,10 @@ var ( // ErrNoAccount indicates that the Client's key has not been registered with the CA. ErrNoAccount = errors.New("acme: account does not exist") + + // errPreAuthorizationNotSupported indicates that the server does not + // support pre-authorization of identifiers. + errPreAuthorizationNotSupported = errors.New("acme: pre-authorization is not supported") ) // A Subproblem describes an ACME subproblem as reported in an Error. diff --git a/vendor/golang.org/x/crypto/ssh/mlkem.go b/vendor/golang.org/x/crypto/ssh/mlkem.go new file mode 100644 index 000000000..40681dd69 --- /dev/null +++ b/vendor/golang.org/x/crypto/ssh/mlkem.go @@ -0,0 +1,187 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build go1.24 + +package ssh + +import ( + "crypto" + "crypto/mlkem" + "crypto/sha256" + "errors" + "fmt" + "io" + "runtime" + "slices" + + "golang.org/x/crypto/curve25519" +) + +const ( + kexAlgoMLKEM768xCurve25519SHA256 = "mlkem768x25519-sha256" +) + +func init() { + // After Go 1.24rc1 mlkem swapped the order of return values of Encapsulate. + // See #70950. + if runtime.Version() == "go1.24rc1" { + return + } + supportedKexAlgos = slices.Insert(supportedKexAlgos, 0, kexAlgoMLKEM768xCurve25519SHA256) + preferredKexAlgos = slices.Insert(preferredKexAlgos, 0, kexAlgoMLKEM768xCurve25519SHA256) + kexAlgoMap[kexAlgoMLKEM768xCurve25519SHA256] = &mlkem768WithCurve25519sha256{} +} + +// mlkem768WithCurve25519sha256 implements the hybrid ML-KEM768 with +// curve25519-sha256 key exchange method, as described by +// draft-kampanakis-curdle-ssh-pq-ke-05 section 2.3.3. +type mlkem768WithCurve25519sha256 struct{} + +func (kex *mlkem768WithCurve25519sha256) Client(c packetConn, rand io.Reader, magics *handshakeMagics) (*kexResult, error) { + var c25519kp curve25519KeyPair + if err := c25519kp.generate(rand); err != nil { + return nil, err + } + + seed := make([]byte, mlkem.SeedSize) + if _, err := io.ReadFull(rand, seed); err != nil { + return nil, err + } + + mlkemDk, err := mlkem.NewDecapsulationKey768(seed) + if err != nil { + return nil, err + } + + hybridKey := append(mlkemDk.EncapsulationKey().Bytes(), c25519kp.pub[:]...) + if err := c.writePacket(Marshal(&kexECDHInitMsg{hybridKey})); err != nil { + return nil, err + } + + packet, err := c.readPacket() + if err != nil { + return nil, err + } + + var reply kexECDHReplyMsg + if err = Unmarshal(packet, &reply); err != nil { + return nil, err + } + + if len(reply.EphemeralPubKey) != mlkem.CiphertextSize768+32 { + return nil, errors.New("ssh: peer's mlkem768x25519 public value has wrong length") + } + + // Perform KEM decapsulate operation to obtain shared key from ML-KEM. + mlkem768Secret, err := mlkemDk.Decapsulate(reply.EphemeralPubKey[:mlkem.CiphertextSize768]) + if err != nil { + return nil, err + } + + // Complete Curve25519 ECDH to obtain its shared key. + c25519Secret, err := curve25519.X25519(c25519kp.priv[:], reply.EphemeralPubKey[mlkem.CiphertextSize768:]) + if err != nil { + return nil, fmt.Errorf("ssh: peer's mlkem768x25519 public value is not valid: %w", err) + } + // Compute actual shared key. + h := sha256.New() + h.Write(mlkem768Secret) + h.Write(c25519Secret) + secret := h.Sum(nil) + + h.Reset() + magics.write(h) + writeString(h, reply.HostKey) + writeString(h, hybridKey) + writeString(h, reply.EphemeralPubKey) + + K := make([]byte, stringLength(len(secret))) + marshalString(K, secret) + h.Write(K) + + return &kexResult{ + H: h.Sum(nil), + K: K, + HostKey: reply.HostKey, + Signature: reply.Signature, + Hash: crypto.SHA256, + }, nil +} + +func (kex *mlkem768WithCurve25519sha256) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (*kexResult, error) { + packet, err := c.readPacket() + if err != nil { + return nil, err + } + + var kexInit kexECDHInitMsg + if err = Unmarshal(packet, &kexInit); err != nil { + return nil, err + } + + if len(kexInit.ClientPubKey) != mlkem.EncapsulationKeySize768+32 { + return nil, errors.New("ssh: peer's ML-KEM768/curve25519 public value has wrong length") + } + + encapsulationKey, err := mlkem.NewEncapsulationKey768(kexInit.ClientPubKey[:mlkem.EncapsulationKeySize768]) + if err != nil { + return nil, fmt.Errorf("ssh: peer's ML-KEM768 encapsulation key is not valid: %w", err) + } + // Perform KEM encapsulate operation to obtain ciphertext and shared key. + mlkem768Secret, mlkem768Ciphertext := encapsulationKey.Encapsulate() + + // Perform server side of Curve25519 ECDH to obtain server public value and + // shared key. + var c25519kp curve25519KeyPair + if err := c25519kp.generate(rand); err != nil { + return nil, err + } + c25519Secret, err := curve25519.X25519(c25519kp.priv[:], kexInit.ClientPubKey[mlkem.EncapsulationKeySize768:]) + if err != nil { + return nil, fmt.Errorf("ssh: peer's ML-KEM768/curve25519 public value is not valid: %w", err) + } + hybridKey := append(mlkem768Ciphertext, c25519kp.pub[:]...) + + // Compute actual shared key. + h := sha256.New() + h.Write(mlkem768Secret) + h.Write(c25519Secret) + secret := h.Sum(nil) + + hostKeyBytes := priv.PublicKey().Marshal() + + h.Reset() + magics.write(h) + writeString(h, hostKeyBytes) + writeString(h, kexInit.ClientPubKey) + writeString(h, hybridKey) + + K := make([]byte, stringLength(len(secret))) + marshalString(K, secret) + h.Write(K) + + H := h.Sum(nil) + + sig, err := signAndMarshal(priv, rand, H, algo) + if err != nil { + return nil, err + } + + reply := kexECDHReplyMsg{ + EphemeralPubKey: hybridKey, + HostKey: hostKeyBytes, + Signature: sig, + } + if err := c.writePacket(Marshal(&reply)); err != nil { + return nil, err + } + return &kexResult{ + H: H, + K: K, + HostKey: hostKeyBytes, + Signature: sig, + Hash: crypto.SHA256, + }, nil +} diff --git a/vendor/golang.org/x/oauth2/internal/doc.go b/vendor/golang.org/x/oauth2/internal/doc.go index 03265e888..8c7c475f2 100644 --- a/vendor/golang.org/x/oauth2/internal/doc.go +++ b/vendor/golang.org/x/oauth2/internal/doc.go @@ -2,5 +2,5 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package internal contains support packages for oauth2 package. +// Package internal contains support packages for [golang.org/x/oauth2]. package internal diff --git a/vendor/golang.org/x/oauth2/internal/oauth2.go b/vendor/golang.org/x/oauth2/internal/oauth2.go index 14989beaf..71ea6ad1f 100644 --- a/vendor/golang.org/x/oauth2/internal/oauth2.go +++ b/vendor/golang.org/x/oauth2/internal/oauth2.go @@ -13,7 +13,7 @@ import ( ) // ParseKey converts the binary contents of a private key file -// to an *rsa.PrivateKey. It detects whether the private key is in a +// to an [*rsa.PrivateKey]. It detects whether the private key is in a // PEM container or not. If so, it extracts the private key // from PEM container before conversion. It only supports PEM // containers with no passphrase. diff --git a/vendor/golang.org/x/oauth2/internal/token.go b/vendor/golang.org/x/oauth2/internal/token.go index e83ddeef0..8389f2462 100644 --- a/vendor/golang.org/x/oauth2/internal/token.go +++ b/vendor/golang.org/x/oauth2/internal/token.go @@ -10,7 +10,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "math" "mime" "net/http" @@ -26,9 +25,9 @@ import ( // the requests to access protected resources on the OAuth 2.0 // provider's backend. // -// This type is a mirror of oauth2.Token and exists to break +// This type is a mirror of [golang.org/x/oauth2.Token] and exists to break // an otherwise-circular dependency. Other internal packages -// should convert this Token into an oauth2.Token before use. +// should convert this Token into an [golang.org/x/oauth2.Token] before use. type Token struct { // AccessToken is the token that authorizes and authenticates // the requests. @@ -50,9 +49,16 @@ type Token struct { // mechanisms for that TokenSource will not be used. Expiry time.Time + // ExpiresIn is the OAuth2 wire format "expires_in" field, + // which specifies how many seconds later the token expires, + // relative to an unknown time base approximately around "now". + // It is the application's responsibility to populate + // `Expiry` from `ExpiresIn` when required. + ExpiresIn int64 `json:"expires_in,omitempty"` + // Raw optionally contains extra metadata from the server // when updating a token. - Raw interface{} + Raw any } // tokenJSON is the struct representing the HTTP response from OAuth2 @@ -99,14 +105,6 @@ func (e *expirationTime) UnmarshalJSON(b []byte) error { return nil } -// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op. -// -// Deprecated: this function no longer does anything. Caller code that -// wants to avoid potential extra HTTP requests made during -// auto-probing of the provider's auth style should set -// Endpoint.AuthStyle. -func RegisterBrokenAuthHeaderProvider(tokenURL string) {} - // AuthStyle is a copy of the golang.org/x/oauth2 package's AuthStyle type. type AuthStyle int @@ -143,6 +141,11 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache { return c } +type authStyleCacheKey struct { + url string + clientID string +} + // AuthStyleCache is the set of tokenURLs we've successfully used via // RetrieveToken and which style auth we ended up using. // It's called a cache, but it doesn't (yet?) shrink. It's expected that @@ -150,26 +153,26 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache { // small. type AuthStyleCache struct { mu sync.Mutex - m map[string]AuthStyle // keyed by tokenURL + m map[authStyleCacheKey]AuthStyle } // lookupAuthStyle reports which auth style we last used with tokenURL // when calling RetrieveToken and whether we have ever done so. -func (c *AuthStyleCache) lookupAuthStyle(tokenURL string) (style AuthStyle, ok bool) { +func (c *AuthStyleCache) lookupAuthStyle(tokenURL, clientID string) (style AuthStyle, ok bool) { c.mu.Lock() defer c.mu.Unlock() - style, ok = c.m[tokenURL] + style, ok = c.m[authStyleCacheKey{tokenURL, clientID}] return } // setAuthStyle adds an entry to authStyleCache, documented above. -func (c *AuthStyleCache) setAuthStyle(tokenURL string, v AuthStyle) { +func (c *AuthStyleCache) setAuthStyle(tokenURL, clientID string, v AuthStyle) { c.mu.Lock() defer c.mu.Unlock() if c.m == nil { - c.m = make(map[string]AuthStyle) + c.m = make(map[authStyleCacheKey]AuthStyle) } - c.m[tokenURL] = v + c.m[authStyleCacheKey{tokenURL, clientID}] = v } // newTokenRequest returns a new *http.Request to retrieve a new token @@ -210,9 +213,9 @@ func cloneURLValues(v url.Values) url.Values { } func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values, authStyle AuthStyle, styleCache *AuthStyleCache) (*Token, error) { - needsAuthStyleProbe := authStyle == 0 + needsAuthStyleProbe := authStyle == AuthStyleUnknown if needsAuthStyleProbe { - if style, ok := styleCache.lookupAuthStyle(tokenURL); ok { + if style, ok := styleCache.lookupAuthStyle(tokenURL, clientID); ok { authStyle = style needsAuthStyleProbe = false } else { @@ -242,7 +245,7 @@ func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, token, err = doTokenRoundTrip(ctx, req) } if needsAuthStyleProbe && err == nil { - styleCache.setAuthStyle(tokenURL, authStyle) + styleCache.setAuthStyle(tokenURL, clientID, authStyle) } // Don't overwrite `RefreshToken` with an empty value // if this was a token refreshing request. @@ -257,7 +260,7 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) { if err != nil { return nil, err } - body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20)) + body, err := io.ReadAll(io.LimitReader(r.Body, 1<<20)) r.Body.Close() if err != nil { return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err) @@ -312,7 +315,8 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) { TokenType: tj.TokenType, RefreshToken: tj.RefreshToken, Expiry: tj.expiry(), - Raw: make(map[string]interface{}), + ExpiresIn: int64(tj.ExpiresIn), + Raw: make(map[string]any), } json.Unmarshal(body, &token.Raw) // no error checks for optional fields } diff --git a/vendor/golang.org/x/oauth2/internal/transport.go b/vendor/golang.org/x/oauth2/internal/transport.go index b9db01ddf..afc0aeb27 100644 --- a/vendor/golang.org/x/oauth2/internal/transport.go +++ b/vendor/golang.org/x/oauth2/internal/transport.go @@ -9,8 +9,8 @@ import ( "net/http" ) -// HTTPClient is the context key to use with golang.org/x/net/context's -// WithValue function to associate an *http.Client value with a context. +// HTTPClient is the context key to use with [context.WithValue] +// to associate an [*http.Client] value with a context. var HTTPClient ContextKey // ContextKey is just an empty struct. It exists so HTTPClient can be diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go index eacdd7fd9..de34feb84 100644 --- a/vendor/golang.org/x/oauth2/oauth2.go +++ b/vendor/golang.org/x/oauth2/oauth2.go @@ -22,9 +22,9 @@ import ( ) // NoContext is the default context you should supply if not using -// your own context.Context (see https://golang.org/x/net/context). +// your own [context.Context]. // -// Deprecated: Use context.Background() or context.TODO() instead. +// Deprecated: Use [context.Background] or [context.TODO] instead. var NoContext = context.TODO() // RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op. @@ -37,8 +37,8 @@ func RegisterBrokenAuthHeaderProvider(tokenURL string) {} // Config describes a typical 3-legged OAuth2 flow, with both the // client application information and the server's endpoint URLs. -// For the client credentials 2-legged OAuth2 flow, see the clientcredentials -// package (https://golang.org/x/oauth2/clientcredentials). +// For the client credentials 2-legged OAuth2 flow, see the +// [golang.org/x/oauth2/clientcredentials] package. type Config struct { // ClientID is the application's ID. ClientID string @@ -46,7 +46,7 @@ type Config struct { // ClientSecret is the application's secret. ClientSecret string - // Endpoint contains the resource server's token endpoint + // Endpoint contains the authorization server's token endpoint // URLs. These are constants specific to each server and are // often available via site-specific packages, such as // google.Endpoint or github.Endpoint. @@ -135,7 +135,7 @@ type setParam struct{ k, v string } func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) } -// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters +// SetAuthURLParam builds an [AuthCodeOption] which passes key/value parameters // to a provider's authorization endpoint. func SetAuthURLParam(key, value string) AuthCodeOption { return setParam{key, value} @@ -148,8 +148,8 @@ func SetAuthURLParam(key, value string) AuthCodeOption { // request and callback. The authorization server includes this value when // redirecting the user agent back to the client. // -// Opts may include AccessTypeOnline or AccessTypeOffline, as well -// as ApprovalForce. +// Opts may include [AccessTypeOnline] or [AccessTypeOffline], as well +// as [ApprovalForce]. // // To protect against CSRF attacks, opts should include a PKCE challenge // (S256ChallengeOption). Not all servers support PKCE. An alternative is to @@ -194,7 +194,7 @@ func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string { // and when other authorization grant types are not available." // See https://tools.ietf.org/html/rfc6749#section-4.3 for more info. // -// The provided context optionally controls which HTTP client is used. See the HTTPClient variable. +// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable. func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) { v := url.Values{ "grant_type": {"password"}, @@ -212,10 +212,10 @@ func (c *Config) PasswordCredentialsToken(ctx context.Context, username, passwor // It is used after a resource provider redirects the user back // to the Redirect URI (the URL obtained from AuthCodeURL). // -// The provided context optionally controls which HTTP client is used. See the HTTPClient variable. +// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable. // -// The code will be in the *http.Request.FormValue("code"). Before -// calling Exchange, be sure to validate FormValue("state") if you are +// The code will be in the [http.Request.FormValue]("code"). Before +// calling Exchange, be sure to validate [http.Request.FormValue]("state") if you are // using it to protect against CSRF attacks. // // If using PKCE to protect against CSRF attacks, opts should include a @@ -242,10 +242,10 @@ func (c *Config) Client(ctx context.Context, t *Token) *http.Client { return NewClient(ctx, c.TokenSource(ctx, t)) } -// TokenSource returns a TokenSource that returns t until t expires, +// TokenSource returns a [TokenSource] that returns t until t expires, // automatically refreshing it as necessary using the provided context. // -// Most users will use Config.Client instead. +// Most users will use [Config.Client] instead. func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource { tkr := &tokenRefresher{ ctx: ctx, @@ -260,7 +260,7 @@ func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource { } } -// tokenRefresher is a TokenSource that makes "grant_type"=="refresh_token" +// tokenRefresher is a TokenSource that makes "grant_type=refresh_token" // HTTP requests to renew a token using a RefreshToken. type tokenRefresher struct { ctx context.Context // used to get HTTP requests @@ -305,8 +305,7 @@ type reuseTokenSource struct { } // Token returns the current token if it's still valid, else will -// refresh the current token (using r.Context for HTTP client -// information) and return the new one. +// refresh the current token and return the new one. func (s *reuseTokenSource) Token() (*Token, error) { s.mu.Lock() defer s.mu.Unlock() @@ -322,7 +321,7 @@ func (s *reuseTokenSource) Token() (*Token, error) { return t, nil } -// StaticTokenSource returns a TokenSource that always returns the same token. +// StaticTokenSource returns a [TokenSource] that always returns the same token. // Because the provided token t is never refreshed, StaticTokenSource is only // useful for tokens that never expire. func StaticTokenSource(t *Token) TokenSource { @@ -338,16 +337,16 @@ func (s staticTokenSource) Token() (*Token, error) { return s.t, nil } -// HTTPClient is the context key to use with golang.org/x/net/context's -// WithValue function to associate an *http.Client value with a context. +// HTTPClient is the context key to use with [context.WithValue] +// to associate a [*http.Client] value with a context. var HTTPClient internal.ContextKey -// NewClient creates an *http.Client from a Context and TokenSource. +// NewClient creates an [*http.Client] from a [context.Context] and [TokenSource]. // The returned client is not valid beyond the lifetime of the context. // -// Note that if a custom *http.Client is provided via the Context it +// Note that if a custom [*http.Client] is provided via the [context.Context] it // is used only for token acquisition and is not used to configure the -// *http.Client returned from NewClient. +// [*http.Client] returned from NewClient. // // As a special case, if src is nil, a non-OAuth2 client is returned // using the provided context. This exists to support related OAuth2 @@ -368,7 +367,7 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client { } } -// ReuseTokenSource returns a TokenSource which repeatedly returns the +// ReuseTokenSource returns a [TokenSource] which repeatedly returns the // same token as long as it's valid, starting with t. // When its cached token is invalid, a new token is obtained from src. // @@ -376,10 +375,10 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client { // (such as a file on disk) between runs of a program, rather than // obtaining new tokens unnecessarily. // -// The initial token t may be nil, in which case the TokenSource is +// The initial token t may be nil, in which case the [TokenSource] is // wrapped in a caching version if it isn't one already. This also // means it's always safe to wrap ReuseTokenSource around any other -// TokenSource without adverse effects. +// [TokenSource] without adverse effects. func ReuseTokenSource(t *Token, src TokenSource) TokenSource { // Don't wrap a reuseTokenSource in itself. That would work, // but cause an unnecessary number of mutex operations. @@ -397,8 +396,8 @@ func ReuseTokenSource(t *Token, src TokenSource) TokenSource { } } -// ReuseTokenSourceWithExpiry returns a TokenSource that acts in the same manner as the -// TokenSource returned by ReuseTokenSource, except the expiry buffer is +// ReuseTokenSourceWithExpiry returns a [TokenSource] that acts in the same manner as the +// [TokenSource] returned by [ReuseTokenSource], except the expiry buffer is // configurable. The expiration time of a token is calculated as // t.Expiry.Add(-earlyExpiry). func ReuseTokenSourceWithExpiry(t *Token, src TokenSource, earlyExpiry time.Duration) TokenSource { diff --git a/vendor/golang.org/x/oauth2/pkce.go b/vendor/golang.org/x/oauth2/pkce.go index 6a95da975..cea8374d5 100644 --- a/vendor/golang.org/x/oauth2/pkce.go +++ b/vendor/golang.org/x/oauth2/pkce.go @@ -1,6 +1,7 @@ // Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. + package oauth2 import ( @@ -20,9 +21,9 @@ const ( // This follows recommendations in RFC 7636. // // A fresh verifier should be generated for each authorization. -// S256ChallengeOption(verifier) should then be passed to Config.AuthCodeURL -// (or Config.DeviceAuth) and VerifierOption(verifier) to Config.Exchange -// (or Config.DeviceAccessToken). +// The resulting verifier should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth] +// with [S256ChallengeOption], and to [Config.Exchange] or [Config.DeviceAccessToken] +// with [VerifierOption]. func GenerateVerifier() string { // "RECOMMENDED that the output of a suitable random number generator be // used to create a 32-octet sequence. The octet sequence is then @@ -36,22 +37,22 @@ func GenerateVerifier() string { return base64.RawURLEncoding.EncodeToString(data) } -// VerifierOption returns a PKCE code verifier AuthCodeOption. It should be -// passed to Config.Exchange or Config.DeviceAccessToken only. +// VerifierOption returns a PKCE code verifier [AuthCodeOption]. It should only be +// passed to [Config.Exchange] or [Config.DeviceAccessToken]. func VerifierOption(verifier string) AuthCodeOption { return setParam{k: codeVerifierKey, v: verifier} } // S256ChallengeFromVerifier returns a PKCE code challenge derived from verifier with method S256. // -// Prefer to use S256ChallengeOption where possible. +// Prefer to use [S256ChallengeOption] where possible. func S256ChallengeFromVerifier(verifier string) string { sha := sha256.Sum256([]byte(verifier)) return base64.RawURLEncoding.EncodeToString(sha[:]) } // S256ChallengeOption derives a PKCE code challenge derived from verifier with -// method S256. It should be passed to Config.AuthCodeURL or Config.DeviceAuth +// method S256. It should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth] // only. func S256ChallengeOption(verifier string) AuthCodeOption { return challengeOption{ diff --git a/vendor/golang.org/x/oauth2/token.go b/vendor/golang.org/x/oauth2/token.go index 8c31136c4..239ec3296 100644 --- a/vendor/golang.org/x/oauth2/token.go +++ b/vendor/golang.org/x/oauth2/token.go @@ -44,7 +44,7 @@ type Token struct { // Expiry is the optional expiration time of the access token. // - // If zero, TokenSource implementations will reuse the same + // If zero, [TokenSource] implementations will reuse the same // token forever and RefreshToken or equivalent // mechanisms for that TokenSource will not be used. Expiry time.Time `json:"expiry,omitempty"` @@ -58,7 +58,7 @@ type Token struct { // raw optionally contains extra metadata from the server // when updating a token. - raw interface{} + raw any // expiryDelta is used to calculate when a token is considered // expired, by subtracting from Expiry. If zero, defaultExpiryDelta @@ -86,16 +86,16 @@ func (t *Token) Type() string { // SetAuthHeader sets the Authorization header to r using the access // token in t. // -// This method is unnecessary when using Transport or an HTTP Client +// This method is unnecessary when using [Transport] or an HTTP Client // returned by this package. func (t *Token) SetAuthHeader(r *http.Request) { r.Header.Set("Authorization", t.Type()+" "+t.AccessToken) } -// WithExtra returns a new Token that's a clone of t, but using the +// WithExtra returns a new [Token] that's a clone of t, but using the // provided raw extra map. This is only intended for use by packages // implementing derivative OAuth2 flows. -func (t *Token) WithExtra(extra interface{}) *Token { +func (t *Token) WithExtra(extra any) *Token { t2 := new(Token) *t2 = *t t2.raw = extra @@ -105,8 +105,8 @@ func (t *Token) WithExtra(extra interface{}) *Token { // Extra returns an extra field. // Extra fields are key-value pairs returned by the server as a // part of the token retrieval response. -func (t *Token) Extra(key string) interface{} { - if raw, ok := t.raw.(map[string]interface{}); ok { +func (t *Token) Extra(key string) any { + if raw, ok := t.raw.(map[string]any); ok { return raw[key] } @@ -163,6 +163,7 @@ func tokenFromInternal(t *internal.Token) *Token { TokenType: t.TokenType, RefreshToken: t.RefreshToken, Expiry: t.Expiry, + ExpiresIn: t.ExpiresIn, raw: t.Raw, } } diff --git a/vendor/golang.org/x/oauth2/transport.go b/vendor/golang.org/x/oauth2/transport.go index 90657915f..8bbebbac9 100644 --- a/vendor/golang.org/x/oauth2/transport.go +++ b/vendor/golang.org/x/oauth2/transport.go @@ -11,12 +11,12 @@ import ( "sync" ) -// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests, -// wrapping a base RoundTripper and adding an Authorization header -// with a token from the supplied Sources. +// Transport is an [http.RoundTripper] that makes OAuth 2.0 HTTP requests, +// wrapping a base [http.RoundTripper] and adding an Authorization header +// with a token from the supplied [TokenSource]. // // Transport is a low-level mechanism. Most code will use the -// higher-level Config.Client method instead. +// higher-level [Config.Client] method instead. type Transport struct { // Source supplies the token to add to outgoing requests' // Authorization headers. @@ -47,7 +47,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) { return nil, err } - req2 := cloneRequest(req) // per RoundTripper contract + req2 := req.Clone(req.Context()) token.SetAuthHeader(req2) // req.Body is assumed to be closed by the base RoundTripper. @@ -73,17 +73,3 @@ func (t *Transport) base() http.RoundTripper { } return http.DefaultTransport } - -// cloneRequest returns a clone of the provided *http.Request. -// The clone is a shallow copy of the struct and its Header map. -func cloneRequest(r *http.Request) *http.Request { - // shallow copy of the struct - r2 := new(http.Request) - *r2 = *r - // deep copy of the Header - r2.Header = make(http.Header, len(r.Header)) - for k, s := range r.Header { - r2.Header[k] = append([]string(nil), s...) - } - return r2 -} diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index f8c3c0926..cfafed5b5 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -12,6 +12,8 @@ package errgroup import ( "context" "fmt" + "runtime" + "runtime/debug" "sync" ) @@ -31,6 +33,10 @@ type Group struct { errOnce sync.Once err error + + mu sync.Mutex + panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked. + abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit). } func (g *Group) done() { @@ -50,13 +56,22 @@ func WithContext(ctx context.Context) (*Group, context.Context) { return &Group{cancel: cancel}, ctx } -// Wait blocks until all function calls from the Go method have returned, then -// returns the first non-nil error (if any) from them. +// Wait blocks until all function calls from the Go method have returned +// normally, then returns the first non-nil error (if any) from them. +// +// If any of the calls panics, Wait panics with a [PanicValue]; +// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit. func (g *Group) Wait() error { g.wg.Wait() if g.cancel != nil { g.cancel(g.err) } + if g.panicValue != nil { + panic(g.panicValue) + } + if g.abnormal { + runtime.Goexit() + } return g.err } @@ -65,18 +80,56 @@ func (g *Group) Wait() error { // It blocks until the new goroutine can be added without the number of // active goroutines in the group exceeding the configured limit. // -// The first call to return a non-nil error cancels the group's context, if the -// group was created by calling WithContext. The error will be returned by Wait. +// It blocks until the new goroutine can be added without the number of +// goroutines in the group exceeding the configured limit. +// +// The first goroutine in the group that returns a non-nil error, panics, or +// invokes [runtime.Goexit] will cancel the associated Context, if any. func (g *Group) Go(f func() error) { if g.sem != nil { g.sem <- token{} } + g.add(f) +} + +func (g *Group) add(f func() error) { g.wg.Add(1) go func() { defer g.done() + normalReturn := false + defer func() { + if normalReturn { + return + } + v := recover() + g.mu.Lock() + defer g.mu.Unlock() + if !g.abnormal { + if g.cancel != nil { + g.cancel(g.err) + } + g.abnormal = true + } + if v != nil && g.panicValue == nil { + switch v := v.(type) { + case error: + g.panicValue = PanicError{ + Recovered: v, + Stack: debug.Stack(), + } + default: + g.panicValue = PanicValue{ + Recovered: v, + Stack: debug.Stack(), + } + } + } + }() - if err := f(); err != nil { + err := f() + normalReturn = true + if err != nil { g.errOnce.Do(func() { g.err = err if g.cancel != nil { @@ -101,19 +154,7 @@ func (g *Group) TryGo(f func() error) bool { } } - g.wg.Add(1) - go func() { - defer g.done() - - if err := f(); err != nil { - g.errOnce.Do(func() { - g.err = err - if g.cancel != nil { - g.cancel(g.err) - } - }) - } - }() + g.add(f) return true } @@ -135,3 +176,33 @@ func (g *Group) SetLimit(n int) { } g.sem = make(chan token, n) } + +// PanicError wraps an error recovered from an unhandled panic +// when calling a function passed to Go or TryGo. +type PanicError struct { + Recovered error + Stack []byte // result of call to [debug.Stack] +} + +func (p PanicError) Error() string { + // A Go Error method conventionally does not include a stack dump, so omit it + // here. (Callers who care can extract it from the Stack field.) + return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) +} + +func (p PanicError) Unwrap() error { return p.Recovered } + +// PanicValue wraps a value that does not implement the error interface, +// recovered from an unhandled panic when calling a function passed to Go or +// TryGo. +type PanicValue struct { + Recovered any + Stack []byte // result of call to [debug.Stack] +} + +func (p PanicValue) String() string { + if len(p.Stack) > 0 { + return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack) + } + return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) +} diff --git a/vendor/golang.org/x/sys/cpu/cpu.go b/vendor/golang.org/x/sys/cpu/cpu.go index 2e73ee197..63541994e 100644 --- a/vendor/golang.org/x/sys/cpu/cpu.go +++ b/vendor/golang.org/x/sys/cpu/cpu.go @@ -232,6 +232,17 @@ var RISCV64 struct { HasZba bool // Address generation instructions extension HasZbb bool // Basic bit-manipulation extension HasZbs bool // Single-bit instructions extension + HasZvbb bool // Vector Basic Bit-manipulation + HasZvbc bool // Vector Carryless Multiplication + HasZvkb bool // Vector Cryptography Bit-manipulation + HasZvkt bool // Vector Data-Independent Execution Latency + HasZvkg bool // Vector GCM/GMAC + HasZvkn bool // NIST Algorithm Suite (AES/SHA256/SHA512) + HasZvknc bool // NIST Algorithm Suite with carryless multiply + HasZvkng bool // NIST Algorithm Suite with GCM + HasZvks bool // ShangMi Algorithm Suite + HasZvksc bool // ShangMi Algorithm Suite with carryless multiplication + HasZvksg bool // ShangMi Algorithm Suite with GCM _ CacheLinePad } diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go index cb4a0c572..ad741536f 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go @@ -58,6 +58,15 @@ const ( riscv_HWPROBE_EXT_ZBA = 0x8 riscv_HWPROBE_EXT_ZBB = 0x10 riscv_HWPROBE_EXT_ZBS = 0x20 + riscv_HWPROBE_EXT_ZVBB = 0x20000 + riscv_HWPROBE_EXT_ZVBC = 0x40000 + riscv_HWPROBE_EXT_ZVKB = 0x80000 + riscv_HWPROBE_EXT_ZVKG = 0x100000 + riscv_HWPROBE_EXT_ZVKNED = 0x200000 + riscv_HWPROBE_EXT_ZVKNHB = 0x800000 + riscv_HWPROBE_EXT_ZVKSED = 0x1000000 + riscv_HWPROBE_EXT_ZVKSH = 0x2000000 + riscv_HWPROBE_EXT_ZVKT = 0x4000000 riscv_HWPROBE_KEY_CPUPERF_0 = 0x5 riscv_HWPROBE_MISALIGNED_FAST = 0x3 riscv_HWPROBE_MISALIGNED_MASK = 0x7 @@ -99,6 +108,20 @@ func doinit() { RISCV64.HasZba = isSet(v, riscv_HWPROBE_EXT_ZBA) RISCV64.HasZbb = isSet(v, riscv_HWPROBE_EXT_ZBB) RISCV64.HasZbs = isSet(v, riscv_HWPROBE_EXT_ZBS) + RISCV64.HasZvbb = isSet(v, riscv_HWPROBE_EXT_ZVBB) + RISCV64.HasZvbc = isSet(v, riscv_HWPROBE_EXT_ZVBC) + RISCV64.HasZvkb = isSet(v, riscv_HWPROBE_EXT_ZVKB) + RISCV64.HasZvkg = isSet(v, riscv_HWPROBE_EXT_ZVKG) + RISCV64.HasZvkt = isSet(v, riscv_HWPROBE_EXT_ZVKT) + // Cryptography shorthand extensions + RISCV64.HasZvkn = isSet(v, riscv_HWPROBE_EXT_ZVKNED) && + isSet(v, riscv_HWPROBE_EXT_ZVKNHB) && RISCV64.HasZvkb && RISCV64.HasZvkt + RISCV64.HasZvknc = RISCV64.HasZvkn && RISCV64.HasZvbc + RISCV64.HasZvkng = RISCV64.HasZvkn && RISCV64.HasZvkg + RISCV64.HasZvks = isSet(v, riscv_HWPROBE_EXT_ZVKSED) && + isSet(v, riscv_HWPROBE_EXT_ZVKSH) && RISCV64.HasZvkb && RISCV64.HasZvkt + RISCV64.HasZvksc = RISCV64.HasZvks && RISCV64.HasZvbc + RISCV64.HasZvksg = RISCV64.HasZvks && RISCV64.HasZvkg } if pairs[1].key != -1 { v := pairs[1].value & riscv_HWPROBE_MISALIGNED_MASK diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go index aca3199c9..0f617aef5 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go @@ -16,5 +16,17 @@ func initOptions() { {Name: "zba", Feature: &RISCV64.HasZba}, {Name: "zbb", Feature: &RISCV64.HasZbb}, {Name: "zbs", Feature: &RISCV64.HasZbs}, + // RISC-V Cryptography Extensions + {Name: "zvbb", Feature: &RISCV64.HasZvbb}, + {Name: "zvbc", Feature: &RISCV64.HasZvbc}, + {Name: "zvkb", Feature: &RISCV64.HasZvkb}, + {Name: "zvkg", Feature: &RISCV64.HasZvkg}, + {Name: "zvkt", Feature: &RISCV64.HasZvkt}, + {Name: "zvkn", Feature: &RISCV64.HasZvkn}, + {Name: "zvknc", Feature: &RISCV64.HasZvknc}, + {Name: "zvkng", Feature: &RISCV64.HasZvkng}, + {Name: "zvks", Feature: &RISCV64.HasZvks}, + {Name: "zvksc", Feature: &RISCV64.HasZvksc}, + {Name: "zvksg", Feature: &RISCV64.HasZvksg}, } } diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index b6e1ab76f..a8b0364c7 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -1303,7 +1303,10 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE return nil, err } if absoluteSDSize > 0 { - absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) + absoluteSD = new(SECURITY_DESCRIPTOR) + if unsafe.Sizeof(*absoluteSD) < uintptr(absoluteSDSize) { + panic("sizeof(SECURITY_DESCRIPTOR) too small") + } } var ( dacl *ACL @@ -1312,19 +1315,55 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE group *SID ) if daclSize > 0 { - dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) + dacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, daclSize)))) } if saclSize > 0 { - sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) + sacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, saclSize)))) } if ownerSize > 0 { - owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) + owner = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, ownerSize)))) } if groupSize > 0 { - group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) + group = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, groupSize)))) } + // We call into Windows via makeAbsoluteSD, which sets up + // pointers within absoluteSD that point to other chunks of memory + // we pass into makeAbsoluteSD, and that happens outside the view of the GC. + // We therefore take some care here to then verify the pointers are as we expect + // and set them explicitly in view of the GC. See https://go.dev/issue/73199. + // TODO: consider weak pointers once Go 1.24 is appropriate. See suggestion in https://go.dev/cl/663575. err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) + if err != nil { + // Don't return absoluteSD, which might be partially initialized. + return nil, err + } + // Before using any fields, verify absoluteSD is in the format we expect according to Windows. + // See https://learn.microsoft.com/en-us/windows/win32/secauthz/absolute-and-self-relative-security-descriptors + absControl, _, err := absoluteSD.Control() + if err != nil { + panic("absoluteSD: " + err.Error()) + } + if absControl&SE_SELF_RELATIVE != 0 { + panic("absoluteSD not in absolute format") + } + if absoluteSD.dacl != dacl { + panic("dacl pointer mismatch") + } + if absoluteSD.sacl != sacl { + panic("sacl pointer mismatch") + } + if absoluteSD.owner != owner { + panic("owner pointer mismatch") + } + if absoluteSD.group != group { + panic("group pointer mismatch") + } + absoluteSD.dacl = dacl + absoluteSD.sacl = sacl + absoluteSD.owner = owner + absoluteSD.group = group + return } diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 4a3254386..640f6b153 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -870,6 +870,7 @@ const socket_error = uintptr(^uint32(0)) //sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom //sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo //sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW +//sys WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) [failretval!=0] = ws2_32.WSADuplicateSocketW //sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname //sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname //sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs @@ -1698,8 +1699,9 @@ func NewNTUnicodeString(s string) (*NTUnicodeString, error) { // Slice returns a uint16 slice that aliases the data in the NTUnicodeString. func (s *NTUnicodeString) Slice() []uint16 { - slice := unsafe.Slice(s.Buffer, s.MaximumLength) - return slice[:s.Length] + // Note: this rounds the length down, if it happens + // to (incorrectly) be odd. Probably safer than rounding up. + return unsafe.Slice(s.Buffer, s.MaximumLength/2)[:s.Length/2] } func (s *NTUnicodeString) String() string { diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index ad67df2fd..958bcf47a 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -2700,6 +2700,8 @@ type CommTimeouts struct { // NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING. type NTUnicodeString struct { + // Note: Length and MaximumLength are in *bytes*, not uint16s. + // They should always be even. Length uint16 MaximumLength uint16 Buffer *uint16 @@ -3628,3 +3630,213 @@ const ( KLF_NOTELLSHELL = 0x00000080 KLF_SETFORPROCESS = 0x00000100 ) + +// Virtual Key codes +// https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes +const ( + VK_LBUTTON = 0x01 + VK_RBUTTON = 0x02 + VK_CANCEL = 0x03 + VK_MBUTTON = 0x04 + VK_XBUTTON1 = 0x05 + VK_XBUTTON2 = 0x06 + VK_BACK = 0x08 + VK_TAB = 0x09 + VK_CLEAR = 0x0C + VK_RETURN = 0x0D + VK_SHIFT = 0x10 + VK_CONTROL = 0x11 + VK_MENU = 0x12 + VK_PAUSE = 0x13 + VK_CAPITAL = 0x14 + VK_KANA = 0x15 + VK_HANGEUL = 0x15 + VK_HANGUL = 0x15 + VK_IME_ON = 0x16 + VK_JUNJA = 0x17 + VK_FINAL = 0x18 + VK_HANJA = 0x19 + VK_KANJI = 0x19 + VK_IME_OFF = 0x1A + VK_ESCAPE = 0x1B + VK_CONVERT = 0x1C + VK_NONCONVERT = 0x1D + VK_ACCEPT = 0x1E + VK_MODECHANGE = 0x1F + VK_SPACE = 0x20 + VK_PRIOR = 0x21 + VK_NEXT = 0x22 + VK_END = 0x23 + VK_HOME = 0x24 + VK_LEFT = 0x25 + VK_UP = 0x26 + VK_RIGHT = 0x27 + VK_DOWN = 0x28 + VK_SELECT = 0x29 + VK_PRINT = 0x2A + VK_EXECUTE = 0x2B + VK_SNAPSHOT = 0x2C + VK_INSERT = 0x2D + VK_DELETE = 0x2E + VK_HELP = 0x2F + VK_LWIN = 0x5B + VK_RWIN = 0x5C + VK_APPS = 0x5D + VK_SLEEP = 0x5F + VK_NUMPAD0 = 0x60 + VK_NUMPAD1 = 0x61 + VK_NUMPAD2 = 0x62 + VK_NUMPAD3 = 0x63 + VK_NUMPAD4 = 0x64 + VK_NUMPAD5 = 0x65 + VK_NUMPAD6 = 0x66 + VK_NUMPAD7 = 0x67 + VK_NUMPAD8 = 0x68 + VK_NUMPAD9 = 0x69 + VK_MULTIPLY = 0x6A + VK_ADD = 0x6B + VK_SEPARATOR = 0x6C + VK_SUBTRACT = 0x6D + VK_DECIMAL = 0x6E + VK_DIVIDE = 0x6F + VK_F1 = 0x70 + VK_F2 = 0x71 + VK_F3 = 0x72 + VK_F4 = 0x73 + VK_F5 = 0x74 + VK_F6 = 0x75 + VK_F7 = 0x76 + VK_F8 = 0x77 + VK_F9 = 0x78 + VK_F10 = 0x79 + VK_F11 = 0x7A + VK_F12 = 0x7B + VK_F13 = 0x7C + VK_F14 = 0x7D + VK_F15 = 0x7E + VK_F16 = 0x7F + VK_F17 = 0x80 + VK_F18 = 0x81 + VK_F19 = 0x82 + VK_F20 = 0x83 + VK_F21 = 0x84 + VK_F22 = 0x85 + VK_F23 = 0x86 + VK_F24 = 0x87 + VK_NUMLOCK = 0x90 + VK_SCROLL = 0x91 + VK_OEM_NEC_EQUAL = 0x92 + VK_OEM_FJ_JISHO = 0x92 + VK_OEM_FJ_MASSHOU = 0x93 + VK_OEM_FJ_TOUROKU = 0x94 + VK_OEM_FJ_LOYA = 0x95 + VK_OEM_FJ_ROYA = 0x96 + VK_LSHIFT = 0xA0 + VK_RSHIFT = 0xA1 + VK_LCONTROL = 0xA2 + VK_RCONTROL = 0xA3 + VK_LMENU = 0xA4 + VK_RMENU = 0xA5 + VK_BROWSER_BACK = 0xA6 + VK_BROWSER_FORWARD = 0xA7 + VK_BROWSER_REFRESH = 0xA8 + VK_BROWSER_STOP = 0xA9 + VK_BROWSER_SEARCH = 0xAA + VK_BROWSER_FAVORITES = 0xAB + VK_BROWSER_HOME = 0xAC + VK_VOLUME_MUTE = 0xAD + VK_VOLUME_DOWN = 0xAE + VK_VOLUME_UP = 0xAF + VK_MEDIA_NEXT_TRACK = 0xB0 + VK_MEDIA_PREV_TRACK = 0xB1 + VK_MEDIA_STOP = 0xB2 + VK_MEDIA_PLAY_PAUSE = 0xB3 + VK_LAUNCH_MAIL = 0xB4 + VK_LAUNCH_MEDIA_SELECT = 0xB5 + VK_LAUNCH_APP1 = 0xB6 + VK_LAUNCH_APP2 = 0xB7 + VK_OEM_1 = 0xBA + VK_OEM_PLUS = 0xBB + VK_OEM_COMMA = 0xBC + VK_OEM_MINUS = 0xBD + VK_OEM_PERIOD = 0xBE + VK_OEM_2 = 0xBF + VK_OEM_3 = 0xC0 + VK_OEM_4 = 0xDB + VK_OEM_5 = 0xDC + VK_OEM_6 = 0xDD + VK_OEM_7 = 0xDE + VK_OEM_8 = 0xDF + VK_OEM_AX = 0xE1 + VK_OEM_102 = 0xE2 + VK_ICO_HELP = 0xE3 + VK_ICO_00 = 0xE4 + VK_PROCESSKEY = 0xE5 + VK_ICO_CLEAR = 0xE6 + VK_OEM_RESET = 0xE9 + VK_OEM_JUMP = 0xEA + VK_OEM_PA1 = 0xEB + VK_OEM_PA2 = 0xEC + VK_OEM_PA3 = 0xED + VK_OEM_WSCTRL = 0xEE + VK_OEM_CUSEL = 0xEF + VK_OEM_ATTN = 0xF0 + VK_OEM_FINISH = 0xF1 + VK_OEM_COPY = 0xF2 + VK_OEM_AUTO = 0xF3 + VK_OEM_ENLW = 0xF4 + VK_OEM_BACKTAB = 0xF5 + VK_ATTN = 0xF6 + VK_CRSEL = 0xF7 + VK_EXSEL = 0xF8 + VK_EREOF = 0xF9 + VK_PLAY = 0xFA + VK_ZOOM = 0xFB + VK_NONAME = 0xFC + VK_PA1 = 0xFD + VK_OEM_CLEAR = 0xFE +) + +// Mouse button constants. +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001 + RIGHTMOST_BUTTON_PRESSED = 0x0002 + FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004 + FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008 + FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010 +) + +// Control key state constaints. +// https://docs.microsoft.com/en-us/windows/console/key-event-record-str +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + CAPSLOCK_ON = 0x0080 + ENHANCED_KEY = 0x0100 + LEFT_ALT_PRESSED = 0x0002 + LEFT_CTRL_PRESSED = 0x0008 + NUMLOCK_ON = 0x0020 + RIGHT_ALT_PRESSED = 0x0001 + RIGHT_CTRL_PRESSED = 0x0004 + SCROLLLOCK_ON = 0x0040 + SHIFT_PRESSED = 0x0010 +) + +// Mouse event record event flags. +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + MOUSE_MOVED = 0x0001 + DOUBLE_CLICK = 0x0002 + MOUSE_WHEELED = 0x0004 + MOUSE_HWHEELED = 0x0008 +) + +// Input Record Event Types +// https://learn.microsoft.com/en-us/windows/console/input-record-str +const ( + FOCUS_EVENT = 0x0010 + KEY_EVENT = 0x0001 + MENU_EVENT = 0x0008 + MOUSE_EVENT = 0x0002 + WINDOW_BUFFER_SIZE_EVENT = 0x0004 +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 01c0716c2..a58bc48b8 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -511,6 +511,7 @@ var ( procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") procWSACleanup = modws2_32.NewProc("WSACleanup") + procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW") procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") procWSAIoctl = modws2_32.NewProc("WSAIoctl") @@ -4391,6 +4392,14 @@ func WSACleanup() (err error) { return } +func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) { + r1, _, e1 := syscall.Syscall(procWSADuplicateSocketW.Addr(), 3, uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info))) + if r1 != 0 { + err = errnoErr(e1) + } + return +} + func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) n = int32(r0) diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go index a6b5ed0a8..5e5601aa4 100644 --- a/vendor/golang.org/x/tools/go/ast/astutil/imports.go +++ b/vendor/golang.org/x/tools/go/ast/astutil/imports.go @@ -9,6 +9,7 @@ import ( "fmt" "go/ast" "go/token" + "slices" "strconv" "strings" ) @@ -186,7 +187,7 @@ func AddNamedImport(fset *token.FileSet, f *ast.File, name, path string) (added spec.(*ast.ImportSpec).Path.ValuePos = first.Pos() first.Specs = append(first.Specs, spec) } - f.Decls = append(f.Decls[:i], f.Decls[i+1:]...) + f.Decls = slices.Delete(f.Decls, i, i+1) i-- } diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go index 65fe2628e..7b90bc923 100644 --- a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go +++ b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go @@ -193,10 +193,7 @@ func Read(in io.Reader, fset *token.FileSet, imports map[string]*types.Package, return pkg, err default: - l := len(data) - if l > 10 { - l = 10 - } + l := min(len(data), 10) return nil, fmt.Errorf("unexpected export data with prefix %q for path %s", string(data[:l]), path) } } diff --git a/vendor/golang.org/x/tools/go/packages/external.go b/vendor/golang.org/x/tools/go/packages/external.go index 91bd62e83..f37bc6510 100644 --- a/vendor/golang.org/x/tools/go/packages/external.go +++ b/vendor/golang.org/x/tools/go/packages/external.go @@ -90,7 +90,7 @@ func findExternalDriver(cfg *Config) driver { const toolPrefix = "GOPACKAGESDRIVER=" tool := "" for _, env := range cfg.Env { - if val := strings.TrimPrefix(env, toolPrefix); val != env { + if val, ok := strings.CutPrefix(env, toolPrefix); ok { tool = val } } 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 754380351..53b713393 100644 --- a/vendor/golang.org/x/tools/go/types/typeutil/callee.go +++ b/vendor/golang.org/x/tools/go/types/typeutil/callee.go @@ -7,45 +7,23 @@ package typeutil import ( "go/ast" "go/types" - - "golang.org/x/tools/internal/typeparams" + _ "unsafe" // for linkname ) // Callee returns the named target of a function call, if any: // a function, method, builtin, or variable. // // Functions and methods may potentially have type parameters. +// +// Note: for calls of instantiated functions and methods, Callee returns +// the corresponding generic function or method on the generic type. func Callee(info *types.Info, call *ast.CallExpr) types.Object { - fun := ast.Unparen(call.Fun) - - // Look through type instantiation if necessary. - isInstance := false - switch fun.(type) { - case *ast.IndexExpr, *ast.IndexListExpr: - // When extracting the callee from an *IndexExpr, we need to check that - // it is a *types.Func and not a *types.Var. - // Example: Don't match a slice m within the expression `m[0]()`. - isInstance = true - fun, _, _, _ = typeparams.UnpackIndexExpr(fun) - } - - var obj types.Object - switch fun := fun.(type) { - case *ast.Ident: - obj = info.Uses[fun] // type, var, builtin, or declared func - case *ast.SelectorExpr: - if sel, ok := info.Selections[fun]; ok { - obj = sel.Obj() // method or field - } else { - obj = info.Uses[fun.Sel] // qualified identifier? - } + obj := info.Uses[usedIdent(info, call.Fun)] + if obj == nil { + return nil } if _, ok := obj.(*types.TypeName); ok { - return nil // T(x) is a conversion, not a call - } - // A Func is required to match instantiations. - if _, ok := obj.(*types.Func); isInstance && !ok { - return nil // Was not a Func. + return nil } return obj } @@ -56,13 +34,52 @@ func Callee(info *types.Info, call *ast.CallExpr) types.Object { // Note: for calls of instantiated functions and methods, StaticCallee returns // the corresponding generic function or method on the generic type. func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func { - if f, ok := Callee(info, call).(*types.Func); ok && !interfaceMethod(f) { - return f + obj := info.Uses[usedIdent(info, call.Fun)] + fn, _ := obj.(*types.Func) + if fn == nil || interfaceMethod(fn) { + return nil + } + return fn +} + +// usedIdent is the implementation of [internal/typesinternal.UsedIdent]. +// It returns the identifier associated with e. +// See typesinternal.UsedIdent for a fuller description. +// This function should live in typesinternal, but cannot because it would +// create an import cycle. +// +//go:linkname usedIdent +func usedIdent(info *types.Info, e ast.Expr) *ast.Ident { + if info.Types == nil || info.Uses == nil { + panic("one of info.Types or info.Uses is nil; both must be populated") + } + // Look through type instantiation if necessary. + switch d := ast.Unparen(e).(type) { + case *ast.IndexExpr: + if info.Types[d.Index].IsType() { + e = d.X + } + case *ast.IndexListExpr: + e = d.X + } + + switch e := ast.Unparen(e).(type) { + // info.Uses always has the object we want, even for selector expressions. + // We don't need info.Selections. + // See go/types/recording.go:recordSelection. + case *ast.Ident: + return e + case *ast.SelectorExpr: + return e.Sel } return nil } +// interfaceMethod reports whether its argument is a method of an interface. +// This function should live in typesinternal, but cannot because it would create an import cycle. +// +//go:linkname interfaceMethod func interfaceMethod(f *types.Func) bool { - recv := f.Type().(*types.Signature).Recv() + recv := f.Signature().Recv() return recv != nil && types.IsInterface(recv.Type()) } 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 7c00ca2a6..92a391057 100644 --- a/vendor/golang.org/x/tools/internal/event/label/label.go +++ b/vendor/golang.org/x/tools/internal/event/label/label.go @@ -8,6 +8,7 @@ import ( "fmt" "io" "reflect" + "slices" "unsafe" ) @@ -154,10 +155,8 @@ func (f *filter) Valid(index int) bool { func (f *filter) Label(index int) Label { l := f.underlying.Label(index) - for _, f := range f.keys { - if l.Key() == f { - return Label{} - } + if slices.Contains(f.keys, l.Key()) { + return Label{} } return l } diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go index 253d6493c..780873e3a 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/iexport.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/iexport.go @@ -236,6 +236,7 @@ import ( "io" "math/big" "reflect" + "slices" "sort" "strconv" "strings" @@ -271,10 +272,10 @@ import ( // file system, be sure to include a cryptographic digest of the executable in // the key to avoid version skew. // -// If the provided reportf func is non-nil, it will be used for reporting bugs -// encountered during export. -// TODO(rfindley): remove reportf when we are confident enough in the new -// objectpath encoding. +// If the provided reportf func is non-nil, it is used for reporting +// bugs (e.g. recovered panics) encountered during export, enabling us +// to obtain via telemetry the stack that would otherwise be lost by +// merely returning an error. func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc) ([]byte, error) { // In principle this operation can only fail if out.Write fails, // but that's impossible for bytes.Buffer---and as a matter of @@ -283,7 +284,7 @@ func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc) // TODO(adonovan): use byte slices throughout, avoiding copying. const bundle, shallow = false, true var out bytes.Buffer - err := iexportCommon(&out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}) + err := iexportCommon(&out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}, reportf) return out.Bytes(), err } @@ -323,20 +324,27 @@ const bundleVersion = 0 // so that calls to IImportData can override with a provided package path. func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error { const bundle, shallow = false, false - return iexportCommon(out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}) + return iexportCommon(out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}, nil) } // IExportBundle writes an indexed export bundle for pkgs to out. func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error { const bundle, shallow = true, false - return iexportCommon(out, fset, bundle, shallow, iexportVersion, pkgs) + return iexportCommon(out, fset, bundle, shallow, iexportVersion, pkgs, nil) } -func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, version int, pkgs []*types.Package) (err error) { +func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, version int, pkgs []*types.Package, reportf ReportFunc) (err error) { if !debug { defer func() { if e := recover(); e != nil { + // Report the stack via telemetry (see #71067). + if reportf != nil { + reportf("panic in exporter") + } if ierr, ok := e.(internalError); ok { + // internalError usually means we exported a + // bad go/types data structure: a violation + // of an implicit precondition of Export. err = ierr return } @@ -458,7 +466,7 @@ func (p *iexporter) encodeFile(w *intWriter, file *token.File, needed []uint64) w.uint64(size) // Sort the set of needed offsets. Duplicates are harmless. - sort.Slice(needed, func(i, j int) bool { return needed[i] < needed[j] }) + slices.Sort(needed) lines := file.Lines() // byte offset of each line start w.uint64(uint64(len(lines))) @@ -812,7 +820,7 @@ func (p *iexporter) doDecl(obj types.Object) { n := named.NumMethods() w.uint64(uint64(n)) - for i := 0; i < n; i++ { + for i := range n { m := named.Method(i) w.pos(m.Pos()) w.string(m.Name()) @@ -1089,7 +1097,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) { w.pkg(fieldPkg) w.uint64(uint64(n)) - for i := 0; i < n; i++ { + for i := range n { f := t.Field(i) if w.p.shallow { w.objectPath(f) @@ -1138,7 +1146,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) { w.startType(unionType) nt := t.Len() w.uint64(uint64(nt)) - for i := 0; i < nt; i++ { + for i := range nt { term := t.Term(i) w.bool(term.Tilde()) w.typ(term.Type(), pkg) @@ -1267,7 +1275,7 @@ func tparamName(exportName string) string { func (w *exportWriter) paramList(tup *types.Tuple) { n := tup.Len() w.uint64(uint64(n)) - for i := 0; i < n; i++ { + for i := range n { w.param(tup.At(i)) } } diff --git a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go index bc6c9741e..82e6c9d2d 100644 --- a/vendor/golang.org/x/tools/internal/gcimporter/iimport.go +++ b/vendor/golang.org/x/tools/internal/gcimporter/iimport.go @@ -16,6 +16,7 @@ import ( "go/types" "io" "math/big" + "slices" "sort" "strings" @@ -314,7 +315,7 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte pkgs = pkgList[:1] // record all referenced packages as imports - list := append(([]*types.Package)(nil), pkgList[1:]...) + list := slices.Clone(pkgList[1:]) sort.Sort(byPath(list)) pkgs[0].SetImports(list) } diff --git a/vendor/golang.org/x/tools/internal/gocommand/invoke.go b/vendor/golang.org/x/tools/internal/gocommand/invoke.go index 7ea901344..58721202d 100644 --- a/vendor/golang.org/x/tools/internal/gocommand/invoke.go +++ b/vendor/golang.org/x/tools/internal/gocommand/invoke.go @@ -141,7 +141,7 @@ func (runner *Runner) runPiped(ctx context.Context, inv Invocation, stdout, stde // Wait for all in-progress go commands to return before proceeding, // to avoid load concurrency errors. - for i := 0; i < maxInFlight; i++ { + for range maxInFlight { select { case <-ctx.Done(): return ctx.Err(), ctx.Err() diff --git a/vendor/golang.org/x/tools/internal/gopathwalk/walk.go b/vendor/golang.org/x/tools/internal/gopathwalk/walk.go index 984b79c2a..5252144d0 100644 --- a/vendor/golang.org/x/tools/internal/gopathwalk/walk.go +++ b/vendor/golang.org/x/tools/internal/gopathwalk/walk.go @@ -14,6 +14,7 @@ import ( "os" "path/filepath" "runtime" + "slices" "strings" "sync" "time" @@ -195,10 +196,8 @@ func (w *walker) getIgnoredDirs(path string) []string { // shouldSkipDir reports whether the file should be skipped or not. func (w *walker) shouldSkipDir(dir string) bool { - for _, ignoredDir := range w.ignoredDirs { - if dir == ignoredDir { - return true - } + if slices.Contains(w.ignoredDirs, dir) { + return true } if w.skip != nil { // Check with the user specified callback. diff --git a/vendor/golang.org/x/tools/internal/imports/fix.go b/vendor/golang.org/x/tools/internal/imports/fix.go index 737a9bfae..89b96381c 100644 --- a/vendor/golang.org/x/tools/internal/imports/fix.go +++ b/vendor/golang.org/x/tools/internal/imports/fix.go @@ -32,6 +32,7 @@ import ( "golang.org/x/tools/internal/gocommand" "golang.org/x/tools/internal/gopathwalk" "golang.org/x/tools/internal/stdlib" + "maps" ) // importToGroup is a list of functions which map from an import path to @@ -585,7 +586,7 @@ func getFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, f srcDir := filepath.Dir(abs) if logf != nil { - logf("fixImports(filename=%q), srcDir=%q ...", filename, abs, srcDir) + logf("fixImports(filename=%q), srcDir=%q ...", filename, srcDir) } // First pass: looking only at f, and using the naive algorithm to @@ -968,9 +969,7 @@ func (e *ProcessEnv) CopyConfig() *ProcessEnv { resolver: nil, Env: map[string]string{}, } - for k, v := range e.Env { - copy.Env[k] = v - } + maps.Copy(copy.Env, e.Env) return copy } @@ -1003,9 +1002,7 @@ func (e *ProcessEnv) init() error { if err := json.Unmarshal(stdout.Bytes(), &goEnv); err != nil { return err } - for k, v := range goEnv { - e.Env[k] = v - } + maps.Copy(e.Env, goEnv) e.initialized = true return nil } diff --git a/vendor/golang.org/x/tools/internal/imports/mod.go b/vendor/golang.org/x/tools/internal/imports/mod.go index 8555e3f83..df94ec818 100644 --- a/vendor/golang.org/x/tools/internal/imports/mod.go +++ b/vendor/golang.org/x/tools/internal/imports/mod.go @@ -13,6 +13,7 @@ import ( "path" "path/filepath" "regexp" + "slices" "sort" "strconv" "strings" @@ -150,8 +151,8 @@ func newModuleResolver(e *ProcessEnv, moduleCacheCache *DirInfoCache) (*ModuleRe Path: "", Dir: filepath.Join(filepath.Dir(goWork), "vendor"), } - r.modsByModPath = append(append([]*gocommand.ModuleJSON{}, mainModsVendor...), r.dummyVendorMod) - r.modsByDir = append(append([]*gocommand.ModuleJSON{}, mainModsVendor...), r.dummyVendorMod) + r.modsByModPath = append(slices.Clone(mainModsVendor), r.dummyVendorMod) + r.modsByDir = append(slices.Clone(mainModsVendor), r.dummyVendorMod) } } else { // Vendor mode is off, so run go list -m ... to find everything. diff --git a/vendor/golang.org/x/tools/internal/imports/mod_cache.go b/vendor/golang.org/x/tools/internal/imports/mod_cache.go index b1192696b..b96c9d4bf 100644 --- a/vendor/golang.org/x/tools/internal/imports/mod_cache.go +++ b/vendor/golang.org/x/tools/internal/imports/mod_cache.go @@ -128,7 +128,7 @@ func (d *DirInfoCache) ScanAndListen(ctx context.Context, listener cacheListener // are going to be. Setting an arbitrary limit makes it much easier. const maxInFlight = 10 sema := make(chan struct{}, maxInFlight) - for i := 0; i < maxInFlight; i++ { + for range maxInFlight { sema <- struct{}{} } @@ -156,7 +156,7 @@ func (d *DirInfoCache) ScanAndListen(ctx context.Context, listener cacheListener d.mu.Lock() delete(d.listeners, cookie) d.mu.Unlock() - for i := 0; i < maxInFlight; i++ { + for range maxInFlight { <-sema } } diff --git a/vendor/golang.org/x/tools/internal/imports/sortimports.go b/vendor/golang.org/x/tools/internal/imports/sortimports.go index da8194fd9..67c17bc43 100644 --- a/vendor/golang.org/x/tools/internal/imports/sortimports.go +++ b/vendor/golang.org/x/tools/internal/imports/sortimports.go @@ -11,6 +11,7 @@ import ( "go/ast" "go/token" "log" + "slices" "sort" "strconv" ) @@ -30,7 +31,7 @@ func sortImports(localPrefix string, tokFile *token.File, f *ast.File) { if len(d.Specs) == 0 { // Empty import block, remove it. - f.Decls = append(f.Decls[:i], f.Decls[i+1:]...) + f.Decls = slices.Delete(f.Decls, i, i+1) } if !d.Lparen.IsValid() { @@ -91,7 +92,7 @@ func mergeImports(f *ast.File) { spec.(*ast.ImportSpec).Path.ValuePos = first.Pos() first.Specs = append(first.Specs, spec) } - f.Decls = append(f.Decls[:i], f.Decls[i+1:]...) + f.Decls = slices.Delete(f.Decls, i, i+1) i-- } } diff --git a/vendor/golang.org/x/tools/internal/modindex/lookup.go b/vendor/golang.org/x/tools/internal/modindex/lookup.go index 5499c5c67..bd605e0d7 100644 --- a/vendor/golang.org/x/tools/internal/modindex/lookup.go +++ b/vendor/golang.org/x/tools/internal/modindex/lookup.go @@ -120,7 +120,7 @@ func (ix *Index) Lookup(pkg, name string, prefix bool) []Candidate { px.Results = int16(n) if len(flds) >= 4 { sig := strings.Split(flds[3], " ") - for i := 0; i < len(sig); i++ { + for i := range sig { // $ cannot otherwise occur. removing the spaces // almost works, but for chan struct{}, e.g. sig[i] = strings.Replace(sig[i], "$", " ", -1) @@ -136,7 +136,7 @@ func (ix *Index) Lookup(pkg, name string, prefix bool) []Candidate { func toFields(sig []string) []Field { ans := make([]Field, len(sig)/2) - for i := 0; i < len(ans); i++ { + for i := range ans { ans[i] = Field{Arg: sig[2*i], Type: sig[2*i+1]} } return ans diff --git a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go index f6cb37c5c..c0aba26c4 100644 --- a/vendor/golang.org/x/tools/internal/pkgbits/decoder.go +++ b/vendor/golang.org/x/tools/internal/pkgbits/decoder.go @@ -259,7 +259,7 @@ func (r *Decoder) rawUvarint() uint64 { func readUvarint(r *strings.Reader) (uint64, error) { var x uint64 var s uint - for i := 0; i < binary.MaxVarintLen64; i++ { + for i := range binary.MaxVarintLen64 { b, err := r.ReadByte() if err != nil { if i > 0 && err == io.EOF { diff --git a/vendor/golang.org/x/tools/internal/stdlib/deps.go b/vendor/golang.org/x/tools/internal/stdlib/deps.go index 7cca431cd..c50bf406b 100644 --- a/vendor/golang.org/x/tools/internal/stdlib/deps.go +++ b/vendor/golang.org/x/tools/internal/stdlib/deps.go @@ -12,348 +12,348 @@ type pkginfo struct { } var deps = [...]pkginfo{ - {"archive/tar", "\x03k\x03E5\x01\v\x01#\x01\x01\x02\x05\t\x02\x01\x02\x02\v"}, - {"archive/zip", "\x02\x04a\a\x16\x0205\x01+\x05\x01\x10\x03\x02\r\x04"}, - {"bufio", "\x03k}E\x13"}, - {"bytes", "n+R\x03\fG\x02\x02"}, + {"archive/tar", "\x03j\x03E6\x01\v\x01\"\x01\x01\x02\x05\n\x02\x01\x02\x02\v"}, + {"archive/zip", "\x02\x04`\a\x16\x0206\x01*\x05\x01\x11\x03\x02\r\x04"}, + {"bufio", "\x03j~E\x13"}, + {"bytes", "m+S\x03\fG\x02\x02"}, {"cmp", ""}, {"compress/bzip2", "\x02\x02\xe7\x01B"}, - {"compress/flate", "\x02l\x03z\r\x024\x01\x03"}, - {"compress/gzip", "\x02\x04a\a\x03\x15eT"}, - {"compress/lzw", "\x02l\x03z"}, - {"compress/zlib", "\x02\x04a\a\x03\x13\x01f"}, + {"compress/flate", "\x02k\x03{\r\x024\x01\x03"}, + {"compress/gzip", "\x02\x04`\a\x03\x15fT"}, + {"compress/lzw", "\x02k\x03{"}, + {"compress/zlib", "\x02\x04`\a\x03\x13\x01g"}, {"container/heap", "\xae\x02"}, {"container/list", ""}, {"container/ring", ""}, - {"context", "n\\h\x01\f"}, - {"crypto", "\x84\x01gD"}, + {"context", "m\\i\x01\f"}, + {"crypto", "\x83\x01hD"}, {"crypto/aes", "\x10\n\a\x8e\x02"}, - {"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1d,Q"}, - {"crypto/des", "\x10\x13\x1d.,\x95\x01\x03"}, - {"crypto/dsa", "@\x04*}\x0e"}, - {"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1d}"}, - {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1d}\x0e\x04K\x01"}, - {"crypto/ed25519", "\x0e\x1c\x16\n\a\x1d}D"}, - {"crypto/elliptic", "0>}\x0e9"}, - {"crypto/fips140", " \x05\x91\x01"}, - {"crypto/hkdf", "-\x12\x01.\x16"}, - {"crypto/hmac", "\x1a\x14\x11\x01\x113"}, - {"crypto/internal/boring", "\x0e\x02\rg"}, + {"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1c,R"}, + {"crypto/des", "\x10\x13\x1d-,\x96\x01\x03"}, + {"crypto/dsa", "@\x04)~\x0e"}, + {"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1c~"}, + {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1c~\x0e\x04K\x01"}, + {"crypto/ed25519", "\x0e\x1c\x16\n\a\x1c~D"}, + {"crypto/elliptic", "0=~\x0e9"}, + {"crypto/fips140", " \x05\x90\x01"}, + {"crypto/hkdf", "-\x12\x01-\x16"}, + {"crypto/hmac", "\x1a\x14\x11\x01\x112"}, + {"crypto/internal/boring", "\x0e\x02\rf"}, {"crypto/internal/boring/bbig", "\x1a\xdf\x01L"}, {"crypto/internal/boring/bcache", "\xb3\x02\x12"}, {"crypto/internal/boring/sig", ""}, - {"crypto/internal/cryptotest", "\x03\r\n)\x0e\x1a\x06\x13\x12#\a\t\x11\x11\x11\x1b\x01\f\f\x05\n"}, + {"crypto/internal/cryptotest", "\x03\r\n)\x0e\x19\x06\x13\x12#\a\t\x11\x12\x11\x1a\r\r\x05\n"}, {"crypto/internal/entropy", "E"}, - {"crypto/internal/fips140", ">0}9\f\x15"}, - {"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05+\x8c\x015"}, - {"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06+\x8a\x01"}, + {"crypto/internal/fips140", ">/~8\r\x15"}, + {"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05*\x8d\x015"}, + {"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06*\x8b\x01"}, {"crypto/internal/fips140/alias", "\xc5\x02"}, - {"crypto/internal/fips140/bigmod", "%\x17\x01\x06+\x8c\x01"}, + {"crypto/internal/fips140/bigmod", "%\x17\x01\x06*\x8d\x01"}, {"crypto/internal/fips140/check", " \x0e\x06\b\x02\xad\x01Z"}, - {"crypto/internal/fips140/check/checktest", "%\xff\x01!"}, - {"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01)}\x0f8"}, - {"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f2}\x0f8"}, - {"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x068}G"}, - {"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v8\xc1\x01\x03"}, - {"crypto/internal/fips140/edwards25519", "%\a\f\x042\x8c\x018"}, - {"crypto/internal/fips140/edwards25519/field", "%\x13\x042\x8c\x01"}, - {"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x06:"}, - {"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x018"}, - {"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x042"}, - {"crypto/internal/fips140/nistec", "%\f\a\x042\x8c\x01*\x0e\x13"}, - {"crypto/internal/fips140/nistec/fiat", "%\x136\x8c\x01"}, - {"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x06:"}, - {"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x026}G"}, - {"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06+\x8c\x01"}, - {"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x011\x8c\x01K"}, - {"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06+\x8c\x01"}, + {"crypto/internal/fips140/check/checktest", "%\xfe\x01\""}, + {"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01(~\x0f8"}, + {"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f1~\x0f8"}, + {"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x067~G"}, + {"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v7\xc2\x01\x03"}, + {"crypto/internal/fips140/edwards25519", "%\a\f\x041\x8d\x018"}, + {"crypto/internal/fips140/edwards25519/field", "%\x13\x041\x8d\x01"}, + {"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x069"}, + {"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x017"}, + {"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x041"}, + {"crypto/internal/fips140/nistec", "%\f\a\x041\x8d\x01)\x0f\x13"}, + {"crypto/internal/fips140/nistec/fiat", "%\x135\x8d\x01"}, + {"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x069"}, + {"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x025~G"}, + {"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06*\x8d\x01"}, + {"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x010\x8d\x01K"}, + {"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06*\x8d\x01"}, {"crypto/internal/fips140/ssh", " \x05"}, - {"crypto/internal/fips140/subtle", "#\x19\xbe\x01"}, - {"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x028"}, - {"crypto/internal/fips140/tls13", "\x03\x1d\x05\b\a\b2"}, + {"crypto/internal/fips140/subtle", "#"}, + {"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x027"}, + {"crypto/internal/fips140/tls13", "\x03\x1d\x05\b\a\b1"}, {"crypto/internal/fips140deps", ""}, - {"crypto/internal/fips140deps/byteorder", "\x9a\x01"}, - {"crypto/internal/fips140deps/cpu", "\xae\x01\a"}, - {"crypto/internal/fips140deps/godebug", "\xb6\x01"}, - {"crypto/internal/fips140hash", "5\x1a5\xc1\x01"}, - {"crypto/internal/fips140only", "'\r\x01\x01N25"}, + {"crypto/internal/fips140deps/byteorder", "\x99\x01"}, + {"crypto/internal/fips140deps/cpu", "\xad\x01\a"}, + {"crypto/internal/fips140deps/godebug", "\xb5\x01"}, + {"crypto/internal/fips140hash", "5\x1a4\xc2\x01"}, + {"crypto/internal/fips140only", "'\r\x01\x01M26"}, {"crypto/internal/fips140test", ""}, - {"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d$,`M"}, + {"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d#,aM"}, {"crypto/internal/impl", "\xb0\x02"}, {"crypto/internal/randutil", "\xeb\x01\x12"}, - {"crypto/internal/sysrand", "\xd7\x01@\x1b\x01\f\x06"}, - {"crypto/internal/sysrand/internal/seccomp", "n"}, - {"crypto/md5", "\x0e2.\x16\x16`"}, + {"crypto/internal/sysrand", "mi\"\x1e\r\x0f\x01\x01\v\x06"}, + {"crypto/internal/sysrand/internal/seccomp", "m"}, + {"crypto/md5", "\x0e2-\x16\x16a"}, {"crypto/mlkem", "/"}, - {"crypto/pbkdf2", "2\r\x01.\x16"}, - {"crypto/rand", "\x1a\x06\a\x19\x04\x01)}\x0eL"}, - {"crypto/rc4", "#\x1d.\xc1\x01"}, - {"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1d\x03\x1325\r\x01"}, - {"crypto/sha1", "\x0e\f&.\x16\x16\x14L"}, - {"crypto/sha256", "\x0e\f\x1aP"}, - {"crypto/sha3", "\x0e'O\xc1\x01"}, - {"crypto/sha512", "\x0e\f\x1cN"}, - {"crypto/subtle", "8\x98\x01T"}, - {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x18\x02\x03\x13\x16\x14\b5\x16\x16\r\t\x01\x01\x01\x02\x01\f\x06\x02\x01"}, + {"crypto/pbkdf2", "2\r\x01-\x16"}, + {"crypto/rand", "\x1a\x06\a\x19\x04\x01(~\x0eL"}, + {"crypto/rc4", "#\x1d-\xc2\x01"}, + {"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1c\x03\x1326\r\x01"}, + {"crypto/sha1", "\x0e\f&-\x16\x16\x14M"}, + {"crypto/sha256", "\x0e\f\x1aO"}, + {"crypto/sha3", "\x0e'N\xc2\x01"}, + {"crypto/sha512", "\x0e\f\x1cM"}, + {"crypto/subtle", "8\x96\x01U"}, + {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x14\b6\x16\x15\r\n\x01\x01\x01\x02\x01\f\x06\x02\x01"}, {"crypto/tls/internal/fips140tls", " \x93\x02"}, - {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x01\x0e\x06\x02\x02\x03E5\x03\t\x01\x01\x01\a\x10\x05\t\x05\v\x01\x02\r\x02\x01\x01\x02\x03\x01"}, - {"crypto/x509/internal/macos", "\x03k'\x8f\x01\v\x10\x06"}, - {"crypto/x509/pkix", "d\x06\a\x88\x01F"}, - {"database/sql", "\x03\nK\x16\x03z\f\x06\"\x05\t\x02\x03\x01\f\x02\x02\x02"}, - {"database/sql/driver", "\ra\x03\xae\x01\x10\x10"}, - {"debug/buildinfo", "\x03X\x02\x01\x01\b\a\x03`\x18\x02\x01+\x10\x1e"}, - {"debug/dwarf", "\x03d\a\x03z1\x12\x01\x01"}, - {"debug/elf", "\x03\x06Q\r\a\x03`\x19\x01,\x18\x01\x15"}, - {"debug/gosym", "\x03d\n\xbd\x01\x01\x01\x02"}, - {"debug/macho", "\x03\x06Q\r\n`\x1a,\x18\x01"}, - {"debug/pe", "\x03\x06Q\r\a\x03`\x1a,\x18\x01\x15"}, - {"debug/plan9obj", "g\a\x03`\x1a,"}, - {"embed", "n+:\x18\x01S"}, + {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x033\x01\x02\t\x01\x01\x01\a\x0f\x05\x01\x06\x02\x05\f\x01\x02\r\x02\x01\x01\x02\x03\x01"}, + {"crypto/x509/pkix", "c\x06\a\x89\x01F"}, + {"database/sql", "\x03\nJ\x16\x03{\f\x06!\x05\n\x02\x03\x01\f\x02\x02\x02"}, + {"database/sql/driver", "\r`\x03\xae\x01\x11\x10"}, + {"debug/buildinfo", "\x03W\x02\x01\x01\b\a\x03`\x19\x02\x01*\x0f "}, + {"debug/dwarf", "\x03c\a\x03{0\x13\x01\x01"}, + {"debug/elf", "\x03\x06P\r\a\x03`\x1a\x01+\x19\x01\x15"}, + {"debug/gosym", "\x03c\n\xbe\x01\x01\x01\x02"}, + {"debug/macho", "\x03\x06P\r\n`\x1b+\x19\x01"}, + {"debug/pe", "\x03\x06P\r\a\x03`\x1b+\x19\x01\x15"}, + {"debug/plan9obj", "f\a\x03`\x1b+"}, + {"embed", "m+:\x19\x01S"}, {"embed/internal/embedtest", ""}, {"encoding", ""}, {"encoding/ascii85", "\xeb\x01D"}, - {"encoding/asn1", "\x03k\x03\x87\x01\x01&\x0e\x02\x01\x0f\x03\x01"}, + {"encoding/asn1", "\x03j\x03\x88\x01\x01%\x0f\x02\x01\x0f\x03\x01"}, {"encoding/base32", "\xeb\x01B\x02"}, - {"encoding/base64", "\x9a\x01QB\x02"}, - {"encoding/binary", "n}\r'\x0e\x05"}, - {"encoding/csv", "\x02\x01k\x03zE\x11\x02"}, - {"encoding/gob", "\x02`\x05\a\x03`\x1a\f\x01\x02\x1d\b\x13\x01\x0e\x02"}, - {"encoding/hex", "n\x03zB\x03"}, - {"encoding/json", "\x03\x01^\x04\b\x03z\r'\x0e\x02\x01\x02\x0f\x01\x01\x02"}, - {"encoding/pem", "\x03c\b}B\x03"}, - {"encoding/xml", "\x02\x01_\f\x03z4\x05\v\x01\x02\x0f\x02"}, - {"errors", "\xca\x01{"}, - {"expvar", "kK9\t\n\x15\r\t\x02\x03\x01\x10"}, - {"flag", "b\f\x03z,\b\x05\t\x02\x01\x0f"}, - {"fmt", "nE8\r\x1f\b\x0e\x02\x03\x11"}, - {"go/ast", "\x03\x01m\x0f\x01j\x03)\b\x0e\x02\x01"}, + {"encoding/base64", "f\x85\x01B\x02"}, + {"encoding/binary", "m~\r&\x0f\x05"}, + {"encoding/csv", "\x02\x01j\x03{E\x11\x02"}, + {"encoding/gob", "\x02_\x05\a\x03`\x1b\f\x01\x02\x1c\b\x14\x01\x0e\x02"}, + {"encoding/hex", "m\x03{B\x03"}, + {"encoding/json", "\x03\x01]\x04\b\x03{\r&\x0f\x02\x01\x02\x0f\x01\x01\x02"}, + {"encoding/pem", "\x03b\b~B\x03"}, + {"encoding/xml", "\x02\x01^\f\x03{3\x05\f\x01\x02\x0f\x02"}, + {"errors", "\xc9\x01|"}, + {"expvar", "jK:\t\n\x14\r\n\x02\x03\x01\x10"}, + {"flag", "a\f\x03{+\b\x05\n\x02\x01\x0f"}, + {"fmt", "mE9\r\x1e\b\x0f\x02\x03\x11"}, + {"go/ast", "\x03\x01l\x0f\x01k\x03(\b\x0f\x02\x01"}, {"go/ast/internal/tests", ""}, - {"go/build", "\x02\x01k\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x12\x01+\x01\x04\x01\a\t\x02\x01\x11\x02\x02"}, - {"go/build/constraint", "n\xc1\x01\x01\x11\x02"}, - {"go/constant", "q\x10w\x01\x015\x01\x02\x11"}, - {"go/doc", "\x04m\x01\x06\t=-1\x11\x02\x01\x11\x02"}, - {"go/doc/comment", "\x03n\xbc\x01\x01\x01\x01\x11\x02"}, - {"go/format", "\x03n\x01\f\x01\x02jE"}, - {"go/importer", "t\a\x01\x01\x04\x01i9"}, - {"go/internal/gccgoimporter", "\x02\x01X\x13\x03\x05\v\x01g\x02,\x01\x05\x12\x01\v\b"}, - {"go/internal/gcimporter", "\x02o\x10\x01/\x05\x0e',\x16\x03\x02"}, - {"go/internal/srcimporter", "q\x01\x02\n\x03\x01i,\x01\x05\x13\x02\x13"}, - {"go/parser", "\x03k\x03\x01\x03\v\x01j\x01+\x06\x13"}, - {"go/printer", "q\x01\x03\x03\tj\r\x1f\x16\x02\x01\x02\n\x05\x02"}, - {"go/scanner", "\x03n\x10j2\x11\x01\x12\x02"}, - {"go/token", "\x04m\xbc\x01\x02\x03\x01\x0e\x02"}, - {"go/types", "\x03\x01\x06d\x03\x01\x04\b\x03\x02\x15\x1e\x06+\x04\x03\n%\a\t\x01\x01\x01\x02\x01\x0e\x02\x02"}, - {"go/version", "\xbb\x01u"}, + {"go/build", "\x02\x01j\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x13\x01*\x01\x04\x01\a\n\x02\x01\x11\x02\x02"}, + {"go/build/constraint", "m\xc2\x01\x01\x11\x02"}, + {"go/constant", "p\x10x\x01\x015\x01\x02\x11"}, + {"go/doc", "\x04l\x01\x06\t=.0\x12\x02\x01\x11\x02"}, + {"go/doc/comment", "\x03m\xbd\x01\x01\x01\x01\x11\x02"}, + {"go/format", "\x03m\x01\f\x01\x02kE"}, + {"go/importer", "s\a\x01\x01\x04\x01j8"}, + {"go/internal/gccgoimporter", "\x02\x01W\x13\x03\x05\v\x01h\x02+\x01\x05\x13\x01\v\b"}, + {"go/internal/gcimporter", "\x02n\x10\x01/\x05\x0e(+\x17\x03\x02"}, + {"go/internal/srcimporter", "p\x01\x02\n\x03\x01j+\x01\x05\x14\x02\x13"}, + {"go/parser", "\x03j\x03\x01\x03\v\x01k\x01*\x06\x14"}, + {"go/printer", "p\x01\x03\x03\tk\r\x1e\x17\x02\x01\x02\n\x05\x02"}, + {"go/scanner", "\x03m\x10k1\x12\x01\x12\x02"}, + {"go/token", "\x04l\xbd\x01\x02\x03\x01\x0e\x02"}, + {"go/types", "\x03\x01\x06c\x03\x01\x04\b\x03\x02\x15\x1e\x06,\x04\x03\n$\a\n\x01\x01\x01\x02\x01\x0e\x02\x02"}, + {"go/version", "\xba\x01v"}, {"hash", "\xeb\x01"}, - {"hash/adler32", "n\x16\x16"}, - {"hash/crc32", "n\x16\x16\x14\x84\x01\x01"}, - {"hash/crc64", "n\x16\x16\x98\x01"}, - {"hash/fnv", "n\x16\x16`"}, - {"hash/maphash", "\x95\x01\x05\x1b\x03@M"}, + {"hash/adler32", "m\x16\x16"}, + {"hash/crc32", "m\x16\x16\x14\x85\x01\x01\x12"}, + {"hash/crc64", "m\x16\x16\x99\x01"}, + {"hash/fnv", "m\x16\x16a"}, + {"hash/maphash", "\x94\x01\x05\x1b\x03AM"}, {"html", "\xb0\x02\x02\x11"}, - {"html/template", "\x03h\x06\x19,5\x01\v \x05\x01\x02\x03\r\x01\x02\v\x01\x03\x02"}, - {"image", "\x02l\x1f^\x0f5\x03\x01"}, + {"html/template", "\x03g\x06\x19,6\x01\v\x1f\x05\x01\x02\x03\x0e\x01\x02\v\x01\x03\x02"}, + {"image", "\x02k\x1f_\x0f5\x03\x01"}, {"image/color", ""}, - {"image/color/palette", "\x8d\x01"}, - {"image/draw", "\x8c\x01\x01\x04"}, - {"image/gif", "\x02\x01\x05f\x03\x1b\x01\x01\x01\vQ"}, - {"image/internal/imageutil", "\x8c\x01"}, - {"image/jpeg", "\x02l\x1e\x01\x04Z"}, - {"image/png", "\x02\a^\n\x13\x02\x06\x01^D"}, - {"index/suffixarray", "\x03d\a}\r*\v\x01"}, - {"internal/abi", "\xb5\x01\x90\x01"}, + {"image/color/palette", "\x8c\x01"}, + {"image/draw", "\x8b\x01\x01\x04"}, + {"image/gif", "\x02\x01\x05e\x03\x1b\x01\x01\x01\vR"}, + {"image/internal/imageutil", "\x8b\x01"}, + {"image/jpeg", "\x02k\x1e\x01\x04["}, + {"image/png", "\x02\a]\n\x13\x02\x06\x01_D"}, + {"index/suffixarray", "\x03c\a~\r)\f\x01"}, + {"internal/abi", "\xb4\x01\x91\x01"}, {"internal/asan", "\xc5\x02"}, - {"internal/bisect", "\xa4\x02\x0e\x01"}, - {"internal/buildcfg", "qG_\x06\x02\x05\v\x01"}, - {"internal/bytealg", "\xae\x01\x97\x01"}, + {"internal/bisect", "\xa3\x02\x0f\x01"}, + {"internal/buildcfg", "pG_\x06\x02\x05\f\x01"}, + {"internal/bytealg", "\xad\x01\x98\x01"}, {"internal/byteorder", ""}, {"internal/cfg", ""}, - {"internal/chacha8rand", "\x9a\x01\x1b\x90\x01"}, + {"internal/chacha8rand", "\x99\x01\x1b\x91\x01"}, {"internal/copyright", ""}, {"internal/coverage", ""}, {"internal/coverage/calloc", ""}, - {"internal/coverage/cfile", "k\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01$\x01\x1e,\x06\a\v\x01\x03\f\x06"}, - {"internal/coverage/cformat", "\x04m-\x04I\f6\x01\x02\f"}, - {"internal/coverage/cmerge", "q-Z"}, - {"internal/coverage/decodecounter", "g\n-\v\x02@,\x18\x16"}, - {"internal/coverage/decodemeta", "\x02e\n\x17\x16\v\x02@,"}, - {"internal/coverage/encodecounter", "\x02e\n-\f\x01\x02>\f \x16"}, - {"internal/coverage/encodemeta", "\x02\x01d\n\x13\x04\x16\r\x02>,."}, - {"internal/coverage/pods", "\x04m-y\x06\x05\v\x02\x01"}, + {"internal/coverage/cfile", "j\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01#\x01 +\x06\a\f\x01\x03\f\x06"}, + {"internal/coverage/cformat", "\x04l-\x04J\f6\x01\x02\f"}, + {"internal/coverage/cmerge", "p-["}, + {"internal/coverage/decodecounter", "f\n-\v\x02A+\x19\x16"}, + {"internal/coverage/decodemeta", "\x02d\n\x17\x16\v\x02A+"}, + {"internal/coverage/encodecounter", "\x02d\n-\f\x01\x02?\f\x1f\x17"}, + {"internal/coverage/encodemeta", "\x02\x01c\n\x13\x04\x16\r\x02?+/"}, + {"internal/coverage/pods", "\x04l-y\x06\x05\f\x02\x01"}, {"internal/coverage/rtcov", "\xc5\x02"}, - {"internal/coverage/slicereader", "g\nzZ"}, - {"internal/coverage/slicewriter", "qz"}, - {"internal/coverage/stringtab", "q8\x04>"}, + {"internal/coverage/slicereader", "f\n{Z"}, + {"internal/coverage/slicewriter", "p{"}, + {"internal/coverage/stringtab", "p8\x04?"}, {"internal/coverage/test", ""}, {"internal/coverage/uleb128", ""}, {"internal/cpu", "\xc5\x02"}, - {"internal/dag", "\x04m\xbc\x01\x03"}, - {"internal/diff", "\x03n\xbd\x01\x02"}, - {"internal/exportdata", "\x02\x01k\x03\x03]\x1a,\x01\x05\x12\x01\x02"}, - {"internal/filepathlite", "n+:\x19A"}, - {"internal/fmtsort", "\x04\x9b\x02\x0e"}, - {"internal/fuzz", "\x03\nA\x19\x04\x03\x03\x01\f\x0355\r\x02\x1d\x01\x05\x02\x05\v\x01\x02\x01\x01\v\x04\x02"}, + {"internal/dag", "\x04l\xbd\x01\x03"}, + {"internal/diff", "\x03m\xbe\x01\x02"}, + {"internal/exportdata", "\x02\x01j\x03\x03]\x1b+\x01\x05\x13\x01\x02"}, + {"internal/filepathlite", "m+:\x1aA"}, + {"internal/fmtsort", "\x04\x9a\x02\x0f"}, + {"internal/fuzz", "\x03\nA\x18\x04\x03\x03\x01\f\x0356\r\x02\x1c\x01\x05\x02\x05\f\x01\x02\x01\x01\v\x04\x02"}, {"internal/goarch", ""}, - {"internal/godebug", "\x97\x01 {\x01\x12"}, + {"internal/godebug", "\x96\x01 |\x01\x12"}, {"internal/godebugs", ""}, {"internal/goexperiment", ""}, {"internal/goos", ""}, - {"internal/goroot", "\x97\x02\x01\x05\x13\x02"}, + {"internal/goroot", "\x96\x02\x01\x05\x14\x02"}, {"internal/gover", "\x04"}, {"internal/goversion", ""}, {"internal/itoa", ""}, - {"internal/lazyregexp", "\x97\x02\v\x0e\x02"}, - {"internal/lazytemplate", "\xeb\x01,\x19\x02\v"}, + {"internal/lazyregexp", "\x96\x02\v\x0f\x02"}, + {"internal/lazytemplate", "\xeb\x01+\x1a\x02\v"}, {"internal/msan", "\xc5\x02"}, {"internal/nettrace", ""}, - {"internal/obscuretestdata", "f\x85\x01,"}, - {"internal/oserror", "n"}, - {"internal/pkgbits", "\x03K\x19\a\x03\x05\vj\x0e\x1e\r\v\x01"}, + {"internal/obscuretestdata", "e\x86\x01+"}, + {"internal/oserror", "m"}, + {"internal/pkgbits", "\x03K\x18\a\x03\x05\vk\x0e\x1d\r\f\x01"}, {"internal/platform", ""}, - {"internal/poll", "nO\x1a\x149\x0e\x01\x01\v\x06"}, - {"internal/profile", "\x03\x04g\x03z7\f\x01\x01\x0f"}, + {"internal/poll", "mO\x1a\x158\x0f\x01\x01\v\x06"}, + {"internal/profile", "\x03\x04f\x03{6\r\x01\x01\x0f"}, {"internal/profilerecord", ""}, - {"internal/race", "\x95\x01\xb0\x01"}, - {"internal/reflectlite", "\x95\x01 3+\x1a\x02"}, {"internal/syslist", ""}, - {"internal/testenv", "\x03\na\x02\x01*\x1a\x10'+\x01\x05\a\v\x01\x02\x02\x01\n"}, + {"internal/testenv", "\x03\n`\x02\x01*\x1a\x10(*\x01\x05\a\f\x01\x02\x02\x01\n"}, {"internal/testlog", "\xb2\x02\x01\x12"}, - {"internal/testpty", "n\x03f@\x1d"}, - {"internal/trace", "\x02\x01\x01\x06]\a\x03n\x03\x03\x06\x03\n5\x01\x02\x0f\x06"}, - {"internal/trace/internal/testgen", "\x03d\nl\x03\x02\x03\x011\v\x0e"}, - {"internal/trace/internal/tracev1", "\x03\x01c\a\x03t\x06\r5\x01"}, - {"internal/trace/raw", "\x02e\nq\x03\x06D\x01\x11"}, - {"internal/trace/testtrace", "\x02\x01k\x03l\x03\x06\x057\v\x02\x01"}, - {"internal/trace/tracev2", ""}, - {"internal/trace/traceviewer", "\x02^\v\x06\x1a<\x16\a\a\x04\t\n\x15\x01\x05\a\v\x01\x02\r"}, + {"internal/testpty", "m\x03\xa6\x01"}, + {"internal/trace", "\x02\x01\x01\x06\\\a\x03m\x01\x01\x06\x06\x03\n5\x01\x02\x0f"}, + {"internal/trace/event", ""}, + {"internal/trace/event/go122", "pm"}, + {"internal/trace/internal/oldtrace", "\x03\x01b\a\x03m\b\x06\r5\x01"}, + {"internal/trace/internal/testgen/go122", "\x03c\nl\x01\x01\x03\x04\x010\v\x0f"}, + {"internal/trace/raw", "\x02d\nm\b\x06D\x01\x11"}, + {"internal/trace/testtrace", "\x02\x01j\x03l\x05\x05\x056\f\x02\x01"}, + {"internal/trace/traceviewer", "\x02]\v\x06\x1a<\x16\b\a\x04\t\n\x14\x01\x05\a\f\x01\x02\r"}, {"internal/trace/traceviewer/format", ""}, - {"internal/trace/version", "qq\t"}, - {"internal/txtar", "\x03n\xa6\x01\x19"}, + {"internal/trace/version", "pm\x01\r"}, + {"internal/txtar", "\x03m\xa6\x01\x1a"}, {"internal/types/errors", "\xaf\x02"}, {"internal/unsafeheader", "\xc5\x02"}, - {"internal/xcoff", "Z\r\a\x03`\x1a,\x18\x01"}, - {"internal/zstd", "g\a\x03z\x0f"}, - {"io", "n\xc4\x01"}, - {"io/fs", "n+*(1\x11\x12\x04"}, - {"io/ioutil", "\xeb\x01\x01+\x16\x03"}, - {"iter", "\xc9\x01[!"}, - {"log", "qz\x05'\r\x0e\x01\f"}, + {"internal/xcoff", "Y\r\a\x03`\x1b+\x19\x01"}, + {"internal/zstd", "f\a\x03{\x0f"}, + {"io", "m\xc5\x01"}, + {"io/fs", "m+*)0\x12\x12\x04"}, + {"io/ioutil", "\xeb\x01\x01*\x17\x03"}, + {"iter", "\xc8\x01[\""}, + {"log", "p{\x05&\r\x0f\x01\f"}, {"log/internal", ""}, - {"log/slog", "\x03\nU\t\x03\x03z\x04\x01\x02\x02\x04'\x05\t\x02\x01\x02\x01\f\x02\x02\x02"}, + {"log/slog", "\x03\nT\t\x03\x03{\x04\x01\x02\x02\x04&\x05\n\x02\x01\x02\x01\f\x02\x02\x02"}, {"log/slog/internal", ""}, - {"log/slog/internal/benchmarks", "\ra\x03z\x06\x03;\x10"}, + {"log/slog/internal/benchmarks", "\r`\x03{\x06\x03;\x10"}, {"log/slog/internal/buffer", "\xb2\x02"}, {"log/slog/internal/slogtest", "\xf1\x01"}, - {"log/syslog", "n\x03~\x12\x16\x19\x02\r"}, + {"log/syslog", "m\x03\x7f\x12\x15\x1a\x02\r"}, {"maps", "\xee\x01W"}, - {"math", "\xfa\x01K"}, - {"math/big", "\x03k\x03)Q\r\x02\x021\x02\x01\x02\x13"}, + {"math", "\xad\x01MK"}, + {"math/big", "\x03j\x03)\x14>\r\x02\x023\x01\x02\x13"}, {"math/bits", "\xc5\x02"}, {"math/cmplx", "\xf8\x01\x02"}, - {"math/rand", "\xb6\x01B:\x01\x12"}, - {"math/rand/v2", "n,\x02\\\x02K"}, - {"mime", "\x02\x01c\b\x03z\f \x16\x03\x02\x0f\x02"}, - {"mime/multipart", "\x02\x01G$\x03E5\f\x01\x06\x02\x15\x02\x06\x10\x02\x01\x15"}, - {"mime/quotedprintable", "\x02\x01nz"}, - {"net", "\x04\ta+\x1d\a\x04\x05\x05\a\x01\x04\x14\x01%\x06\r\t\x05\x01\x01\v\x06\a"}, - {"net/http", "\x02\x01\x04\x04\x02=\b\x14\x01\a\x03E5\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\t\x01\x01\x01\x02\x01\f\x02\x02\x02\b\x01\x01\x01"}, - {"net/http/cgi", "\x02P\x1c\x03z\x04\b\n\x01\x13\x01\x01\x01\x04\x01\x05\x02\t\x02\x01\x0f\x0e"}, - {"net/http/cookiejar", "\x04j\x03\x90\x01\x01\b\f\x17\x03\x02\r\x04"}, - {"net/http/fcgi", "\x02\x01\nZ\a\x03z\x16\x01\x01\x14\x19\x02\r"}, - {"net/http/httptest", "\x02\x01\nE\x02\x1c\x01z\x04\x12\x01\n\t\x02\x18\x01\x02\r\x0e"}, - {"net/http/httptrace", "\rEo@\x14\n "}, - {"net/http/httputil", "\x02\x01\na\x03z\x04\x0f\x03\x01\x05\x02\x01\v\x01\x1a\x02\r\x0e"}, - {"net/http/internal", "\x02\x01k\x03z"}, + {"math/rand", "\xb5\x01C:\x01\x12"}, + {"math/rand/v2", "m,\x02]\x02K"}, + {"mime", "\x02\x01b\b\x03{\f\x1f\x17\x03\x02\x0f\x02"}, + {"mime/multipart", "\x02\x01G#\x03E6\f\x01\x06\x02\x14\x02\x06\x11\x02\x01\x15"}, + {"mime/quotedprintable", "\x02\x01m{"}, + {"net", "\x04\t`+\x1d\a\x04\x05\f\x01\x04\x15\x01$\x06\r\n\x05\x01\x01\v\x06\a"}, + {"net/http", "\x02\x01\x04\x04\x02=\b\x13\x01\a\x03E6\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\n\x01\x01\x05\x01\x02\x05\n\x01\x01\x01\x02\x01\f\x02\x02\x02\b\x01\x01\x01"}, + {"net/http/cgi", "\x02P\x1b\x03{\x04\b\n\x01\x12\x01\x01\x01\x04\x01\x05\x02\n\x02\x01\x0f\x0e"}, + {"net/http/cookiejar", "\x04i\x03\x91\x01\x01\b\v\x18\x03\x02\r\x04"}, + {"net/http/fcgi", "\x02\x01\nY\a\x03{\x16\x01\x01\x13\x1a\x02\r"}, + {"net/http/httptest", "\x02\x01\nE\x02\x1b\x01{\x04\x12\x01\t\t\x02\x19\x01\x02\r\x0e"}, + {"net/http/httptrace", "\rEnA\x13\n!"}, + {"net/http/httputil", "\x02\x01\n`\x03{\x04\x0f\x03\x01\x05\x02\x01\n\x01\x1b\x02\r\x0e"}, + {"net/http/internal", "\x02\x01j\x03{"}, {"net/http/internal/ascii", "\xb0\x02\x11"}, - {"net/http/internal/httpcommon", "\ra\x03\x96\x01\x0e\x01\x18\x01\x01\x02\x1b\x02"}, {"net/http/internal/testcert", "\xb0\x02"}, - {"net/http/pprof", "\x02\x01\nd\x19,\x11$\x04\x13\x14\x01\r\x06\x02\x01\x02\x01\x0f"}, - {"net/internal/cgotest", "\xd7\x01n"}, - {"net/internal/socktest", "q\xc1\x01\x02"}, - {"net/mail", "\x02l\x03z\x04\x0f\x03\x14\x1b\x02\r\x04"}, - {"net/netip", "\x04j+\x01#;\x025\x15"}, - {"net/rpc", "\x02g\x05\x03\x10\n`\x04\x12\x01\x1d\x0e\x03\x02"}, - {"net/rpc/jsonrpc", "k\x03\x03z\x16\x11 "}, - {"net/smtp", "\x19.\v\x14\b\x03z\x16\x14\x1b"}, - {"net/textproto", "\x02\x01k\x03z\r\t.\x01\x02\x13"}, - {"net/url", "n\x03\x86\x01%\x11\x02\x01\x15"}, - {"os", "n+\x19\v\t\r\x03\x01\x04\x10\x018\t\x05\x01\x01\v\x06"}, - {"os/exec", "\x03\naH \x01\x14\x01+\x06\a\v\x01\x04\v"}, + {"net/http/pprof", "\x02\x01\nc\x19,\x11%\x04\x13\x13\x01\r\x06\x03\x01\x02\x01\x0f"}, + {"net/internal/cgotest", ""}, + {"net/internal/socktest", "p\xc2\x01\x02"}, + {"net/mail", "\x02k\x03{\x04\x0f\x03\x13\x1c\x02\r\x04"}, + {"net/netip", "\x04i+\x01#<\x025\x15"}, + {"net/rpc", "\x02f\x05\x03\x10\na\x04\x12\x01\x1c\x0f\x03\x02"}, + {"net/rpc/jsonrpc", "j\x03\x03{\x16\x10!"}, + {"net/smtp", "\x19.\v\x13\b\x03{\x16\x13\x1c"}, + {"net/textproto", "\x02\x01j\x03{\r\t.\x01\x02\x13"}, + {"net/url", "m\x03\x87\x01$\x12\x02\x01\x15"}, + {"os", "m+\x01\x18\x03\b\t\r\x03\x01\x04\x11\x017\n\x05\x01\x01\v\x06"}, + {"os/exec", "\x03\n`H \x01\x15\x01*\x06\a\f\x01\x04\v"}, {"os/exec/internal/fdtest", "\xb4\x02"}, - {"os/signal", "\r\x8a\x02\x16\x05\x02"}, - {"os/user", "qfM\v\x01\x02\x02\x11"}, - {"path", "n+\xaa\x01"}, - {"path/filepath", "n+\x19:+\r\t\x03\x04\x0f"}, - {"plugin", "n\xc4\x01\x13"}, - {"reflect", "n'\x04\x1c\b\f\x05\x02\x18\x06\n,\v\x03\x0f\x02\x02"}, + {"os/signal", "\r\x89\x02\x17\x05\x02"}, + {"os/user", "\x02\x01j\x03{+\r\f\x01\x02"}, + {"path", "m+\xab\x01"}, + {"path/filepath", "m+\x19;*\r\n\x03\x04\x0f"}, + {"plugin", "m"}, + {"reflect", "m'\x04\x1c\b\f\x04\x02\x1a\x06\n+\f\x03\x0f\x02\x02"}, {"reflect/internal/example1", ""}, {"reflect/internal/example2", ""}, - {"regexp", "\x03\xe8\x018\n\x02\x01\x02\x0f\x02"}, + {"regexp", "\x03\xe8\x017\v\x02\x01\x02\x0f\x02"}, {"regexp/syntax", "\xad\x02\x01\x01\x01\x11\x02"}, - {"runtime", "\x95\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x04\x01\x01\x01\x01\x03\x0fc"}, - {"runtime/cgo", "\xd0\x01b\x01\x12"}, - {"runtime/coverage", "\xa0\x01K"}, - {"runtime/debug", "qUQ\r\t\x02\x01\x0f\x06"}, + {"runtime", "\x94\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x03\x01\x01\x01\x01\x01\x03s"}, + {"runtime/coverage", "\x9f\x01L"}, + {"runtime/debug", "pUQ\r\n\x02\x01\x0f\x06"}, + {"runtime/internal/startlinetest", ""}, {"runtime/internal/wasitest", ""}, - {"runtime/metrics", "\xb7\x01A,!"}, - {"runtime/pprof", "\x02\x01\x01\x03\x06Z\a\x03$3#\r\x1f\r\t\x01\x01\x01\x02\x02\b\x03\x06"}, - {"runtime/race", ""}, - {"runtime/trace", "\rdz9\x0e\x01\x12"}, + {"runtime/metrics", "\xb6\x01B+\""}, + {"runtime/pprof", "\x02\x01\x01\x03\x06Y\a\x03$3$\r\x1e\r\n\x01\x01\x01\x02\x02\b\x03\x06"}, + {"runtime/race", "\xab\x02"}, + {"runtime/race/internal/amd64v1", ""}, + {"runtime/trace", "\rc{8\x0f\x01\x12"}, {"slices", "\x04\xea\x01\fK"}, - {"sort", "\xca\x0103"}, - {"strconv", "n+:%\x02I"}, - {"strings", "n'\x04:\x18\x03\f8\x0f\x02\x02"}, + {"sort", "\xc9\x0113"}, + {"strconv", "m+:&\x02I"}, + {"strings", "m'\x04:\x19\x03\f8\x0f\x02\x02"}, {"structs", ""}, - {"sync", "\xc9\x01\vP\x0f\x12"}, + {"sync", "\xc8\x01\vP\x10\x12"}, {"sync/atomic", "\xc5\x02"}, - {"syscall", "n'\x01\x03\x01\x1b\b\x03\x03\x06[\x0e\x01\x12"}, - {"testing", "\x03\na\x02\x01X\x0f\x13\r\x04\x1b\x06\x02\x05\x03\x05\x01\x02\x01\x02\x01\f\x02\x02\x02"}, - {"testing/fstest", "n\x03z\x01\v%\x11\x03\b\a"}, - {"testing/internal/testdeps", "\x02\v\xa7\x01'\x10,\x03\x05\x03\b\x06\x02\r"}, - {"testing/iotest", "\x03k\x03z\x04"}, - {"testing/quick", "p\x01\x87\x01\x04#\x11\x0f"}, - {"testing/slogtest", "\ra\x03\x80\x01.\x05\x11\n"}, - {"text/scanner", "\x03nz,*\x02"}, - {"text/tabwriter", "qzX"}, - {"text/template", "n\x03B8\x01\v\x1f\x01\x05\x01\x02\x05\f\x02\f\x03\x02"}, - {"text/template/parse", "\x03n\xb3\x01\v\x01\x11\x02"}, - {"time", "n+\x1d\x1d'*\x0e\x02\x11"}, - {"time/tzdata", "n\xc6\x01\x11"}, + {"syscall", "m(\x03\x01\x1b\b\x03\x03\x06\aT\x0f\x01\x12"}, + {"testing", "\x03\n`\x02\x01G\x11\x0f\x14\r\x04\x1a\x06\x02\x05\x02\a\x01\x02\x01\x02\x01\f\x02\x02\x02"}, + {"testing/fstest", "m\x03{\x01\v$\x12\x03\b\a"}, + {"testing/internal/testdeps", "\x02\v\xa6\x01'\x11+\x03\x05\x03\b\a\x02\r"}, + {"testing/iotest", "\x03j\x03{\x04"}, + {"testing/quick", "o\x01\x88\x01\x04\"\x12\x0f"}, + {"testing/slogtest", "\r`\x03\x81\x01-\x05\x12\n"}, + {"text/scanner", "\x03m{++\x02"}, + {"text/tabwriter", "p{X"}, + {"text/template", "m\x03B9\x01\v\x1e\x01\x05\x01\x02\x05\r\x02\f\x03\x02"}, + {"text/template/parse", "\x03m\xb3\x01\f\x01\x11\x02"}, + {"time", "m+\x1d\x1d()\x0f\x02\x11"}, + {"time/tzdata", "m\xc7\x01\x11"}, {"unicode", ""}, {"unicode/utf16", ""}, {"unicode/utf8", ""}, - {"unique", "\x95\x01>\x01P\x0e\x13\x12"}, + {"unique", "\x94\x01>\x01P\x0f\x13\x12"}, {"unsafe", ""}, - {"vendor/golang.org/x/crypto/chacha20", "\x10W\a\x8c\x01*&"}, - {"vendor/golang.org/x/crypto/chacha20poly1305", "\x10W\a\xd8\x01\x04\x01"}, - {"vendor/golang.org/x/crypto/cryptobyte", "d\n\x03\x88\x01& \n"}, + {"vendor/golang.org/x/crypto/chacha20", "\x10V\a\x8d\x01)'"}, + {"vendor/golang.org/x/crypto/chacha20poly1305", "\x10V\a\xd9\x01\x04\x01\a"}, + {"vendor/golang.org/x/crypto/cryptobyte", "c\n\x03\x89\x01%!\n"}, {"vendor/golang.org/x/crypto/cryptobyte/asn1", ""}, {"vendor/golang.org/x/crypto/internal/alias", "\xc5\x02"}, - {"vendor/golang.org/x/crypto/internal/poly1305", "Q\x16\x93\x01"}, - {"vendor/golang.org/x/net/dns/dnsmessage", "n"}, - {"vendor/golang.org/x/net/http/httpguts", "\x81\x02\x14\x1b\x13\r"}, - {"vendor/golang.org/x/net/http/httpproxy", "n\x03\x90\x01\x15\x01\x19\x13\r"}, - {"vendor/golang.org/x/net/http2/hpack", "\x03k\x03zG"}, - {"vendor/golang.org/x/net/idna", "q\x87\x018\x13\x10\x02\x01"}, - {"vendor/golang.org/x/net/nettest", "\x03d\a\x03z\x11\x05\x16\x01\f\v\x01\x02\x02\x01\n"}, - {"vendor/golang.org/x/sys/cpu", "\x97\x02\r\v\x01\x15"}, - {"vendor/golang.org/x/text/secure/bidirule", "n\xd5\x01\x11\x01"}, - {"vendor/golang.org/x/text/transform", "\x03k}X"}, - {"vendor/golang.org/x/text/unicode/bidi", "\x03\bf~?\x15"}, - {"vendor/golang.org/x/text/unicode/norm", "g\nzG\x11\x11"}, - {"weak", "\x95\x01\x8f\x01!"}, + {"vendor/golang.org/x/crypto/internal/poly1305", "Q\x15\x94\x01"}, + {"vendor/golang.org/x/net/dns/dnsmessage", "m"}, + {"vendor/golang.org/x/net/http/httpguts", "\x81\x02\x13\x1c\x13\r"}, + {"vendor/golang.org/x/net/http/httpproxy", "m\x03\x91\x01\x0f\x05\x01\x1a\x13\r"}, + {"vendor/golang.org/x/net/http2/hpack", "\x03j\x03{G"}, + {"vendor/golang.org/x/net/idna", "p\x88\x018\x13\x10\x02\x01"}, + {"vendor/golang.org/x/net/nettest", "\x03c\a\x03{\x11\x05\x15\x01\f\f\x01\x02\x02\x01\n"}, + {"vendor/golang.org/x/sys/cpu", "\x96\x02\r\f\x01\x15"}, + {"vendor/golang.org/x/text/secure/bidirule", "m\xd6\x01\x11\x01"}, + {"vendor/golang.org/x/text/transform", "\x03j~X"}, + {"vendor/golang.org/x/text/unicode/bidi", "\x03\be\x7f?\x15"}, + {"vendor/golang.org/x/text/unicode/norm", "f\n{G\x11\x11"}, + {"weak", "\x94\x01\x8f\x01\""}, } diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go index 00776a31b..2b418796a 100644 --- a/vendor/golang.org/x/tools/internal/stdlib/manifest.go +++ b/vendor/golang.org/x/tools/internal/stdlib/manifest.go @@ -7119,7 +7119,6 @@ var PackageSymbols = map[string][]Symbol{ {"FormatFileInfo", Func, 21}, {"Glob", Func, 16}, {"GlobFS", Type, 16}, - {"Lstat", Func, 25}, {"ModeAppend", Const, 16}, {"ModeCharDevice", Const, 16}, {"ModeDevice", Const, 16}, @@ -7144,8 +7143,6 @@ var PackageSymbols = map[string][]Symbol{ {"ReadDirFile", Type, 16}, {"ReadFile", Func, 16}, {"ReadFileFS", Type, 16}, - {"ReadLink", Func, 25}, - {"ReadLinkFS", Type, 25}, {"SkipAll", Var, 20}, {"SkipDir", Var, 16}, {"Stat", Func, 16}, @@ -9149,8 +9146,6 @@ var PackageSymbols = map[string][]Symbol{ {"(*ProcessState).SysUsage", Method, 0}, {"(*ProcessState).SystemTime", Method, 0}, {"(*ProcessState).UserTime", Method, 0}, - {"(*Root).Chmod", Method, 25}, - {"(*Root).Chown", Method, 25}, {"(*Root).Close", Method, 24}, {"(*Root).Create", Method, 24}, {"(*Root).FS", Method, 24}, @@ -16759,11 +16754,9 @@ var PackageSymbols = map[string][]Symbol{ }, "testing/fstest": { {"(MapFS).Glob", Method, 16}, - {"(MapFS).Lstat", Method, 25}, {"(MapFS).Open", Method, 16}, {"(MapFS).ReadDir", Method, 16}, {"(MapFS).ReadFile", Method, 16}, - {"(MapFS).ReadLink", Method, 25}, {"(MapFS).Stat", Method, 16}, {"(MapFS).Sub", Method, 16}, {"MapFS", Type, 16}, diff --git a/vendor/golang.org/x/tools/internal/typeparams/free.go b/vendor/golang.org/x/tools/internal/typeparams/free.go index 0ade5c294..709d2fc14 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/free.go +++ b/vendor/golang.org/x/tools/internal/typeparams/free.go @@ -70,7 +70,7 @@ func (w *Free) Has(typ types.Type) (res bool) { case *types.Tuple: n := t.Len() - for i := 0; i < n; i++ { + for i := range n { if w.Has(t.At(i).Type()) { return true } diff --git a/vendor/golang.org/x/tools/internal/typeparams/termlist.go b/vendor/golang.org/x/tools/internal/typeparams/termlist.go index cbd12f801..9bc29143f 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/termlist.go +++ b/vendor/golang.org/x/tools/internal/typeparams/termlist.go @@ -1,3 +1,6 @@ +// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT. +// Source: ../../cmd/compile/internal/types2/termlist.go + // Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. @@ -7,8 +10,8 @@ package typeparams import ( - "bytes" "go/types" + "strings" ) // A termlist represents the type set represented by the union @@ -22,15 +25,18 @@ type termlist []*term // It is in normal form. var allTermlist = termlist{new(term)} +// termSep is the separator used between individual terms. +const termSep = " | " + // String prints the termlist exactly (without normalization). func (xl termlist) String() string { if len(xl) == 0 { return "∅" } - var buf bytes.Buffer + var buf strings.Builder for i, x := range xl { if i > 0 { - buf.WriteString(" | ") + buf.WriteString(termSep) } buf.WriteString(x.String()) } diff --git a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go index 7350bb702..fa758cdc9 100644 --- a/vendor/golang.org/x/tools/internal/typeparams/typeterm.go +++ b/vendor/golang.org/x/tools/internal/typeparams/typeterm.go @@ -1,3 +1,6 @@ +// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT. +// Source: ../../cmd/compile/internal/types2/typeterm.go + // Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. diff --git a/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go b/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go new file mode 100644 index 000000000..649c82b6b --- /dev/null +++ b/vendor/golang.org/x/tools/internal/typesinternal/classify_call.go @@ -0,0 +1,135 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package typesinternal + +import ( + "fmt" + "go/ast" + "go/types" + _ "unsafe" +) + +// CallKind describes the function position of an [*ast.CallExpr]. +type CallKind int + +const ( + CallStatic CallKind = iota // static call to known function + CallInterface // dynamic call through an interface method + CallDynamic // dynamic call of a func value + CallBuiltin // call to a builtin function + CallConversion // a conversion (not a call) +) + +var callKindNames = []string{ + "CallStatic", + "CallInterface", + "CallDynamic", + "CallBuiltin", + "CallConversion", +} + +func (k CallKind) String() string { + if i := int(k); i >= 0 && i < len(callKindNames) { + return callKindNames[i] + } + return fmt.Sprintf("typeutil.CallKind(%d)", k) +} + +// ClassifyCall classifies the function position of a call expression ([*ast.CallExpr]). +// It distinguishes among true function calls, calls to builtins, and type conversions, +// and further classifies function calls as static calls (where the function is known), +// dynamic interface calls, and other dynamic calls. +// +// For the declarations: +// +// func f() {} +// func g[T any]() {} +// var v func() +// var s []func() +// type I interface { M() } +// var i I +// +// ClassifyCall returns the following: +// +// f() CallStatic +// g[int]() CallStatic +// i.M() CallInterface +// min(1, 2) CallBuiltin +// v() CallDynamic +// s[0]() CallDynamic +// int(x) CallConversion +// []byte("") CallConversion +func ClassifyCall(info *types.Info, call *ast.CallExpr) CallKind { + if info.Types == nil { + panic("ClassifyCall: info.Types is nil") + } + if info.Types[call.Fun].IsType() { + return CallConversion + } + obj := info.Uses[UsedIdent(info, call.Fun)] + // Classify the call by the type of the object, if any. + switch obj := obj.(type) { + case *types.Builtin: + return CallBuiltin + case *types.Func: + if interfaceMethod(obj) { + return CallInterface + } + return CallStatic + default: + return CallDynamic + } +} + +// UsedIdent returns the identifier such that info.Uses[UsedIdent(info, e)] +// is the [types.Object] used by e, if any. +// +// If e is one of various forms of reference: +// +// f, c, v, T lexical reference +// pkg.X qualified identifier +// f[T] or pkg.F[K,V] instantiations of the above kinds +// expr.f field or method value selector +// T.f method expression selector +// +// UsedIdent returns the identifier whose is associated value in [types.Info.Uses] +// is the object to which it refers. +// +// For the declarations: +// +// func F[T any] {...} +// type I interface { M() } +// var ( +// x int +// s struct { f int } +// a []int +// i I +// ) +// +// UsedIdent returns the following: +// +// Expr UsedIdent +// x x +// s.f f +// F[int] F +// i.M M +// I.M M +// min min +// int int +// 1 nil +// a[0] nil +// []byte nil +// +// Note: if e is an instantiated function or method, UsedIdent returns +// the corresponding generic function or method on the generic type. +func UsedIdent(info *types.Info, e ast.Expr) *ast.Ident { + return usedIdent(info, e) +} + +//go:linkname usedIdent golang.org/x/tools/go/types/typeutil.usedIdent +func usedIdent(info *types.Info, e ast.Expr) *ast.Ident + +//go:linkname interfaceMethod golang.org/x/tools/go/types/typeutil.interfaceMethod +func interfaceMethod(f *types.Func) bool diff --git a/vendor/golang.org/x/tools/internal/typesinternal/types.go b/vendor/golang.org/x/tools/internal/typesinternal/types.go index edf0347ec..cc244689e 100644 --- a/vendor/golang.org/x/tools/internal/typesinternal/types.go +++ b/vendor/golang.org/x/tools/internal/typesinternal/types.go @@ -7,6 +7,7 @@ package typesinternal import ( + "go/ast" "go/token" "go/types" "reflect" @@ -127,3 +128,17 @@ func Origin(t NamedOrAlias) NamedOrAlias { func IsPackageLevel(obj types.Object) bool { return obj.Pkg() != nil && obj.Parent() == obj.Pkg().Scope() } + +// NewTypesInfo returns a *types.Info with all maps populated. +func NewTypesInfo() *types.Info { + return &types.Info{ + Types: map[ast.Expr]types.TypeAndValue{}, + Instances: map[*ast.Ident]types.Instance{}, + Defs: map[*ast.Ident]types.Object{}, + Uses: map[*ast.Ident]types.Object{}, + Implicits: map[ast.Node]types.Object{}, + Selections: map[*ast.SelectorExpr]*types.Selection{}, + Scopes: map[ast.Node]*types.Scope{}, + FileVersions: map[*ast.File]string{}, + } +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 4caacf97d..74ec27cfe 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -273,8 +273,8 @@ codeberg.org/gruf/go-sched # codeberg.org/gruf/go-split v1.2.0 ## explicit; go 1.20 codeberg.org/gruf/go-split -# codeberg.org/gruf/go-storage v0.2.0 -## explicit; go 1.22 +# codeberg.org/gruf/go-storage v0.2.1 +## explicit; go 1.23.0 codeberg.org/gruf/go-storage codeberg.org/gruf/go-storage/disk codeberg.org/gruf/go-storage/internal @@ -286,7 +286,7 @@ codeberg.org/gruf/go-structr # github.com/DmitriyVTitov/size v1.5.0 ## explicit; go 1.14 github.com/DmitriyVTitov/size -# github.com/KimMachineGun/automemlimit v0.7.1 +# github.com/KimMachineGun/automemlimit v0.7.2 ## explicit; go 1.22.0 github.com/KimMachineGun/automemlimit/memlimit # github.com/Masterminds/goutils v1.1.1 @@ -666,8 +666,8 @@ github.com/mattn/go-isatty ## explicit; go 1.19 github.com/microcosm-cc/bluemonday github.com/microcosm-cc/bluemonday/css -# github.com/miekg/dns v1.1.65 -## explicit; go 1.22.0 +# github.com/miekg/dns v1.1.66 +## explicit; go 1.23.0 github.com/miekg/dns # github.com/minio/crc64nvme v1.0.1 ## explicit; go 1.22 @@ -707,7 +707,7 @@ github.com/modern-go/reflect2 # github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 ## explicit github.com/munnerz/goautoneg -# github.com/ncruces/go-sqlite3 v0.25.1 +# github.com/ncruces/go-sqlite3 v0.25.2 ## explicit; go 1.23.0 github.com/ncruces/go-sqlite3 github.com/ncruces/go-sqlite3/driver @@ -804,7 +804,7 @@ github.com/sourcegraph/conc/panics github.com/spf13/afero github.com/spf13/afero/internal/common github.com/spf13/afero/mem -# github.com/spf13/cast v1.7.1 +# github.com/spf13/cast v1.8.0 ## explicit; go 1.19 github.com/spf13/cast # github.com/spf13/cobra v1.9.1 @@ -830,12 +830,12 @@ github.com/stretchr/testify/suite # github.com/subosito/gotenv v1.6.0 ## explicit; go 1.18 github.com/subosito/gotenv -# github.com/tdewolff/minify/v2 v2.23.1 -## explicit; go 1.18.0 +# github.com/tdewolff/minify/v2 v2.23.5 +## explicit; go 1.17 github.com/tdewolff/minify/v2 github.com/tdewolff/minify/v2/html -# github.com/tdewolff/parse/v2 v2.7.23 -## explicit; go 1.13 +# github.com/tdewolff/parse/v2 v2.8.0 +## explicit; go 1.11 github.com/tdewolff/parse/v2 github.com/tdewolff/parse/v2/buffer github.com/tdewolff/parse/v2/html @@ -1123,7 +1123,7 @@ go.uber.org/multierr # golang.org/x/arch v0.16.0 ## explicit; go 1.23.0 golang.org/x/arch/x86/x86asm -# golang.org/x/crypto v0.37.0 +# golang.org/x/crypto v0.38.0 ## explicit; go 1.23.0 golang.org/x/crypto/acme golang.org/x/crypto/acme/autocert @@ -1147,7 +1147,7 @@ golang.org/x/crypto/ssh/internal/bcrypt_pbkdf # golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 ## explicit; go 1.23.0 golang.org/x/exp/constraints -# golang.org/x/image v0.26.0 +# golang.org/x/image v0.27.0 ## explicit; go 1.23.0 golang.org/x/image/riff golang.org/x/image/vp8 @@ -1158,7 +1158,7 @@ golang.org/x/image/webp golang.org/x/mod/internal/lazyregexp golang.org/x/mod/module golang.org/x/mod/semver -# golang.org/x/net v0.39.0 +# golang.org/x/net v0.40.0 ## explicit; go 1.23.0 golang.org/x/net/bpf golang.org/x/net/context @@ -1177,21 +1177,21 @@ golang.org/x/net/ipv4 golang.org/x/net/ipv6 golang.org/x/net/publicsuffix golang.org/x/net/trace -# golang.org/x/oauth2 v0.29.0 +# golang.org/x/oauth2 v0.30.0 ## explicit; go 1.23.0 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.13.0 +# golang.org/x/sync v0.14.0 ## explicit; go 1.23.0 golang.org/x/sync/errgroup golang.org/x/sync/semaphore -# golang.org/x/sys v0.32.0 +# golang.org/x/sys v0.33.0 ## explicit; go 1.23.0 golang.org/x/sys/cpu golang.org/x/sys/unix golang.org/x/sys/windows golang.org/x/sys/windows/registry -# golang.org/x/text v0.24.0 +# golang.org/x/text v0.25.0 ## explicit; go 1.23.0 golang.org/x/text/cases golang.org/x/text/encoding @@ -1213,7 +1213,7 @@ golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm golang.org/x/text/width -# golang.org/x/tools v0.31.0 +# golang.org/x/tools v0.32.0 ## explicit; go 1.23.0 golang.org/x/tools/go/ast/astutil golang.org/x/tools/go/gcexportdata