Updated transitive dependencies
This commit is contained in:
parent
966df032a6
commit
63d040839b
|
@ -13,6 +13,7 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
_ "net/http/pprof"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -4,7 +4,7 @@ go 1.20
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/h2non/filetype v1.1.3
|
github.com/h2non/filetype v1.1.3
|
||||||
github.com/klauspost/compress v1.15.15
|
github.com/klauspost/compress v1.16.0
|
||||||
github.com/spf13/cobra v1.6.1
|
github.com/spf13/cobra v1.6.1
|
||||||
github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4
|
github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4
|
||||||
golang.org/x/image v0.5.0
|
golang.org/x/image v0.5.0
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -4,8 +4,8 @@ github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy
|
||||||
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw=
|
github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4=
|
||||||
github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4=
|
github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
|
||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
|
github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
|
||||||
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
|
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
|
||||||
|
|
Binary file not shown.
|
@ -3,7 +3,7 @@
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
- ./gen.sh
|
- ./gen.sh
|
||||||
- go install mvdan.cc/garble@v0.7.2
|
- go install mvdan.cc/garble@v0.9.3
|
||||||
|
|
||||||
builds:
|
builds:
|
||||||
-
|
-
|
||||||
|
|
|
@ -16,6 +16,12 @@ This package provides various compression algorithms.
|
||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
|
|
||||||
|
* Jan 21st, 2023 (v1.15.15)
|
||||||
|
* deflate: Improve level 7-9 by @klauspost in https://github.com/klauspost/compress/pull/739
|
||||||
|
* zstd: Add delta encoding support by @greatroar in https://github.com/klauspost/compress/pull/728
|
||||||
|
* zstd: Various speed improvements by @greatroar https://github.com/klauspost/compress/pull/741 https://github.com/klauspost/compress/pull/734 https://github.com/klauspost/compress/pull/736 https://github.com/klauspost/compress/pull/744 https://github.com/klauspost/compress/pull/743 https://github.com/klauspost/compress/pull/745
|
||||||
|
* gzhttp: Add SuffixETag() and DropETag() options to prevent ETag collisions on compressed responses by @willbicks in https://github.com/klauspost/compress/pull/740
|
||||||
|
|
||||||
* Jan 3rd, 2023 (v1.15.14)
|
* Jan 3rd, 2023 (v1.15.14)
|
||||||
|
|
||||||
* flate: Improve speed in big stateless blocks https://github.com/klauspost/compress/pull/718
|
* flate: Improve speed in big stateless blocks https://github.com/klauspost/compress/pull/718
|
||||||
|
|
|
@ -61,7 +61,7 @@ func ReadTable(in []byte, s *Scratch) (s2 *Scratch, remain []byte, err error) {
|
||||||
b, err := fse.Decompress(in[:iSize], s.fse)
|
b, err := fse.Decompress(in[:iSize], s.fse)
|
||||||
s.fse.Out = nil
|
s.fse.Out = nil
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return s, nil, err
|
return s, nil, fmt.Errorf("fse decompress returned: %w", err)
|
||||||
}
|
}
|
||||||
if len(b) > 255 {
|
if len(b) > 255 {
|
||||||
return s, nil, errors.New("corrupt input: output table too large")
|
return s, nil, errors.New("corrupt input: output table too large")
|
||||||
|
|
|
@ -103,6 +103,28 @@ func hash(u, shift uint32) uint32 {
|
||||||
return (u * 0x1e35a7bd) >> shift
|
return (u * 0x1e35a7bd) >> shift
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EncodeBlockInto exposes encodeBlock but checks dst size.
|
||||||
|
func EncodeBlockInto(dst, src []byte) (d int) {
|
||||||
|
if MaxEncodedLen(len(src)) > len(dst) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// encodeBlock breaks on too big blocks, so split.
|
||||||
|
for len(src) > 0 {
|
||||||
|
p := src
|
||||||
|
src = nil
|
||||||
|
if len(p) > maxBlockSize {
|
||||||
|
p, src = p[:maxBlockSize], p[maxBlockSize:]
|
||||||
|
}
|
||||||
|
if len(p) < minNonLiteralBlockSize {
|
||||||
|
d += emitLiteral(dst[d:], p)
|
||||||
|
} else {
|
||||||
|
d += encodeBlock(dst[d:], p)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return d
|
||||||
|
}
|
||||||
|
|
||||||
// encodeBlock encodes a non-empty src to a guaranteed-large-enough dst. It
|
// encodeBlock encodes a non-empty src to a guaranteed-large-enough dst. It
|
||||||
// assumes that the varint-encoded length of the decompressed bytes has already
|
// assumes that the varint-encoded length of the decompressed bytes has already
|
||||||
// been written.
|
// been written.
|
||||||
|
|
|
@ -32,14 +32,38 @@ func (d *dict) ID() uint32 {
|
||||||
return d.id
|
return d.id
|
||||||
}
|
}
|
||||||
|
|
||||||
// DictContentSize returns the dictionary content size or 0 if d is nil.
|
// ContentSize returns the dictionary content size or 0 if d is nil.
|
||||||
func (d *dict) DictContentSize() int {
|
func (d *dict) ContentSize() int {
|
||||||
if d == nil {
|
if d == nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
return len(d.content)
|
return len(d.content)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Content returns the dictionary content.
|
||||||
|
func (d *dict) Content() []byte {
|
||||||
|
if d == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return d.content
|
||||||
|
}
|
||||||
|
|
||||||
|
// Offsets returns the initial offsets.
|
||||||
|
func (d *dict) Offsets() [3]int {
|
||||||
|
if d == nil {
|
||||||
|
return [3]int{}
|
||||||
|
}
|
||||||
|
return d.offsets
|
||||||
|
}
|
||||||
|
|
||||||
|
// LitEncoder returns the literal encoder.
|
||||||
|
func (d *dict) LitEncoder() *huff0.Scratch {
|
||||||
|
if d == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return d.litEnc
|
||||||
|
}
|
||||||
|
|
||||||
// Load a dictionary as described in
|
// Load a dictionary as described in
|
||||||
// https://github.com/facebook/zstd/blob/master/doc/zstd_compression_format.md#dictionary-format
|
// https://github.com/facebook/zstd/blob/master/doc/zstd_compression_format.md#dictionary-format
|
||||||
func loadDict(b []byte) (*dict, error) {
|
func loadDict(b []byte) (*dict, error) {
|
||||||
|
@ -64,7 +88,7 @@ func loadDict(b []byte) (*dict, error) {
|
||||||
var err error
|
var err error
|
||||||
d.litEnc, b, err = huff0.ReadTable(b[8:], nil)
|
d.litEnc, b, err = huff0.ReadTable(b[8:], nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("loading literal table: %w", err)
|
||||||
}
|
}
|
||||||
d.litEnc.Reuse = huff0.ReusePolicyMust
|
d.litEnc.Reuse = huff0.ReusePolicyMust
|
||||||
|
|
||||||
|
@ -122,3 +146,16 @@ func loadDict(b []byte) (*dict, error) {
|
||||||
|
|
||||||
return &d, nil
|
return &d, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InspectDictionary loads a zstd dictionary and provides functions to inspect the content.
|
||||||
|
func InspectDictionary(b []byte) (interface {
|
||||||
|
ID() uint32
|
||||||
|
ContentSize() int
|
||||||
|
Content() []byte
|
||||||
|
Offsets() [3]int
|
||||||
|
LitEncoder() *huff0.Scratch
|
||||||
|
}, error) {
|
||||||
|
initPredefined()
|
||||||
|
d, err := loadDict(b)
|
||||||
|
return d, err
|
||||||
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ func (e *fastBase) resetBase(d *dict, singleBlock bool) {
|
||||||
if singleBlock {
|
if singleBlock {
|
||||||
e.lowMem = true
|
e.lowMem = true
|
||||||
}
|
}
|
||||||
e.ensureHist(d.DictContentSize() + maxCompressedBlockSize)
|
e.ensureHist(d.ContentSize() + maxCompressedBlockSize)
|
||||||
e.lowMem = low
|
e.lowMem = low
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,8 @@ github.com/h2non/filetype/types
|
||||||
# github.com/inconshreveable/mousetrap v1.1.0
|
# github.com/inconshreveable/mousetrap v1.1.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
github.com/inconshreveable/mousetrap
|
github.com/inconshreveable/mousetrap
|
||||||
# github.com/klauspost/compress v1.15.15
|
# github.com/klauspost/compress v1.16.0
|
||||||
## explicit; go 1.17
|
## explicit; go 1.18
|
||||||
github.com/klauspost/compress
|
github.com/klauspost/compress
|
||||||
github.com/klauspost/compress/fse
|
github.com/klauspost/compress/fse
|
||||||
github.com/klauspost/compress/huff0
|
github.com/klauspost/compress/huff0
|
||||||
|
|
Loading…
Reference in New Issue