Comments (6)
To be honest, I'm a bit reluctant to release it in the current state. Yes, the 7z code path should be pretty much stable in its current form, but I haven't tested that yet.
Testing in this case means:
- making sure it builds correctly on all supported platforms (Linux, OS X, Windows)
- do some basic fuzzing for all archive formats possibly affected by the changes introduced
There are also some minor issues with the 7z code path which should not affect end users but are a little ugly from a developers point of view.
Unarr tries to always provide the choice between an internal implementation of a decompression algorithm or, if available, a system library provided version. However, as the 7z decompression is directly taken from the lzma sdk, it is currently hardcoded to use internal/embedded versions of the lzma algorithms, which leads to two versions (xz/libzma and lzma sdk) of the same algorithms being in use in the same library.
I could probably solve this issue by using shim headers, but it's easy to do more harm than good this way, so this needs proper testing too.
As you can see, there's still some more work to do before this is really release ready. Still, perfect is the enemy of good, so if 7z support is really needed that badly, I'm open to run some tests and do a release.
from unarr.
making a release, even one marked as beta, will make people test it in the wild as packagers will have an official release to target which makes reporting bugs and passing them upstream easier
but its its not ready yet it can wait
you can also look at the libarchive implementation which covers both xz and 7z which might help
from unarr.
Yes, I am aware of libarchive and other 7z implementations. They're not really a help in this case though as unarr's 7z implementation is based on the lzma sdk and theirs isn't. They will be very helpful for rewriting 7z support to get rid of the lzma sdk limitations, but for now I'm aiming for lower hanging fruits.
7z support is still optional, so some 'uglyness' is probably acceptable even if I don't like it. I'll try to run some tests in the next few days and if nothing bad shows up I'll release a beta.
from unarr.
Is there an update on this?
from unarr.
Yes, I just released a beta packaged with the newest lzma sdk and some other fixes/improvements.
from unarr.
Fixed in ca745b7
from unarr.
Related Issues (16)
- 1.0.1: version problems. HOT 5
- Cannot unarchive 7z files HOT 6
- Missing `raw` parameter in `x_get_name` calls HOT 1
- API limits the maximum archive entry size on 32bit systems HOT 8
- QtWebApp HOT 1
- 1.0.1: no ctest test units HOT 6
- Path traversal vulnerability HOT 2
- pkg-config file is broken when CMAKE_INSTALL_{INCLUDE,LIB}DIR is absolute
- When un7zip size of 100GB.7z and 10GB.7z files report an error :'unarr: No valid RAR, ZIP, 7Z or TAR archive' HOT 3
- add new release to fix includedir and libdir in libunarr.pc HOT 3
- RAR 5.0 support needed HOT 18
- more clear API documentation for ar_parse_entry failed situation ? HOT 1
- memory leak if 7z is not valid HOT 1
- allocate very big memory for some invalid input HOT 5
- encoding problems in zip files HOT 22
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unarr.