mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Update Vendor (#16325)
* Add Dependencie Update Script * update gitea.com/lunny/levelqueue * update github.com/PuerkitoBio/goquery * update github.com/alecthomas/chroma * update github.com/blevesearch/bleve/v2 * update github.com/caddyserver/certmagic * update github.com/go-enry/go-enry/v2 * update github.com/go-redis/redis/v8 * update github.com/hashicorp/golang-lru * update github.com/klauspost/compress * update github.com/markbates/goth * update github.com/mholt/archiver/v3 * update github.com/microcosm-cc/bluemonday * update github.com/minio/minio-go/v7 * update github.com/olivere/elastic/v7 * update github.com/xanzy/go-gitlab * update github.com/yuin/goldmark
This commit is contained in:
		
							
								
								
									
										4
									
								
								vendor/github.com/klauspost/compress/zstd/blockdec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/klauspost/compress/zstd/blockdec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -168,10 +168,10 @@ func (b *blockDec) reset(br byteBuffer, windowSize uint64) error { | ||||
|  | ||||
| 	// Read block data. | ||||
| 	if cap(b.dataStorage) < cSize { | ||||
| 		if b.lowMem { | ||||
| 		if b.lowMem || cSize > maxCompressedBlockSize { | ||||
| 			b.dataStorage = make([]byte, 0, cSize) | ||||
| 		} else { | ||||
| 			b.dataStorage = make([]byte, 0, maxBlockSize) | ||||
| 			b.dataStorage = make([]byte, 0, maxCompressedBlockSize) | ||||
| 		} | ||||
| 	} | ||||
| 	if cap(b.dst) <= maxSize { | ||||
|   | ||||
							
								
								
									
										25
									
								
								vendor/github.com/klauspost/compress/zstd/decoder_options.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								vendor/github.com/klauspost/compress/zstd/decoder_options.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,14 +17,16 @@ type decoderOptions struct { | ||||
| 	lowMem         bool | ||||
| 	concurrent     int | ||||
| 	maxDecodedSize uint64 | ||||
| 	maxWindowSize  uint64 | ||||
| 	dicts          []dict | ||||
| } | ||||
|  | ||||
| func (o *decoderOptions) setDefault() { | ||||
| 	*o = decoderOptions{ | ||||
| 		// use less ram: true for now, but may change. | ||||
| 		lowMem:     true, | ||||
| 		concurrent: runtime.GOMAXPROCS(0), | ||||
| 		lowMem:        true, | ||||
| 		concurrent:    runtime.GOMAXPROCS(0), | ||||
| 		maxWindowSize: MaxWindowSize, | ||||
| 	} | ||||
| 	o.maxDecodedSize = 1 << 63 | ||||
| } | ||||
| @@ -52,7 +54,6 @@ func WithDecoderConcurrency(n int) DOption { | ||||
| // WithDecoderMaxMemory allows to set a maximum decoded size for in-memory | ||||
| // non-streaming operations or maximum window size for streaming operations. | ||||
| // This can be used to control memory usage of potentially hostile content. | ||||
| // For streaming operations, the maximum window size is capped at 1<<30 bytes. | ||||
| // Maximum and default is 1 << 63 bytes. | ||||
| func WithDecoderMaxMemory(n uint64) DOption { | ||||
| 	return func(o *decoderOptions) error { | ||||
| @@ -81,3 +82,21 @@ func WithDecoderDicts(dicts ...[]byte) DOption { | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // WithDecoderMaxWindow allows to set a maximum window size for decodes. | ||||
| // This allows rejecting packets that will cause big memory usage. | ||||
| // The Decoder will likely allocate more memory based on the WithDecoderLowmem setting. | ||||
| // If WithDecoderMaxMemory is set to a lower value, that will be used. | ||||
| // Default is 512MB, Maximum is ~3.75 TB as per zstandard spec. | ||||
| func WithDecoderMaxWindow(size uint64) DOption { | ||||
| 	return func(o *decoderOptions) error { | ||||
| 		if size < MinWindowSize { | ||||
| 			return errors.New("WithMaxWindowSize must be at least 1KB, 1024 bytes") | ||||
| 		} | ||||
| 		if size > (1<<41)+7*(1<<38) { | ||||
| 			return errors.New("WithMaxWindowSize must be less than (1<<41) + 7*(1<<38) ~ 3.75TB") | ||||
| 		} | ||||
| 		o.maxWindowSize = size | ||||
| 		return nil | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										32
									
								
								vendor/github.com/klauspost/compress/zstd/framedec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								vendor/github.com/klauspost/compress/zstd/framedec.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -22,10 +22,6 @@ type frameDec struct { | ||||
|  | ||||
| 	WindowSize uint64 | ||||
|  | ||||
| 	// maxWindowSize is the maximum windows size to support. | ||||
| 	// should never be bigger than max-int. | ||||
| 	maxWindowSize uint64 | ||||
|  | ||||
| 	// In order queue of blocks being decoded. | ||||
| 	decoding chan *blockDec | ||||
|  | ||||
| @@ -50,8 +46,11 @@ type frameDec struct { | ||||
| } | ||||
|  | ||||
| const ( | ||||
| 	// The minimum Window_Size is 1 KB. | ||||
| 	// MinWindowSize is the minimum Window Size, which is 1 KB. | ||||
| 	MinWindowSize = 1 << 10 | ||||
|  | ||||
| 	// MaxWindowSize is the maximum encoder window size | ||||
| 	// and the default decoder maximum window size. | ||||
| 	MaxWindowSize = 1 << 29 | ||||
| ) | ||||
|  | ||||
| @@ -61,12 +60,11 @@ var ( | ||||
| ) | ||||
|  | ||||
| func newFrameDec(o decoderOptions) *frameDec { | ||||
| 	d := frameDec{ | ||||
| 		o:             o, | ||||
| 		maxWindowSize: MaxWindowSize, | ||||
| 	if o.maxWindowSize > o.maxDecodedSize { | ||||
| 		o.maxWindowSize = o.maxDecodedSize | ||||
| 	} | ||||
| 	if d.maxWindowSize > o.maxDecodedSize { | ||||
| 		d.maxWindowSize = o.maxDecodedSize | ||||
| 	d := frameDec{ | ||||
| 		o: o, | ||||
| 	} | ||||
| 	return &d | ||||
| } | ||||
| @@ -251,13 +249,17 @@ func (d *frameDec) reset(br byteBuffer) error { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if d.WindowSize > d.maxWindowSize { | ||||
| 		printf("window size %d > max %d\n", d.WindowSize, d.maxWindowSize) | ||||
| 	if d.WindowSize > uint64(d.o.maxWindowSize) { | ||||
| 		if debugDecoder { | ||||
| 			printf("window size %d > max %d\n", d.WindowSize, d.o.maxWindowSize) | ||||
| 		} | ||||
| 		return ErrWindowSizeExceeded | ||||
| 	} | ||||
| 	// The minimum Window_Size is 1 KB. | ||||
| 	if d.WindowSize < MinWindowSize { | ||||
| 		println("got window size: ", d.WindowSize) | ||||
| 		if debugDecoder { | ||||
| 			println("got window size: ", d.WindowSize) | ||||
| 		} | ||||
| 		return ErrWindowSizeTooSmall | ||||
| 	} | ||||
| 	d.history.windowSize = int(d.WindowSize) | ||||
| @@ -352,8 +354,8 @@ func (d *frameDec) checkCRC() error { | ||||
|  | ||||
| func (d *frameDec) initAsync() { | ||||
| 	if !d.o.lowMem && !d.SingleSegment { | ||||
| 		// set max extra size history to 10MB. | ||||
| 		d.history.maxSize = d.history.windowSize + maxBlockSize*5 | ||||
| 		// set max extra size history to 2MB. | ||||
| 		d.history.maxSize = d.history.windowSize + maxBlockSize | ||||
| 	} | ||||
| 	// re-alloc if more than one extra block size. | ||||
| 	if d.o.lowMem && cap(d.history.b) > d.history.maxSize+maxBlockSize { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user