-
-
Notifications
You must be signed in to change notification settings - Fork 392
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
Easier unarchiving support with v4? #311
Comments
Well, unarchiving is quite problematic. The vast majority of issues in v3 and earlier were related to edge cases and security reports, and I was getting hounded by security "researchers" who didn't do their due diligence in the first place. It's true that v3's unarchiving behavior was susceptible to certain attacks from untrusted archive files, but given that no satisfactory solution was presented (literally nothing bulletproof that absolutely solved the problems), we finally just gave up and said, "only use this on archives you trust," basically. But I still kept getting hounded about security problems, which got quite annoying. You can look through the closed issues (and some open ones, maybe) to see the history there. So in v4, I solved all these problems by ripping out the code that actually writes to disk and instead I let the user assume that responsibility/burden. Now we have an archives library that is more capable and flexible and useful than ever before (glad you noticed that and appreciate that, btw) -- including letting you unarchive files exactly how you want. (PS. Upgrade to To clarify, I am very open to implementing a good/simple unarchiving API. It just needs to be done without all the problems v3- had. |
Hello, thanks for the awesome library. The new version is fantastic since I can use it in conjunction with other network libraries to stream HTTP response right into unarchiving process.
I'm using archiver on Google Cloud Storage caching library for GitHub Actions, and while archiving files was super easy, unarchiving was more involved with some manual file type handling.
Is there a plan to have a shorthand to make unarchival process a bit easier?
What would you like to have changed?
Quick way to unarchive file on v4, similar to how v3 works in some way
Why is this feature a useful, necessary, and/or important addition to this project?
Currently, unarchiving requires a user to manually handle each different Tar type flags which involves a lot of boilerplate.
What alternatives are there, or what are you doing in the meantime to work around the lack of this feature?
I took a look at v3 code and implemented unarchiving in-line, however it's not ideal at least from my perspective.
Please link to any relevant issues, pull requests, or other discussions.
The text was updated successfully, but these errors were encountered: