Commit 44c0385 1 parent 732af9b commit 44c0385 Copy full SHA for 44c0385
File tree 2 files changed +7
-7
lines changed
2 files changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -423,12 +423,11 @@ added: v0.5.8
423
423
Returns a new [ DeflateRaw] [ ] object with an [ options] [ ] .
424
424
425
425
* Note* : An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when windowBits
426
- is set to 8 for raw deflate streams. zlib does not have a working implementation
427
- of an 8-bit Window for raw deflate streams and would automatically set windowBit
428
- to 9 if initially set to 8. Newer versions of zlib will throw an exception.
429
- This creates a potential DOS vector, and as such the behavior has been reverted
430
- in Node.js 8, 6, and 4. Node.js version 9 and higher will throw when windowBits
431
- is set to 8.
426
+ is set to 8 for raw deflate streams. zlib would automatically set windowBits
427
+ to 9 if was initially set to 8. Newer versions of zlib will throw an exception,
428
+ so Node.js restored the original behavior of upgrading a value of 8 to 9,
429
+ since passing ` windowBits = 9 ` to zlib actually results in a compressed stream
430
+ that effectively uses an 8-bit window only.
432
431
433
432
## zlib.createGunzip([ options] )
434
433
<!-- YAML
Original file line number Diff line number Diff line change @@ -145,7 +145,8 @@ assert.doesNotThrow(() => {
145
145
// value of the matching deflate’s windowBits. However, inflate raw with
146
146
// windowBits = 8 should be able to handle compressed data from a source
147
147
// that does not know about the silent 8-to-9 upgrade of windowBits
148
- // that older versions of zlib/Node perform.
148
+ // that most versions of zlib/Node perform, and which *still* results in
149
+ // a valid 8-bit-window zlib stream.
149
150
node . pipe ( zlib . createDeflateRaw ( { windowBits : 9 } ) )
150
151
. pipe ( zlib . createInflateRaw ( { windowBits : 8 } ) )
151
152
. on ( 'data' , ( chunk ) => reinflated . push ( chunk ) )
You can’t perform that action at this time.
0 commit comments