New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BAD_PASSWORD #121
Open
Dowhanych
wants to merge
270
commits into
EvanOxfeld:master
Choose a base branch
from
ZJONSSON:master
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
BAD_PASSWORD #121
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add `.promise()` syntax sugar
When the main stream finishes we register `finish` and emit a `chunk` to ensure any outstanding pipes gets closed out. Also prevent new pipes from a closed stream.
Better handling of EOF
Emit error if parseOne fails to find a matching file
(allow last pull to run before `finish === true`) (reverted from commit 8d04171)
Which can contain overrides for compressedSize and uncompressedSize See this helpful commit for more detail: cthackers/adm-zip@5e4e4f8
If this option is set to true then parsing and extraction will stop as soon as we hit the first central directory header. At this point we have extracted all the data. Reason: Avoids potential invalid signature issue.
Extra fields
If we don't recognize the signature but we are already at the end, then look for the EndCentralDirectoryRecord
Central directory
Add: Open.file and Open.url
Simplify callback and ensure backpressure is managed
Add decryption
Fixing uncaught stream event error in case of multiples piped stream
Callback should be called when buffer is zero length OR has the length of the eof (if buffer)
Hotfix: callback when eof is buffer
Ensure Successful ZIP64 Extraction
End stream before closing & Prefer req.destroy() before req.abort() if available
fix grammatical error
Update README.md
Add github actions
Fix coverage
Co-authored-by: Ziggy Jonsson <ziggy.jonsson.nyc@gmail.com>
* Removing binary dependency * Adding unit test for parseBuffer --------- Co-authored-by: amcgoogan <amcgoogan@gmail.com>
* Break the huge promise chain, use a loop By using a loop over all records instead of building a huge promise chain, we avoid the issue documented in #254 where the promise chain ends up taking up all the memory of an application. In short, this commit allows the garbage collector to collect the small promises as they resolve, rather than building one huge chain that keeps references to the future "then"s. The downside of this approach currently is that it relies on async/await syntax in order to allow awaits inside loops, which is what can fix the issue here. Im sure we can find a solution without this if it is significant, and we put our minds to it! * Async-free solution with no eternal promise chain In this approach, I have removed the dependency on async/await syntax, but also avoided eternal promise chains by using a top-level promise that allows sub-promises to compute to fulfillment before moving on.
…179) * Fix: Unix OS's should properly ignore the windows zip slipped files as well. * Tests: resurrected the original zip-slip test as is as requested
Co-authored-by: Ziggy Jonsson <ziggy.jonsson.nyc@gmail.com>
* Open methods - only stream up to length * bump version
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.