View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000003||file||[All Projects] General||public||2018-06-17 08:02||2018-11-05 18:41|
|Target Version||Fixed in Version|
|Summary||0000003: Native decompression|
|Description||Currently file uses external applications to decompress certain file formats before analysing them.|
This prevents effective sandboxing via seccomp.
This bug is to collect information and keep track of the progress of implementing all compression formats using libraries
Currently we have the folloging native decompression functions:
The following external decompression tools are currently used and need to be implemented using their respective libraries:
The compression is handled in srv/compress.c
Information for the xz compression format:
I will start with the xz format as soon as I find the time.
After looking into it I believe this https://fossies.org/linux/xz/doc/examples/02_decompress.c already contains all the code needed to implement xz decompression in file.
However there are still some issues in compress.c that I do not fully understand, like how the "method" is determined and how we should change it to allow for a number of new compression methods.
There are also some other areas where I do not get the impression compress.c is ready to have new compression algorithms implemented and I don't think I will fix this that easily
@christos: Can you support this by adopting compress.c in a way that adding new compression methods is more easily possible (and comprehensible). That would be a great help.
I lot of progress has been made to add native decompression formats in:
The necessary source code to handle most formats is there.