Commit a6b3cd8 1 parent e5c2059 commit a6b3cd8 Copy full SHA for a6b3cd8
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 @@ -459,12 +459,11 @@ added: v0.5.8
459
459
Creates and returns a new [ DeflateRaw] [ ] object with the given [ options] [ ] .
460
460
461
461
* Note* : An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when windowBits
462
- is set to 8 for raw deflate streams. zlib does not have a working implementation
463
- of an 8-bit Window for raw deflate streams and would automatically set windowBit
464
- to 9 if initially set to 8. Newer versions of zlib will throw an exception.
465
- This creates a potential DOS vector, and as such the behavior has been reverted
466
- in Node.js 8, 6, and 4. Node.js version 9 and higher will throw when windowBits
467
- is set to 8.
462
+ is set to 8 for raw deflate streams. zlib would automatically set windowBits
463
+ to 9 if was initially set to 8. Newer versions of zlib will throw an exception,
464
+ so Node.js restored the original behavior of upgrading a value of 8 to 9,
465
+ since passing ` windowBits = 9 ` to zlib actually results in a compressed stream
466
+ that effectively uses an 8-bit window only.
468
467
469
468
## zlib.createGunzip([ options] )
470
469
<!-- YAML
Original file line number Diff line number Diff line change @@ -166,7 +166,8 @@ assert.doesNotThrow(() => {
166
166
// value of the matching deflate’s windowBits. However, inflate raw with
167
167
// windowBits = 8 should be able to handle compressed data from a source
168
168
// that does not know about the silent 8-to-9 upgrade of windowBits
169
- // that older versions of zlib/Node perform.
169
+ // that most versions of zlib/Node perform, and which *still* results in
170
+ // a valid 8-bit-window zlib stream.
170
171
node . pipe ( zlib . createDeflateRaw ( { windowBits : 9 } ) )
171
172
. pipe ( zlib . createInflateRaw ( { windowBits : 8 } ) )
172
173
. on ( 'data' , ( chunk ) => reinflated . push ( chunk ) )
You can’t perform that action at this time.
0 commit comments