This is an automated email from the ASF dual-hosted git repository.
zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-go.git
The following commit(s) were added to refs/heads/main by this push:
new 30fd3edae build(deps): bump the gomod_updates group with 22 updates
(#2176)
30fd3edae is described below
commit 30fd3edae7733c35fe6771b6493459bbb0141bec
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Wed Oct 14 09:29:13 2026 -0400
build(deps): bump the gomod_updates group with 22 updates (#2176)
* build(deps): bump the gomod_updates group with 22 updates
Bumps the gomod_updates group with 22 updates:
| Package | From | To |
| --- | --- | --- |
|
[cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) |
`1.68.0` | `1.69.0` |
|
[github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go)
| `1.23.1` | `1.23.2` |
|
[github.com/Azure/azure-sdk-for-go/sdk/storage/azblob](https://github.com/Azure/azure-sdk-for-go)
| `1.8.1` | `1.8.2` |
|
[github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager](https://github.com/aws/aws-sdk-go-v2)
| `0.4.10` | `0.4.13` |
|
[github.com/aws/aws-sdk-go-v2/service/glue](https://github.com/aws/aws-sdk-go-v2)
| `1.164.0` | `1.167.0` |
|
[github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2)
| `1.113.4` | `1.114.0` |
| [github.com/pierrec/lz4/v4](https://github.com/pierrec/lz4) | `4.1.30` |
`4.1.33` |
| [github.com/uptrace/bun](https://github.com/uptrace/bun) | `1.2.18` |
`1.3.0` |
|
[github.com/uptrace/bun/dialect/mssqldialect](https://github.com/uptrace/bun) |
`1.2.18` | `1.3.0` |
|
[github.com/uptrace/bun/dialect/mysqldialect](https://github.com/uptrace/bun) |
`1.2.18` | `1.3.0` |
|
[github.com/uptrace/bun/dialect/oracledialect](https://github.com/uptrace/bun)
| `1.2.18` | `1.3.0` |
|
[github.com/uptrace/bun/dialect/pgdialect](https://github.com/uptrace/bun) |
`1.2.18` | `1.3.0` |
|
[github.com/uptrace/bun/dialect/sqlitedialect](https://github.com/uptrace/bun)
| `1.2.18` | `1.3.0` |
|
[github.com/uptrace/bun/driver/sqliteshim](https://github.com/uptrace/bun) |
`1.2.18` | `1.3.0` |
| [github.com/uptrace/bun/extra/bundebug](https://github.com/uptrace/bun) |
`1.2.18` | `1.3.0` |
|
[go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go)
| `1.46.0` | `1.47.0` |
|
[go.opentelemetry.io/otel/metric](https://github.com/open-telemetry/opentelemetry-go)
| `1.46.0` | `1.47.0` |
|
[go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go)
| `1.46.0` | `1.47.0` |
|
[go.opentelemetry.io/otel/sdk/metric](https://github.com/open-telemetry/opentelemetry-go)
| `1.46.0` | `1.47.0` |
|
[go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go)
| `1.46.0` | `1.47.0` |
| [golang.org/x/sync](https://github.com/golang/sync) | `0.23.0` | `0.24.0`
|
|
[google.golang.org/api](https://github.com/googleapis/google-api-go-client) |
`0.299.0` | `0.300.0` |
Updates `cloud.google.com/go/storage` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
-
[Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
-
[Commits](https://github.com/googleapis/google-cloud-go/compare/compute/v1.68.0...compute/v1.69.0)
Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.23.1 to 1.23.2
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
-
[Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.23.1...sdk/azcore/v1.23.2)
Updates `github.com/Azure/azure-sdk-for-go/sdk/storage/azblob` from 1.8.1
to 1.8.2
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
-
[Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azidentity/v1.8.1...sdk/azidentity/v1.8.2)
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager` from
0.4.10 to 0.4.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
-
[Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/transfermanager/v0.4.10...feature/s3/transfermanager/v0.4.13)
Updates `github.com/aws/aws-sdk-go-v2/service/glue` from 1.164.0 to 1.167.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
-
[Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.164.0...service/ec2/v1.167.0)
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.113.4 to 1.114.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
-
[Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.113.4...service/s3/v1.114.0)
Updates `github.com/pierrec/lz4/v4` from 4.1.30 to 4.1.33
- [Release notes](https://github.com/pierrec/lz4/releases)
- [Commits](https://github.com/pierrec/lz4/compare/v4.1.30...v4.1.33)
Updates `github.com/uptrace/bun` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/dialect/mssqldialect` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/dialect/mysqldialect` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/dialect/oracledialect` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/dialect/pgdialect` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/dialect/sqlitedialect` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/driver/sqliteshim` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `github.com/uptrace/bun/extra/bundebug` from 1.2.18 to 1.3.0
- [Release notes](https://github.com/uptrace/bun/releases)
- [Changelog](https://github.com/uptrace/bun/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uptrace/bun/compare/v1.2.18...v1.3.0)
Updates `go.opentelemetry.io/otel` from 1.46.0 to 1.47.0
- [Release
notes](https://github.com/open-telemetry/opentelemetry-go/releases)
-
[Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...v1.47.0)
Updates `go.opentelemetry.io/otel/metric` from 1.46.0 to 1.47.0
- [Release
notes](https://github.com/open-telemetry/opentelemetry-go/releases)
-
[Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...v1.47.0)
Updates `go.opentelemetry.io/otel/sdk` from 1.46.0 to 1.47.0
- [Release
notes](https://github.com/open-telemetry/opentelemetry-go/releases)
-
[Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...v1.47.0)
Updates `go.opentelemetry.io/otel/sdk/metric` from 1.46.0 to 1.47.0
- [Release
notes](https://github.com/open-telemetry/opentelemetry-go/releases)
-
[Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...v1.47.0)
Updates `go.opentelemetry.io/otel/trace` from 1.46.0 to 1.47.0
- [Release
notes](https://github.com/open-telemetry/opentelemetry-go/releases)
-
[Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
-
[Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...v1.47.0)
Updates `golang.org/x/sync` from 0.23.0 to 0.24.0
- [Commits](https://github.com/golang/sync/compare/v0.23.0...v0.24.0)
Updates `google.golang.org/api` from 0.299.0 to 0.300.0
- [Release
notes](https://github.com/googleapis/google-api-go-client/releases)
-
[Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
-
[Commits](https://github.com/googleapis/google-api-go-client/compare/v0.299.0...v0.300.0)
---
updated-dependencies:
- dependency-name: cloud.google.com/go/storage
dependency-version: 1.69.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
dependency-version: 1.23.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: gomod_updates
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/storage/azblob
dependency-version: 1.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: gomod_updates
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager
dependency-version: 0.4.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: gomod_updates
- dependency-name: github.com/aws/aws-sdk-go-v2/service/glue
dependency-version: 1.167.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.114.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/pierrec/lz4/v4
dependency-version: 4.1.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/dialect/mssqldialect
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/dialect/mysqldialect
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/dialect/oracledialect
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/dialect/pgdialect
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/dialect/sqlitedialect
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/driver/sqliteshim
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: github.com/uptrace/bun/extra/bundebug
dependency-version: 1.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: go.opentelemetry.io/otel
dependency-version: 1.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: go.opentelemetry.io/otel/metric
dependency-version: 1.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: go.opentelemetry.io/otel/sdk
dependency-version: 1.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: go.opentelemetry.io/otel/sdk/metric
dependency-version: 1.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: go.opentelemetry.io/otel/trace
dependency-version: 1.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: golang.org/x/sync
dependency-version: 0.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
- dependency-name: google.golang.org/api
dependency-version: 0.300.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: gomod_updates
...
Signed-off-by: dependabot[bot] <[email protected]>
* fix: adapt to bun v1.3.0 and lz4 v4.1.33 in the gomod_updates bump
bun v1.3.0 deprecates DB.AddQueryHook in favour of WithQueryHook, which
returns a copy of the DB with the hook attached instead of mutating it.
Reassign cat.db so the bundebug hook and the namespace race-test hooks
stay installed; golangci-lint's SA1019 failed every unit job.
lz4 v4.1.31+ makes Writer.Close fail when the written length differs
from SizeOption, so the puffin tests could no longer build frames that
advertise a wrong content size. Write a valid frame and rewrite its
content-size field and header checksum instead. The reader-side lz4
now also verifies the content size, so the size-mismatch case is
rejected by lz4 before puffin's decoded-size check; assert
lz4.ErrInvalidContentSize there.
Signed-off-by: Matt Topol <[email protected]>
---------
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Matt Topol <[email protected]>
Co-authored-by: dependabot[bot]
<49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matt Topol <[email protected]>
---
catalog/sql/drop_namespace_internal_test.go | 4 +-
catalog/sql/sql.go | 2 +-
go.mod | 58 ++++++-------
go.sum | 124 ++++++++++++++--------------
puffin/puffin_test.go | 77 ++++++++++++++++-
5 files changed, 172 insertions(+), 93 deletions(-)
diff --git a/catalog/sql/drop_namespace_internal_test.go
b/catalog/sql/drop_namespace_internal_test.go
index 3540b4a01..0f3afda63 100644
--- a/catalog/sql/drop_namespace_internal_test.go
+++ b/catalog/sql/drop_namespace_internal_test.go
@@ -269,7 +269,7 @@ func TestDropNamespaceDoesNotRaceWithObjectCreation(t
*testing.T) {
releaseDrop: make(chan struct{}),
dropDone: make(chan struct{}),
}
- cat.db.AddQueryHook(hook)
+ cat.db = cat.db.WithQueryHook(hook)
released := false
defer func() {
@@ -337,7 +337,7 @@ func
TestDropNamespaceDoesNotRaceWithUpdateNamespaceProperties(t *testing.T) {
updateAtInsert: make(chan struct{}),
releaseUpdate: make(chan struct{}),
}
- cat.db.AddQueryHook(hook)
+ cat.db = cat.db.WithQueryHook(hook)
released := false
defer func() {
diff --git a/catalog/sql/sql.go b/catalog/sql/sql.go
index 0d5f25728..a7eed9229 100644
--- a/catalog/sql/sql.go
+++ b/catalog/sql/sql.go
@@ -432,7 +432,7 @@ func NewCatalog(name string, db *sql.DB, dialect
SupportedDialect, props iceberg
cat := &Catalog{db: bun.NewDB(db, d), name: name, props: props}
- cat.db.AddQueryHook(bundebug.NewQueryHook(
+ cat.db = cat.db.WithQueryHook(bundebug.NewQueryHook(
bundebug.WithEnabled(false),
// ICEBERG_SQL_DEBUG=1 logs only failed queries
// ICEBERG_SQL_DEBUG=2 log all queries
diff --git a/go.mod b/go.mod
index 1b4726e40..07ffe504f 100644
--- a/go.mod
+++ b/go.mod
@@ -20,19 +20,19 @@ module github.com/apache/iceberg-go
go 1.26.3
require (
- cloud.google.com/go/storage v1.68.0
- github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1
+ cloud.google.com/go/storage v1.69.0
+ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.2
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1
- github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.1
+ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.2
github.com/RoaringBitmap/roaring/v2 v2.29.0
github.com/alexflint/go-arg v1.6.1
github.com/apache/arrow-go/v18 v18.8.0
github.com/aws/aws-sdk-go-v2 v1.47.1
github.com/aws/aws-sdk-go-v2/config v1.33.6
github.com/aws/aws-sdk-go-v2/credentials v1.20.6
- github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.10
- github.com/aws/aws-sdk-go-v2/service/glue v1.164.0
- github.com/aws/aws-sdk-go-v2/service/s3 v1.113.4
+ github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.13
+ github.com/aws/aws-sdk-go-v2/service/glue v1.167.0
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.114.0
github.com/aws/smithy-go v1.28.2
github.com/awsdocs/aws-doc-sdk-examples/gov2/testtools
v0.0.0-20250407191926-092f3e54b837
github.com/beltran/gohive v1.8.1
@@ -44,7 +44,7 @@ require (
github.com/google/uuid v1.6.0
github.com/hashicorp/golang-lru/v2 v2.0.7
github.com/klauspost/compress v1.20.1
- github.com/pierrec/lz4/v4 v4.1.30
+ github.com/pierrec/lz4/v4 v4.1.33
github.com/pterm/pterm v0.12.83
github.com/stretchr/testify v1.12.1
github.com/substrait-io/substrait-go/v8 v8.1.1
@@ -52,25 +52,25 @@ require (
github.com/twmb/avro v1.9.0
github.com/twmb/murmur3 v1.2.0
github.com/twpayne/go-geom v1.7.0
- github.com/uptrace/bun v1.2.18
- github.com/uptrace/bun/dialect/mssqldialect v1.2.18
- github.com/uptrace/bun/dialect/mysqldialect v1.2.18
- github.com/uptrace/bun/dialect/oracledialect v1.2.18
- github.com/uptrace/bun/dialect/pgdialect v1.2.18
- github.com/uptrace/bun/dialect/sqlitedialect v1.2.18
- github.com/uptrace/bun/driver/sqliteshim v1.2.18
- github.com/uptrace/bun/extra/bundebug v1.2.18
- go.opentelemetry.io/otel v1.46.0
- go.opentelemetry.io/otel/metric v1.46.0
- go.opentelemetry.io/otel/sdk v1.46.0
- go.opentelemetry.io/otel/sdk/metric v1.46.0
- go.opentelemetry.io/otel/trace v1.46.0
+ github.com/uptrace/bun v1.3.0
+ github.com/uptrace/bun/dialect/mssqldialect v1.3.0
+ github.com/uptrace/bun/dialect/mysqldialect v1.3.0
+ github.com/uptrace/bun/dialect/oracledialect v1.3.0
+ github.com/uptrace/bun/dialect/pgdialect v1.3.0
+ github.com/uptrace/bun/dialect/sqlitedialect v1.3.0
+ github.com/uptrace/bun/driver/sqliteshim v1.3.0
+ github.com/uptrace/bun/extra/bundebug v1.3.0
+ go.opentelemetry.io/otel v1.47.0
+ go.opentelemetry.io/otel/metric v1.47.0
+ go.opentelemetry.io/otel/sdk v1.47.0
+ go.opentelemetry.io/otel/sdk/metric v1.47.0
+ go.opentelemetry.io/otel/trace v1.47.0
gocloud.dev v0.46.0
golang.org/x/exp v0.0.0-20260813180055-c1d0aacb2297
golang.org/x/oauth2 v0.37.0
- golang.org/x/sync v0.23.0
+ golang.org/x/sync v0.24.0
golang.org/x/term v0.46.0
- google.golang.org/api v0.299.0
+ google.golang.org/api v0.300.0
gopkg.in/yaml.v3 v3.0.1
)
@@ -80,18 +80,19 @@ require (
atomicgo.dev/schedule v0.1.0 // indirect
cel.dev/expr v0.25.2 // indirect
cloud.google.com/go v0.123.0 // indirect
- cloud.google.com/go/auth v0.23.3 // indirect
- cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
- cloud.google.com/go/compute/metadata v0.9.1 // indirect
+ cloud.google.com/go/auth v0.24.0 // indirect
+ cloud.google.com/go/auth/oauth2adapt v0.3.0 // indirect
+ cloud.google.com/go/compute/metadata v0.10.0 // indirect
cloud.google.com/go/iam v1.12.0 // indirect
cloud.google.com/go/monitoring v1.30.0 // indirect
dario.cat/mergo v1.0.2 // indirect
filippo.io/edwards25519 v1.2.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/storage/internal v0.1.0 //
indirect
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c //
indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.8.0 //
indirect
github.com/DefangLabs/secret-detector
v0.0.0-20250811234530-d4b4214cd679 // indirect
-
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
v1.34.0 // indirect
+
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
v1.35.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric
v0.57.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping
v0.57.0 // indirect
github.com/Microsoft/go-winio v0.6.3-0.20251027160822-ad3df93bed29 //
indirect
@@ -167,7 +168,7 @@ require (
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/google/wire v0.7.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.22 // indirect
- github.com/googleapis/gax-go/v2 v2.24.1 // indirect
+ github.com/googleapis/gax-go/v2 v2.26.2 // indirect
github.com/gookit/color v1.6.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
@@ -250,7 +251,7 @@ require (
github.com/yusufpapurcu/wmi v1.2.4 // indirect
github.com/zeebo/xxh3 v1.1.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
- go.opentelemetry.io/contrib/detectors/gcp v1.44.0 // indirect
+ go.opentelemetry.io/contrib/detectors/gcp v1.45.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
v0.69.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
v0.69.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0
// indirect
@@ -259,6 +260,7 @@ require (
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.45.0
// indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0
// indirect
+ go.opentelemetry.io/otel/log v1.47.0 // indirect
go.opentelemetry.io/proto/otlp v1.11.0 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect
go.yaml.in/yaml/v4 v4.0.0-rc.6 // indirect
diff --git a/go.sum b/go.sum
index 4304089d9..8125a833a 100644
--- a/go.sum
+++ b/go.sum
@@ -10,12 +10,12 @@ cel.dev/expr v0.25.2
h1:K6j46C81hXtZQfuX60cVWQFBJahKSE2gfRbNuvr5bFs=
cel.dev/expr v0.25.2/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE=
cloud.google.com/go v0.123.0/go.mod
h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU=
-cloud.google.com/go/auth v0.23.3
h1:UMK+oBtuNGMCR/6i6mmySUItqjOazpJrbmZyhGbGBWo=
-cloud.google.com/go/auth v0.23.3/go.mod
h1:fClbry28fo7XkxhSeT6AQtAVAp6Jy0fW9N99PoPNPFM=
-cloud.google.com/go/auth/oauth2adapt v0.2.8
h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
-cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod
h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
-cloud.google.com/go/compute/metadata v0.9.1
h1:CTE1OWBQ0vnF5uHwdFAQJvMQ0Fi/KRcqqKTo9V0F8Ik=
-cloud.google.com/go/compute/metadata v0.9.1/go.mod
h1:NtnlvB6X3t4R6xSWyVX/ZWk493PCxGQlhI/iqxh4M8I=
+cloud.google.com/go/auth v0.24.0
h1:UYMbF8otPZnLAkNJ5/LYQYOq0ARcJS1P4JqTeMKbCYU=
+cloud.google.com/go/auth v0.24.0/go.mod
h1:IFG/AMA1VWfuTrdbieEsB2GcpJyJV/phGAvogkOoPR4=
+cloud.google.com/go/auth/oauth2adapt v0.3.0
h1:FY8oSZpCYoUNv6QxVODuMjQz4IlSOVeiQtZ08vLPz88=
+cloud.google.com/go/auth/oauth2adapt v0.3.0/go.mod
h1:7+2uCm7++XFO+/lN06c2HXpDXb/NMNn2/UwyBPbTnkk=
+cloud.google.com/go/compute/metadata v0.10.0
h1:pyKMUQSwchgkIBBJGdILqQbs/BNJXqwSA7Ej6LAvvtY=
+cloud.google.com/go/compute/metadata v0.10.0/go.mod
h1:rGFHRrIif570kSibjFTMbt6/4/tzgJWFGI/HVol4GIk=
cloud.google.com/go/iam v1.12.0 h1:Aki3bX9aHUDKPHfnRJfDcTdVedvy6quGBQcTqx3DRXk=
cloud.google.com/go/iam v1.12.0/go.mod
h1:FEZ4lXpADAC2AIpQY7LANNjjwyQ2jK439CI2VaD+sLY=
cloud.google.com/go/logging v1.19.0
h1:NCqhdVUg3wQ8Cobdf16FDSuTGi3+6+hdSBHrY5TsR6Q=
@@ -24,8 +24,8 @@ cloud.google.com/go/longrunning v1.2.0
h1:WjYH3YHBGCxGJP9M4dWGHBfXr/cFIjMkNgWcJj
cloud.google.com/go/longrunning v1.2.0/go.mod
h1:5KMQALFGOCtFoi2xSOA1u3H7WKlhmckgiyFw7+LGQp0=
cloud.google.com/go/monitoring v1.30.0
h1:r/d+JUbyKmJ8b07iznuKfzVzrIXTWxHQ3lBRm3x2LlY=
cloud.google.com/go/monitoring v1.30.0/go.mod
h1:htlUR0QWVMrjFzZmN4LGnMAve9xB/eduwjmINxVZ8RM=
-cloud.google.com/go/storage v1.68.0
h1:gqrAMJ51OZjYgU6AJ2U60um90YQhSjq8HEIQNtJ4C/8=
-cloud.google.com/go/storage v1.68.0/go.mod
h1:UsS9OgFg/XHOSYakQ8ZtLWWeyGkk1WnmD/GsGfN0BHM=
+cloud.google.com/go/storage v1.69.0
h1:jAAMC1411HEh78nKsU0Zns+eFj3TnhjAWIhg5Ud/XBM=
+cloud.google.com/go/storage v1.69.0/go.mod
h1:PELYsxTYm2peE4mwLEC1+mS1dA/kUSRUxNv56rOy44g=
cloud.google.com/go/trace v1.16.0
h1:GmQovzFc5F0CNfl0VLgL64aoTtu7xsM0YajW2GlG9+E=
cloud.google.com/go/trace v1.16.0/go.mod
h1:r+bdAn16dKLSV1G2D5v3e58IlQlizfxWrUfjx7kM7X0=
cyphar.com/go-pathrs v0.2.1 h1:9nx1vOgwVvX1mNBWDu93+vaceedpbsDqo+XuBGL40b8=
@@ -36,8 +36,8 @@ filippo.io/edwards25519 v1.2.0
h1:crnVqOiS4jqYleHd9vaKZ+HKtHfllngJIiOpNpoJsjo=
filippo.io/edwards25519 v1.2.0/go.mod
h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6
h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod
h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1
h1:zvXfGJCWvywnCA814d8ZiVyt+fm9nnTE8xSb99zRyfo=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.1/go.mod
h1:iptorS+VYKFL2N6PnebpS91dubG35eAOEERnT4PJbQU=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.2
h1:utpeoEeZjd+A8J41zvoLsOOrqXHhX1Kx/X/tCW9dEYQ=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.23.2/go.mod
h1:iptorS+VYKFL2N6PnebpS91dubG35eAOEERnT4PJbQU=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1
h1:u93s+zU2JD62im61Bm5CZIc1ZrOJaIAWEg0WOrMVkEo=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.1/go.mod
h1:oXtinPO4OLj9d1DOTrqrL1oRwGhcqadvAmrl6wTeGlk=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.4.0
h1:xFaZZ+IubdftrDHnGGwZ6QvQ3KHTtWl2MCK+GMt2vxs=
@@ -46,8 +46,10 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0
h1:fhqpLE3UEXi9lPaBRpQ6Xu
github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0/go.mod
h1:7dCRMLwisfRH3dBupKeNCioWYUZ4SS09Z14H+7i8ZoY=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage
v1.8.1 h1:/Zt+cDPnpC3OVDm/JKLOs7M2DKmLRIIp3XIx9pHHiig=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage
v1.8.1/go.mod h1:Ng3urmn6dYe8gnbCMoHHVl5APYz2txho3koEkV2o2HA=
-github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.1
h1:gkBLVmB3Z/HnGP/Jo4o12/RDpi0agnKav6sCKsX5Vu0=
-github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.1/go.mod
h1:e3/1P5K+jIUi9JevDRklq/tFeTvbBb75bNAjU4xd31w=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.2
h1:tQJdgQjbKKffEiMOKJmcQPkY01eFHRqWIZVefqP44nI=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.2/go.mod
h1:kTkpJchXAdO7LGkKZP97a+Ou8TgaF4NT6MHwOIy5uSQ=
+github.com/Azure/azure-sdk-for-go/sdk/storage/internal v0.1.0
h1:X/bTwe0qpvmvPPutc+LWo7T4cKMqDP9JHP4k+Co9ZB4=
+github.com/Azure/azure-sdk-for-go/sdk/storage/internal v0.1.0/go.mod
h1:+kX7ahyFelQ42F3RScM2CFgHJljp0phc/FieKLYVpFI=
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c
h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg=
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod
h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1
h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM=
@@ -58,8 +60,8 @@ github.com/DATA-DOG/go-sqlmock v1.5.2
h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7Oputl
github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod
h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
github.com/DefangLabs/secret-detector v0.0.0-20250811234530-d4b4214cd679
h1:qNT7R4qrN+5u5ajSbqSW1opHP4LA8lzA+ASyw5MQZjs=
github.com/DefangLabs/secret-detector
v0.0.0-20250811234530-d4b4214cd679/go.mod
h1:blbwPQh4DTlCZEfk1BLU4oMIhLda2U+A840Uag9DsZw=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
v1.34.0 h1:yzIYdwuro811Z27D3T80Wkd3rqZzb0K43nner7Eh1yE=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
v1.34.0/go.mod h1:pJTkW8hEUIIi3Pf65lPZOnn4Y81yCllX6IWk2jNXdkM=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
v1.35.0 h1:bN1gA3of5bXtbnLsRPrwfmbbe7A5UWFlcTHseujLnpc=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp
v1.35.0/go.mod h1:Yj5vHEz/aAepZGliRJsA6uvHAVAQyEwajq9ORCHPxzM=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric
v0.57.0 h1:jLdiS1vO+XJFyDSWRHBx56r4s/NNtcl5J6KyCcWUX/w=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric
v0.57.0/go.mod h1:8lmpHY+1VRoteiOwyrQMDt1YGXOrFKCz+1wJW7n3ODY=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock
v0.57.0 h1:cSjUzZ7KU8hicTgzaSv9NmSyM9fTVK3y5lsBUl3wOis=
@@ -116,16 +118,16 @@ github.com/aws/aws-sdk-go-v2/credentials v1.20.6
h1:NpAFXCU7NzXNkdGK3zQTtsRJ+3v9
github.com/aws/aws-sdk-go-v2/credentials v1.20.6/go.mod
h1:mcZCoiPnyMvP8VMNbygNX5lLqSlkYJIMPODylQMurOk=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.1
h1:8gALAAmacnIXh+z6VkdDanv4/IkG5APdg4DZLDTmLog=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.1/go.mod
h1:Z7IJhJU+poOdJjUR2wpyY21ossQ1XS/R3Lk9Msq5kM4=
-github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.10
h1:DaCvPvqeZCMqziWeKPiLCv/tUvpe4/Cq79bjE1ZGtHY=
-github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.10/go.mod
h1:eHZtvcgtQ2WQDWcIs/VUuM3zglCEGipTaxfaTmzZxpw=
+github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.13
h1:wO7TVbywHwdpHLUiX6DnmP2RDYOACVeJCb6zMfSFViU=
+github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.13/go.mod
h1:Zc9r0r7wMid/NkbsLrkGxe5vZufWyP0CiC2dDXZ8ldk=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.4
h1:CLq4+8UHCI+ZZYl/EuJxXovaIVN2xeeT8JV+dsApQ5E=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.4/go.mod
h1:Wv4q5sAM04xAMkoOedxLx2inVf6K5FdxYp+A61L+q/0=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.4
h1:dD4MR81I7YkpEBRk6UP9rocC2QnT3qVuXwzlYTtfGEs=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.4/go.mod
h1:EcXV1kAFd5XwSkDHlj94gnF3q5CkJyYiIJfH8N0VmrE=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.4
h1:7Wo47d/xn/7KttCSBd8EGYeZ7ULRFRkUHr6vkZPBzVQ=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.4/go.mod
h1:tDB2IVC1xC3vX8o+6uRlzhTxP3g1b77CZXFX/oD2FnQ=
-github.com/aws/aws-sdk-go-v2/service/glue v1.164.0
h1:K7780G+rK1gdqbdQ6v+p95aVeOwISDtvv/mXmt6B3M4=
-github.com/aws/aws-sdk-go-v2/service/glue v1.164.0/go.mod
h1:2iTyCtEBIYYb+gu9TF8O5rTheE5ZM3o81fXuSmh1FiM=
+github.com/aws/aws-sdk-go-v2/service/glue v1.167.0
h1:uYfHGAd5JxuSFAGcj9yFfdxxnbNvlkvf12rBtOwTrok=
+github.com/aws/aws-sdk-go-v2/service/glue v1.167.0/go.mod
h1:2iTyCtEBIYYb+gu9TF8O5rTheE5ZM3o81fXuSmh1FiM=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19
h1:bAdDl/HkGCcGPoe25ToSHEw23VIxt6CT5fLcg111BKg=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19/go.mod
h1:KaUzbLxv4CeSxh6ZCl9B4m7CuFenS8kUEaDs+f/DQr4=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.11.5
h1:/TYsZXdA8UTa+WCtCYSAJIr1vwl0+eho6TUgJGwFFO8=
@@ -134,8 +136,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
v1.14.4 h1:29SvnfGhX
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.4/go.mod
h1:wm04I5DMuNVvZHFe/dHnUxincvNbbK7AiNBbYsQivek=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.20.4
h1:pPiWfgeNxqluKEph7hvU88kuGKBPOWzO+Dk9t2zqqNs=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.20.4/go.mod
h1:YlwGoIUDG/3kBQbdNOVs/xKZ9J01G8e/6D1mRBj9uTk=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.113.4
h1:n6kO3OlBvnDEksQpvBLbAldjHwGlu8kErvhHJkhlaRY=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.113.4/go.mod
h1:9APRWGLFITKD+xzWSIyT9V7QV4bNlEuIieWlzXgGFlI=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.114.0
h1:VMAdYqr4Jn/8ATs9BHC5riwrs0d6m1Z2ohFriSwZwm0=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.114.0/go.mod
h1:9APRWGLFITKD+xzWSIyT9V7QV4bNlEuIieWlzXgGFlI=
github.com/aws/aws-sdk-go-v2/service/signin v1.10.1
h1:DzCCWLzcIRQ77F3DEUljud7bEjTgFOIKXP52NmVRyhU=
github.com/aws/aws-sdk-go-v2/service/signin v1.10.1/go.mod
h1:xpo/geVldu8payT375WekctUzopG/hBU7miiqItMUlw=
github.com/aws/aws-sdk-go-v2/service/sso v1.38.1
h1:Umtl/0YZhng4xndfW3lKJrYYP7NLEjI6bGXVomwLcs0=
@@ -375,8 +377,8 @@ github.com/google/wire v0.7.0
h1:JxUKI6+CVBgCO2WToKy/nQk0sS+amI9z9EjVmdaocj4=
github.com/google/wire v0.7.0/go.mod
h1:n6YbUQD9cPKTnHXEBN2DXlOp/mVADhVErcMFb0v3J18=
github.com/googleapis/enterprise-certificate-proxy v0.3.22
h1:NU4XpII6jD+Dxcot94fqjE+AfJoE/lQP9q3faYGzC/c=
github.com/googleapis/enterprise-certificate-proxy v0.3.22/go.mod
h1:L3D/IQExI6LqEjBdXcZQ1WluSgigQmSwBboFstVPM4w=
-github.com/googleapis/gax-go/v2 v2.24.1
h1:AtqTN21IXMMWo99LiEVAiBfNNQmO40d8xUfZI640mc0=
-github.com/googleapis/gax-go/v2 v2.24.1/go.mod
h1:bWeBei0NVwaNZKb2y1HUBS7gLXIF3/Tu3pq7j8D2Tb0=
+github.com/googleapis/gax-go/v2 v2.26.2
h1:ydkmNXxj7bEmmeK5AihkKnWxyOyBR9TDebvp5L5izk8=
+github.com/googleapis/gax-go/v2 v2.26.2/go.mod
h1:sMKqnMesnKH+3wiRJROcttA+cJoZoGbZl1vDQ8XYtGk=
github.com/gookit/assert v0.1.1 h1:lh3GcawXe/p+cU7ESTZ5Ui3Sm/x8JWpIis4/1aF0mY0=
github.com/gookit/assert v0.1.1/go.mod
h1:jS5bmIVQZTIwk42uXl4lyj4iaaxx32tqH16CFj0VX2E=
github.com/gookit/color v1.4.2/go.mod
h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ=
@@ -507,8 +509,8 @@ github.com/package-url/packageurl-go v0.1.1
h1:KTRE0bK3sKbFKAk3yy63DpeskU7Cvs/x/
github.com/package-url/packageurl-go v0.1.1/go.mod
h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c=
github.com/pelletier/go-toml/v2 v2.4.1
h1:j5OMOImsH+j2k7GJ5YO+RxfWwohNiH6t5zB/+h3bagc=
github.com/pelletier/go-toml/v2 v2.4.1/go.mod
h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
-github.com/pierrec/lz4/v4 v4.1.30
h1:cchX8N2DVP668WkElI9QMwVyoNabLkq1LofDHFeIrdg=
-github.com/pierrec/lz4/v4 v4.1.30/go.mod
h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
+github.com/pierrec/lz4/v4 v4.1.33
h1:GjG1TJ1V4IzKP8L96muuuDNpTwd7D+l2ccXrjAbe014=
+github.com/pierrec/lz4/v4 v4.1.33/go.mod
h1:7SE9MC2STkNtL4PIwGhjmyVwvILaGI9/COYQNBhKM/c=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c
h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod
h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -638,22 +640,22 @@ github.com/twmb/murmur3 v1.2.0
h1:S6p/KHqoqsLveELUoKh6zSm/Kwwgl1pStVBgrrLa5UA=
github.com/twmb/murmur3 v1.2.0/go.mod
h1:LVqs/avIy0flspVtmBd4VSbogDepFl6Wkj0i0ToccHE=
github.com/twpayne/go-geom v1.7.0
h1:zMHTHNlenoHAc2ZSiHFh7SMoG0Wdw8gF0orBnrBhfjE=
github.com/twpayne/go-geom v1.7.0/go.mod
h1:y9Q2YcKKaC2PHXwtRvwEunOPx5Oa+U8aAxPmFvscROk=
-github.com/uptrace/bun v1.2.18 h1:3HnRcMfS6OBPMG1eSOzlbFJ/X/AyMEJb7rMxE6VQvDU=
-github.com/uptrace/bun v1.2.18/go.mod
h1:wNltaKJk4JtOt4SG5I5zmA7v0/Mzjh1+/S906Rayd3Y=
-github.com/uptrace/bun/dialect/mssqldialect v1.2.18
h1:nYzHoyJKJlIyl5i95Exi8ZTK8ooKWG+o3z3f404d/yQ=
-github.com/uptrace/bun/dialect/mssqldialect v1.2.18/go.mod
h1:Su45Je7z66sfeZ3d1ZsnOQEK8xfzGgaMzBvtoE8yFhk=
-github.com/uptrace/bun/dialect/mysqldialect v1.2.18
h1:w+3iuWa4cVmsXXt8w28A0+Ikve77AU0tiBWG6UvGvM8=
-github.com/uptrace/bun/dialect/mysqldialect v1.2.18/go.mod
h1:FhJEK620SM9HJ9fx0/IHT7k1cpn2+6MmtKvNptWezPY=
-github.com/uptrace/bun/dialect/oracledialect v1.2.18
h1:L51zA1S02Um3ukYwrqyqlaYv9NAw8M5EmcUc7cPEHpQ=
-github.com/uptrace/bun/dialect/oracledialect v1.2.18/go.mod
h1:+wFOA+RxcjTWa1S2OASNj7U0cC2Mp4vQClY/OkThoPU=
-github.com/uptrace/bun/dialect/pgdialect v1.2.18
h1:IZ6nM2+OYrL8lkEAy7UkSEZvoa3vluTAUlZfPtlRB2k=
-github.com/uptrace/bun/dialect/pgdialect v1.2.18/go.mod
h1:Tqdf4QP1okrGYpXfodXvCOK6Ob1OOTwSaoAzCgBB3IU=
-github.com/uptrace/bun/dialect/sqlitedialect v1.2.18
h1:Z33SY/U++XK9uGWqS4h8OZVxfCXguIG+sU9cYq2PGFQ=
-github.com/uptrace/bun/dialect/sqlitedialect v1.2.18/go.mod
h1:1MVOS/Ncy4FZbkJcgUFH6OqYoQinYNjkEwsmNQEXz2A=
-github.com/uptrace/bun/driver/sqliteshim v1.2.18
h1:fDCXp4L46A23OuUikDbL14SRmm3y+7XO4fkFe1bs2A4=
-github.com/uptrace/bun/driver/sqliteshim v1.2.18/go.mod
h1:MqvqMCAAKNn6M0HF9YK/Z6xrnCP6sih5OZ37AxdAlHw=
-github.com/uptrace/bun/extra/bundebug v1.2.18
h1:5cgkqdvhpSHIEONazSytm4RWYFneNtcznaWLt6r8m4M=
-github.com/uptrace/bun/extra/bundebug v1.2.18/go.mod
h1:M+U9YJVJcmk0RrszCb2Q1oskJiJ0LuC44FxDhZLP1ws=
+github.com/uptrace/bun v1.3.0 h1:hUcbfRpbQk4/upFSI+uZf6jSJw5A0lkIKt0XdpvbUZo=
+github.com/uptrace/bun v1.3.0/go.mod
h1:wNltaKJk4JtOt4SG5I5zmA7v0/Mzjh1+/S906Rayd3Y=
+github.com/uptrace/bun/dialect/mssqldialect v1.3.0
h1:DUADnprAe51otUgM7CqsIdruzdcIK/oFrVN2Yix68vA=
+github.com/uptrace/bun/dialect/mssqldialect v1.3.0/go.mod
h1:PjfmVE5sHwBO8o6LK584MmOHqoOsfqoOXACuVvNK6f8=
+github.com/uptrace/bun/dialect/mysqldialect v1.3.0
h1:zoOoEIrr3Vzj872WA3wOUnIsFfkowl4xlKhd2vDJJUw=
+github.com/uptrace/bun/dialect/mysqldialect v1.3.0/go.mod
h1:fPUV+vUfRceFIQ8dzRrUGYveSzGvPTafMyMh53ay3nc=
+github.com/uptrace/bun/dialect/oracledialect v1.3.0
h1:rvKGL5taldY6R0P4dBUNmv/PRrirVy9Ifd1aj2xn6+s=
+github.com/uptrace/bun/dialect/oracledialect v1.3.0/go.mod
h1:wCKL67u5xEMULSAH7bXtqcoWky/uwebXVdxcSxotgi0=
+github.com/uptrace/bun/dialect/pgdialect v1.3.0
h1:0ZkGqGugxaPCxko4DV2f4d7i+FnM2Qj3rNpChfhiv54=
+github.com/uptrace/bun/dialect/pgdialect v1.3.0/go.mod
h1:kP5HGEpAX8iJCqj3WHm04XnoeBPacdCN1P2HiwMtHpg=
+github.com/uptrace/bun/dialect/sqlitedialect v1.3.0
h1:XzxkORYksxkLsIQLJHFYUb3yDvqSQHzTungyKpJhHTw=
+github.com/uptrace/bun/dialect/sqlitedialect v1.3.0/go.mod
h1:x2D1sY50Itio0I/FVdNe30oMUT2ObiAS+oILcMR+Wys=
+github.com/uptrace/bun/driver/sqliteshim v1.3.0
h1:T3ybxgmP8ejA99YULje9e12h+FqKKAP/4xZo3+X3mXA=
+github.com/uptrace/bun/driver/sqliteshim v1.3.0/go.mod
h1:MqvqMCAAKNn6M0HF9YK/Z6xrnCP6sih5OZ37AxdAlHw=
+github.com/uptrace/bun/extra/bundebug v1.3.0
h1:mqO0OdoTz0uV9+gFTJ04v/9HzPhV498R0HmvCtar9u8=
+github.com/uptrace/bun/extra/bundebug v1.3.0/go.mod
h1:bkqioiH6Jdpz3NmR5mDekK5mOG+v81qpQnzAaRtERc4=
github.com/vbatts/tar-split v0.12.3
h1:Cd46rkGXI3Td4yrVNwU8ripbxFaQbmesqhjBUUYAJSw=
github.com/vbatts/tar-split v0.12.3/go.mod
h1:sQOc6OlqGCr7HkGx/IDBeKiTIvqhmj8KffNhEXG4Nq0=
github.com/vmihailenco/msgpack/v5 v5.4.1
h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8=
@@ -680,16 +682,16 @@ go.opencensus.io v0.24.0
h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/auto/sdk v1.2.1
h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod
h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
-go.opentelemetry.io/contrib/detectors/gcp v1.44.0
h1:NmLfL734pJhM0JKaYd2Y28+nY9dPRWYAAbxhRCrKXPw=
-go.opentelemetry.io/contrib/detectors/gcp v1.44.0/go.mod
h1:tNAsgd8avTGke1+MndXlU5Cru4PQ9Ai/cCNWQv/ZJ/s=
+go.opentelemetry.io/contrib/detectors/gcp v1.45.0
h1:9jR0ZPRok9ryaOQ2Wx8rg5F7Aon59mxrqbVI60/vlBk=
+go.opentelemetry.io/contrib/detectors/gcp v1.45.0/go.mod
h1:VSme3o2fvSg5bVg0dRzyHaj4Z5EVhG+g2Fde6LKzmQA=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
v0.69.0 h1:2yEATaop1/a1I4psnSLgWVPLWwCzkqWakgJy7xTDVy0=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
v0.69.0/go.mod h1:D7J12YRapIekYyPWgGPlA/23pRmpSEZC5xJC/TTLI9U=
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
v0.69.0 h1:MCcYL7J6Vt/X0kjqbMZkekCmwsurbQRbL69vkiye2lk=
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
v0.69.0/go.mod h1:3jnStNwSufK+f5ktjL4EPcwtig4rtd81NS70lqHuXl8=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0
h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod
h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI=
-go.opentelemetry.io/otel v1.46.0
h1:FHt5/CDyVxi/8IM1CH7VE/rRgq3kLHa2mSTVMO8AWyc=
-go.opentelemetry.io/otel v1.46.0/go.mod
h1:Gj3SEScelsNC45tp4nSxRYlS+f5iez7W8XPMCt905kE=
+go.opentelemetry.io/otel v1.47.0
h1:j7ALJ/zgkS7Z6aeJW09p8VC9804bC+PpeTfCD4XPnOM=
+go.opentelemetry.io/otel v1.47.0/go.mod
h1:8wS9O2qfXrYrzp6hIF/HOYJJf/wIhFPhR2xLuP+iXQU=
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0
h1:SUplec5dp06reu1zaXmOXdvqH398taqrDXqUl99jxSc=
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
v1.44.0/go.mod h1:ho2g4N+ane+swq5I/VBkKWnRDY4kUINH3FuqyZqX/Ug=
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0
h1:RuynHbfU8JUEw7DyONgkVYg2SVtsoF28y0LGIr69jgA=
@@ -700,18 +702,20 @@
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.45.0 h1:fG5MC
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.45.0/go.mod
h1:BmAYTn+3ysbRe+IU2msxmf5Rx3g6DHvex+tWI3LdhYI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0
h1:QBajQ2SrwQijzHyZbQlPsuIzpl/ll8DY6wPWsajeGcI=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0/go.mod
h1:08ZQLjrPLQ6R4kAXvuOvODEer5Yh4CoFvll5qB2BCI8=
-go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.44.0
h1:hqxVTu/GtBF+vJ8d1fzW7fRxZFvgoDjWcxwwCaFDYpU=
-go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.44.0/go.mod
h1:z5fVEF4X5v0ESvlJqBrrFlBVoj5EQuefZpzsu7R+x5Q=
-go.opentelemetry.io/otel/metric v1.46.0
h1:yBnkXvgV7AXFILZc5K6IZe/CBFF3OS7BJ8ov6/lj0K8=
-go.opentelemetry.io/otel/metric v1.46.0/go.mod
h1:iPmdWqifKUdzziPkvvzIJXITl56fQx2mGM/DHLB3/2o=
-go.opentelemetry.io/otel/metric/x v0.68.0
h1:TA/cBT23D3MnxYPwHL7YFOdYGdx0A0v+s7Mzotpd1dU=
-go.opentelemetry.io/otel/metric/x v0.68.0/go.mod
h1:agudOmvWhwUTjgibWDzxD2PoWYnpw5Ht5jISYOD2Hd4=
-go.opentelemetry.io/otel/sdk v1.46.0
h1:h5CNQQjEbuQXY/JfZtgt3i7HVFV3aHPO2OAwO2eTYPI=
-go.opentelemetry.io/otel/sdk v1.46.0/go.mod
h1:GAERFXFt5SYCEB+YiKUbMBeza6UaDH7GmGOZEfh2gSM=
-go.opentelemetry.io/otel/sdk/metric v1.46.0
h1:0piZ26EG4RBfebb2jhDH6ERCYHoVWduc3kLgPCwSnSE=
-go.opentelemetry.io/otel/sdk/metric v1.46.0/go.mod
h1:I1PbKrdVc8Qu8HYVDNtqVIwLwjNrhsV/uFuxfwg8mO4=
-go.opentelemetry.io/otel/trace v1.46.0
h1:OULy7ccdJnZtJ0UDYFOIGaCmiWzJ8Vi2G/Rsu60qs1c=
-go.opentelemetry.io/otel/trace v1.46.0/go.mod
h1:J7GAXweO77XSFkB/rmAqk9D6ihszhFjLU+d9WuUxDLI=
+go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.45.0
h1:dm9iyzn6tioYZtwqaiBSU0TSI8Yu/8dTIbfG0+B49DY=
+go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.45.0/go.mod
h1:xAvxYjYK28qvt+yu4BYZ/zMmAjwMXINXD6JiMyeB8iI=
+go.opentelemetry.io/otel/log v1.47.0
h1:cOTS1CcLbSQeZKanGJ+0JpF/+t4PELi3O3bbl2lqCcI=
+go.opentelemetry.io/otel/log v1.47.0/go.mod
h1:9byitSQ5pLC6PpqwGXjqdMKya6ZTswHRZh2vvXT33nw=
+go.opentelemetry.io/otel/metric v1.47.0
h1:4PptaldXx3Eat1XjMZ68pPJEs5wrhlemctZE9a3UdWY=
+go.opentelemetry.io/otel/metric v1.47.0/go.mod
h1:ADGSXxRrXM6bjbvLo535EstVFlPpPYZm4LBKixjDHwU=
+go.opentelemetry.io/otel/metric/x v0.69.0
h1:DjRLr15H83v+hCW7JA9NoJvOkYTtmq5YoDRbe9deYpM=
+go.opentelemetry.io/otel/metric/x v0.69.0/go.mod
h1:uVvsMPMFFyj/HUQfrUnH3JjnOQ1dwFDorgFLRBasM0k=
+go.opentelemetry.io/otel/sdk v1.47.0
h1:zWXEr4j2lFefG87TU6Yg8a7ngfohIKFZHKp0Hf5hC6I=
+go.opentelemetry.io/otel/sdk v1.47.0/go.mod
h1:VUc24kiOeoGsxG8G9ULx3fWKvB7jMhnGE8Oi607lgR0=
+go.opentelemetry.io/otel/sdk/metric v1.47.0
h1:lfISg2j93VT6yqdk9OfUaZmw/GfcZqCCV3jdXtsPnKw=
+go.opentelemetry.io/otel/sdk/metric v1.47.0/go.mod
h1:ypLp+mW1Nt2x+Szt3b5/i1syodyts49lMOwxpDI3VGw=
+go.opentelemetry.io/otel/trace v1.47.0
h1:JOjX/Oci8K94QHddo+bbfya/Ai/nf6/dt9ZfrFNWSrM=
+go.opentelemetry.io/otel/trace v1.47.0/go.mod
h1:jNaSLa2PZEYFG6fRjJABAu+bw4FS08uDmPg28lTghu0=
go.opentelemetry.io/proto/otlp v1.11.0
h1:5rrYs0Ykyj50sdU/JU0x8etU+LubXWb+gED6TbEdMIk=
go.opentelemetry.io/proto/otlp v1.11.0/go.mod
h1:SmVizdCOAm3XBtG1g1NnOdhW6jtddT72hLMhv8VwA8E=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
@@ -748,8 +752,8 @@ golang.org/x/oauth2 v0.37.0/go.mod
h1:IxwZNxUULJmpBFf9K/9NTMSIfZZuvuTy1gGxhigP/5
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=
-golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
-golang.org/x/sync v0.23.0/go.mod
h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
+golang.org/x/sync v0.24.0 h1:iqiDrGoDgyuvAKrhLQthUEzU/R378N78gXbBjxed7oA=
+golang.org/x/sync v0.24.0/go.mod
h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -795,8 +799,8 @@ golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
h1:noIWHXmPHxILtqtCOPIhS
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod
h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod
h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
-google.golang.org/api v0.299.0 h1:b3K+ydSMd0kh6TQI6bJyApRQfqQX2MfSOaVkpM59mJw=
-google.golang.org/api v0.299.0/go.mod
h1:zlR3GVA8b2R5nv5Ij9UWe37StVB3cxDD7DBFi4ZFsHw=
+google.golang.org/api v0.300.0 h1:2rvPV2bqnPuHOaF4gGOBiT1IIc6JVXYyHCkZeqdzjNk=
+google.golang.org/api v0.300.0/go.mod
h1:tKfTSDfK+0FlOVl8N30VL5fU5TuaEkJjvdyTIKNwzPg=
google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d
h1:C9v1o0/4quuhOAfmRXA2j+we0PqZIp8traLdeogF3Ms=
google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d/go.mod
h1:Wz2wFJntZFmLGo7pLDXZ3wYk5hyc0Mb+SkHhDDXT+lU=
google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d
h1:FarXi840EJWSHYTN3ERkADbPWjl307+FGrA22KAVjjc=
diff --git a/puffin/puffin_test.go b/puffin/puffin_test.go
index b2c70bbd4..879eee3ad 100644
--- a/puffin/puffin_test.go
+++ b/puffin/puffin_test.go
@@ -188,8 +188,79 @@ func fileWithCompressedFooterPayload(t *testing.T, payload
[]byte) []byte {
return fileWithCompressedFooterPayloadWithOptions(t, payload,
lz4.SizeOption(uint64(len(payload))))
}
+// fileWithCompressedFooterPayloadWithSize builds a compressed footer whose LZ4
+// frame advertises size as its content size, even when that differs from
+// len(payload). The lz4 writer refuses to finish such a frame, so it writes a
+// valid frame and then rewrites the content-size field in its header.
func fileWithCompressedFooterPayloadWithSize(t *testing.T, payload []byte,
size uint64) []byte {
- return fileWithCompressedFooterPayloadWithOptions(t, payload,
lz4.SizeOption(size))
+ t.Helper()
+
+ frame := compressedLZ4Frame(t, payload,
lz4.SizeOption(uint64(len(payload))))
+
+ return fileWithCompressedFooterFrames(withLZ4ContentSize(t, frame,
size))
+}
+
+// LZ4 frame header layout with a content size and no dictionary ID: magic (4),
+// FLG (1), BD (1), content size (8, little-endian), header checksum (1).
+const (
+ lz4FrameFLGOffset = 4
+ lz4FrameContentSizeOffset = 6
+ lz4FrameHeaderChecksumPos = 14
+ lz4FrameContentSizeFlag = 1 << 3
+ lz4FrameDictIDFlag = 1 << 0
+)
+
+// withLZ4ContentSize returns a copy of frame with its advertised content size
+// replaced by size and the header checksum recomputed to match.
+func withLZ4ContentSize(t *testing.T, frame []byte, size uint64) []byte {
+ t.Helper()
+
+ require.Greater(t, len(frame), lz4FrameHeaderChecksumPos)
+ flg := frame[lz4FrameFLGOffset]
+ require.NotZero(t, flg&lz4FrameContentSizeFlag, "frame must carry a
content size")
+ require.Zero(t, flg&lz4FrameDictIDFlag, "frame must not carry a
dictionary ID")
+
+ descriptor := frame[lz4FrameFLGOffset:lz4FrameHeaderChecksumPos]
+ require.Equal(t, frame[lz4FrameHeaderChecksumPos],
lz4HeaderChecksum(descriptor),
+ "header checksum of the unmodified frame must match")
+
+ patched := bytes.Clone(frame)
+
binary.LittleEndian.PutUint64(patched[lz4FrameContentSizeOffset:lz4FrameHeaderChecksumPos],
size)
+ patched[lz4FrameHeaderChecksumPos] =
lz4HeaderChecksum(patched[lz4FrameFLGOffset:lz4FrameHeaderChecksumPos])
+
+ return patched
+}
+
+// lz4HeaderChecksum is the LZ4 frame header checksum: the second byte of the
+// XXH32 (seed 0) of the frame descriptor. Descriptors are at most 15 bytes, so
+// only XXH32's short-input path is needed.
+func lz4HeaderChecksum(descriptor []byte) byte {
+ const (
+ prime1 uint32 = 2654435761
+ prime2 uint32 = 2246822519
+ prime3 uint32 = 3266489917
+ prime4 uint32 = 668265263
+ prime5 uint32 = 374761393
+ )
+ rotl := func(x uint32, r uint) uint32 { return x<<r | x>>(32-r) }
+
+ h := prime5 + uint32(len(descriptor))
+ b := descriptor
+ for ; len(b) >= 4; b = b[4:] {
+ h += binary.LittleEndian.Uint32(b) * prime3
+ h = rotl(h, 17) * prime4
+ }
+ for _, c := range b {
+ h += uint32(c) * prime5
+ h = rotl(h, 11) * prime1
+ }
+ h ^= h >> 15
+ h *= prime2
+ h ^= h >> 13
+ h *= prime3
+ h ^= h >> 16
+
+ return byte(h >> 8)
}
func fileWithCompressedFooterPayloadNoSize(t *testing.T, payload []byte)
[]byte {
@@ -897,7 +968,9 @@ func TestReaderEnforcesFooterSizeLimit(t *testing.T) {
payload := []byte(`{"blobs":[]}`)
data := fileWithCompressedFooterPayloadWithSize(t, payload,
uint64(len(payload)-1))
_, err := puffin.NewReader(bytes.NewReader(data))
- require.ErrorContains(t, err, "decoded size")
+ // lz4 v4.1.31+ verifies the advertised content size itself, so
it rejects
+ // the frame before the reader's own decoded-size check runs.
+ require.ErrorIs(t, err, lz4.ErrInvalidContentSize)
})
t.Run("compressed advertised size", func(t *testing.T) {