| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 241eb61 commit 25ef9d2
2 files 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 ahs 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)) | |
| Back | FazBrowse Home | New Git URL |
0 commit comments