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
Archive overhaul. #173
Merged
Merged
Archive overhaul. #173
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
Splitting responsibility for handling archives and compression out from the recursor closure and into its own separate classes respectively. I know we were originally going to stick to closures and hold out on going full OOP on the core until v2, and 'cleanup' won't work on classes, but seeing as I need to completely overhaul archive functionality already anyway, and I don't feel too great about doing it all again 6 months or whatever down to track if I can avoid it, I've opted to take this approach immediately for archives and compression, and we can just consider it a 'stepping stone' to a future v2 or whatever. Feel free to review/audit/comment this commit if you'd like. I don't shy away from feedback! However, don't pull this into master just yet. This commit forks a new branch, and a crapload of work still needs to be done yet to the phpMussel core before anything is viable. Committing the work done thus far now to avoid monster-sized commits later down the track, when we're ready to pull (this commit is only a small piece of what's needed).
Still a work-in-progress.
Still a work-in-progress.
Basically works properly now, but there are still a few small details to be worked out properly, I need to figure out how to check for rar encryption properly, there's a few inconsistencies between the different handlers when scanning that I'll need to fix somehow, I still need to update the changelogs, docs+L10N, and then refactor a few things in the codebase so that it doesn't look too ugly. Almost done though.
- Adds a new output value specifically for when encryption is detected. - Removes some old, outdated references in the docs and and updates docs with information about the new output value. - Report possible tampering if actual decompressed size doesn't match reported decompressed size. - Reduces the max_recursion default value from 10 down to 4 to tighten safety. - Better reporting for missing required extensions.
Removes deprecated L10N strings and adds quine detection.
- Improves the archive handler, adds new methods to the interface, etc. - Adds support for detecting encrypted rar files. - Adds a table to the docs to clarify which compression and archive formats are and aren't supported, and removes some otherwise ambiguous wording about it from the docs and L10N data.
- Refactoring chameleon attack detection code. - Slightly refactoring CLI handler. - Also fix a possible edge-case issue with pre-compressed archives.
This was referenced Oct 17, 2018
Closed
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.
No description provided.