Commit graph

415 commits

Author SHA1 Message Date
Moinak Ghosh
2cd41ec257 Revamp Filter handling code.
1) Really avoid adding filter xattr for non-processed files.
2) Clean up filter error handling.
3) Avoid libarchive data writes in filter callbacks.
4) Have libarchive data writes in a single place.
5) Properly handle skipping filter processing for a file.
6) Fix temporary file pathname handling.
2014-12-14 23:37:40 +05:30
Moinak Ghosh
dfe18ef48f Fix missed archive entry record.
Fix enabling of metadata stream feature.
Fix log message text.
Use macro for path separator.
2014-12-11 23:16:26 +05:30
Moinak Ghosh
f970b41e34 A bunch of improvements and fixes.
- Fix heap corruption in DICT Filter.
- Make default Dedup block size as 8KB.
- Revamp executable file handling: Part#1.
- Developed new E8E9 filter that works better than Dispack on raw data blocks.
- Remove block-based Dispack encoding. File-specific Dispack filter to be added.
- Improve file header based executable file detection.
- Introduce new sorting algorithm for filenames without extension.
2014-12-11 19:15:36 +05:30
Moinak Ghosh
4c62e4db60 Fix buffer size handling in metadata chunks. 2014-11-29 13:18:01 +05:30
Moinak Ghosh
753360e479 Tweak some data type settings. 2014-11-19 20:19:16 +05:30
Moinak Ghosh
b257c83f33 Detect a few mozilla file signatures.
Add missing option to suppress pathname sorting.
Fix chunk sizing to properly auto-enable deduplication.
Fix default dedupe block size to 8KB.
2014-11-16 22:57:47 +05:30
Moinak Ghosh
29b5efc988 Add couple of mozilla file extensions.
Check for files > INT64_T when sorting.
Makefile targets to help development.
2014-11-15 19:17:33 +05:30
Moinak Ghosh
cfe2cea544 Add a couple of prefetch in LZMA for a 4%-18% improvement.
Cleanup some whitespace.
2014-11-09 22:04:34 +05:30
Moinak Ghosh
507e7c75d3 Centralise data analysis routine for optimum performance and leverage.
Utilise buffer data analysis for preprocessing filters.
2014-11-06 22:23:33 +05:30
Moinak Ghosh
848010fbb5 Tweak LZP and Dict to mostly avoid non-text files. 2014-11-05 22:05:19 +05:30
Moinak Ghosh
62c7590f26 Detiled listing of archive members (-i). 2014-11-04 00:36:18 +05:30
Moinak Ghosh
5a742b94f0 Add checksum verification of metadata chunks. 2014-11-03 23:32:12 +05:30
Moinak Ghosh
d63f848a24 Fix encryption of metadata chunks. 2014-11-03 23:22:22 +05:30
Moinak Ghosh
ffa7f9cff8 Evict libiconv for Linux plaforms. 2014-11-03 21:14:23 +05:30
Moinak Ghosh
b2ad225fbb iImplement fast TOC listing for metadata streams.
Fix help text.
Removed redundant allocator code.
Actually free memory on exit.
2014-11-03 20:20:05 +05:30
Moinak Ghosh
3259c7ced0 Fix sub-type count. 2014-10-27 21:23:03 +05:30
Moinak Ghosh
b7804a0caa Improve file sorting algorithm.
Add more file extension names.
Fix data type mask size.
2014-10-27 19:23:03 +05:30
Moinak Ghosh
cc68550670 Add metadata stream flag for archive.
Change flag bit to not collide with checksum id.
Handle '-T' option properly.
2014-10-25 22:57:31 +05:30
Moinak Ghosh
e7081eb5a3 Git commit - rehash. Incorrect earlier commit.
Implement Separate metadata stream.
Fix blatant wrong check in Bzip2 compressor.
Implement E8E9 filter fallback in Dispack.
Improve dict buffer size checks.
Reduce thread count to control memory usage in archive mode.
2014-10-24 23:30:40 +05:30
Moinak Ghosh
1a00613457 Changes for future feature (disabled now): Separate metadata stream.
Fix blatant wrong check in Bzip2 compressor.
Implement E8E9 filter fallback in Dispack.
Improve dict buffer size checks.
Reduce thread count to control memory usage in archive mode.
2014-10-24 21:12:48 +05:30
Moinak Ghosh
e3c32ed6d6 Remove unneeded archive writing function.
Improve filter scratch buffer handling.
Improve memory accounting.
Remove delayed allocation when compressing. Allows better memory estimation.
Some cstyle fixes.
2014-09-24 21:54:36 +05:30
Moinak Ghosh
6ba9c4b721 Change EXE code detection process to CSC's Analyzer. 2014-09-23 21:19:10 +05:30
Moinak Ghosh
4c3f3d5ee2 Libarchive tweaks to indicate data vs metadata reads and writes. 2014-09-22 21:21:52 +05:30
Moinak Ghosh
3debf1340c Fix missing newline in error message. 2014-09-21 22:08:10 +05:30
Moinak Ghosh
50643b1f93 Fix libarchive configure and makefiles for Linux build. 2014-09-21 19:57:28 +05:30
Moinak Ghosh
3fedef7f7f Add missing file for clean libarchive build. 2014-09-20 22:06:36 +05:30
Moinak Ghosh
2e5f2d8aab Make DICT filter useful.
Improve data analysis in adaptive_compress.
2014-09-20 21:49:06 +05:30
Moinak Ghosh
071a9e2b26 Update,simplify analyzer function to indicate text data for Dict filter.
Fix archive header writing bug.
Strip ^M chars from dict filter files.
Include DICT preprocessing type.
Fix a bunch of bugs found by Xcode.
2014-09-20 12:49:00 +05:30
Moinak Ghosh
4fedebc607 Dict filter work in progress. 2014-09-18 22:51:25 +05:30
Moinak Ghosh
f34962f8cc Set Wavpack compression mode based on compression level. 2014-09-17 21:43:00 +05:30
Moinak Ghosh
af39994a59 Working Wavpack filter for compressing WAV filies.
Improved error handling of filter routines.
Improved verbose logging.
2014-09-17 20:34:38 +05:30
Moinak Ghosh
fd087a8949 Step 0 of adding WavPack filter - does not work yet.
WAV file detection.
Rename libarchive dir to be generic.
2014-09-14 23:56:38 +05:30
Moinak Ghosh
5a875f3174 Regenerate extensions hash. 2014-09-12 17:00:36 +05:30
Moinak Ghosh
3e9a46a602 Add tagging of filter-processed entries with custom XATTR.
Add magic number based detection of JPEG and PNM formats.
2014-09-11 20:29:53 +05:30
Moinak Ghosh
08a30d270d Add caller-defined xattr handling features to private libarchive. 2014-09-11 19:17:02 +05:30
Moinak Ghosh
9ecbbbafd0 Pull in private copy of libarchive to add pcmpress-specific functionality.
First step to add packPNM support.
2014-09-11 18:34:43 +05:30
Moinak Ghosh
9feee0a36d Add MPLv2 license forking script. 2014-08-28 23:06:02 +05:30
Moinak Ghosh
376a56622b Several fixes for issue #21. 2014-08-28 22:48:36 +05:30
Moinak Ghosh
d5ceda559e Update Licensing notes and build notes.
More whitespace fixes.
2014-07-26 15:28:40 +05:30
Moinak Ghosh
c1411a6af6 More whitespace cleanup and MPLv2 licensing support. 2014-07-24 23:48:42 +05:30
Moinak Ghosh
10f40e1c6f Part 1 changes to allow dual licensing to MPLV2.
Make external LGPL code/features disabled in MPLV2 variant.
Nuke some unwanted whitespace (cstyle).
2014-07-24 22:20:30 +05:30
Moinak Ghosh
0433452b37 Miscellaneous refactoring.
Add some headers for OSX.
2014-05-24 23:52:30 +05:30
Moinak Ghosh
a6676698fa Configurable optimization level for libbsc. 2014-05-09 22:58:51 +05:30
Moinak Ghosh
63509327e4 Tweak optimization flags for libbsc.
Reduce max opt level on OS X to avoid crashes due to Gcc code generation quirks.
2014-05-09 22:53:47 +05:30
Moinak Ghosh
a62e1aa5f7 Config script option to disable AVX.
Fix compiler (Gcc 4.9) warnings.
2014-05-05 19:40:53 +05:30
Moinak Ghosh
125828b6b3 Update CPUID detection for AVX2. 2014-05-04 22:35:12 +05:30
Moinak Ghosh
7055a8fc71 Add AVX detection and usage of -mavx[2] flags.
Force GCC to use Clang assembler always on MAC OS X for AVX support.
2014-05-04 22:03:40 +05:30
Moinak Ghosh
63bef473cc Working MAC OS X port.
Compatibility layer for semaphore handling.
2014-05-04 21:11:31 +05:30
Moinak Ghosh
7830473c65 Avoid cleaning buildtmp for make clean. Causes subsequent make to fail. 2014-05-04 19:55:01 +05:30
Moinak Ghosh
9cbdd7ce8c Fix Libbsc and dynamic lib builds. 2014-05-04 14:45:07 +05:30