Commit graph

44 commits

Author SHA1 Message Date
Petr Mikusek
c6d91cb32e Remove bashisms in config
Checked by checkbashisms tool
2015-09-23 13:51:54 +02:00
vales
0bca8f75bb Make ./config GCC 5.x aware
This patch makes two little things:
1. makes ../config GCC 5.x friendly
2. completely removes wavpack related stuff from Makefile if ../config --disable-wavpack given
Last one is for #35 issue. I also stuck into this when compiling w/o wavpack.
Compiled with this patch by gcc 5.1.0 on ArchLinux x86_64 from git master:
cd pcompress-master
patch -Np1 < ../gcc5.patch
./config --prefix=/usr --no-1.3-archive-compat --disable-wavpack
make
make install
have no problems and works fine.
2015-07-23 11:19:31 +05:00
Moinak Ghosh
73307c3996 Multiple checks and balances in Dispack to avoid buffer overlfow.
Allow filter variants to omit the standard header.
Use E8E9 in Dispack filter as a fallback.
Fix integer overflow for type value in thread data struct.
Do not inline functions in DEBUG build.
2014-12-21 14:13:58 +05:30
Moinak Ghosh
50643b1f93 Fix libarchive configure and makefiles for Linux build. 2014-09-21 19:57:28 +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
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
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
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
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
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
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
9cbdd7ce8c Fix Libbsc and dynamic lib builds. 2014-05-04 14:45:07 +05:30
Moinak Ghosh
4a9cd8c48e More portability tweaks.
Fix compiler warnings.
2014-05-04 13:32:11 +05:30
Moinak Ghosh
4b037f0ed7 More portability tweaks. 2014-05-04 11:54:33 +05:30
Moinak Ghosh
f2da433188 More portability tweaks.
Handle platform specific yasm parameters.
Resolve namespace conflict on OSX.
Do not build Skein ASM code on OSX.
2014-04-30 22:46:24 +05:30
Moinak Ghosh
8b52f7ccb8 Some initial tidbits for the start of an OSX/Windows port. 2014-04-26 23:05:14 +05:30
Moinak Ghosh
31b1f56902 Fix issue #14
Updated fix for issue #12
Add check for correct Libarchive version.
Update header checks to abort if not found.
2014-01-14 21:59:32 +05:30
Moinak Ghosh
ba1de93514 Update installation doc.
The '--help' option to config should not generate a Makefile.
2014-01-12 21:52:27 +05:30
Moinak Ghosh
5a49252bb9 Remove external Libbsc option. 2013-11-30 22:43:31 +05:30
Moinak Ghosh
fb25e53b4f Add forked and optimized copy of LGPL version of Libbsc.
Strip out Sort Transform from Libbsc copy.
Reduce Libbsc memory use.
Avoid redundant adler32 of data block in Libbsc.
2013-11-30 22:13:33 +05:30
Moinak Ghosh
7f81869874 Archiving support using Libarchive: Work in progress changes.
Change all perror() calls to use logger.
Make the config script a little verbose.
2013-10-20 23:54:27 +05:30
Moinak Ghosh
f8f23e5200 Major License text cleanup. 2013-03-07 20:26:48 +05:30
Moinak Ghosh
20250aa5dc Add XSalsa20 encryption algorithm from the NaCL library.
Include 128-bit key support based on the Salsa20 eSTREAM submission.
Allow variable-length nonces.
Use random bytes for initial nonce value.
Increase PBE hash rounds to 50000.
2013-03-04 21:56:07 +05:30
Moinak Ghosh
7a29c7be1e Change default encryption key length to 256 bits.
Add optional ability to change key length at runtime via cli option.
Include key length property in archive header.
Fix header HMAC to include salt, nonce and key length properties.
Retain backward compatibility to handle older format archives.
Fix compilation of AES ASM code.
2013-03-03 20:02:14 +05:30
Moinak Ghosh
efe5232cdc Add compatibility to decode old-format parallel hashes created with version 1.2.
Bump archive version to 7 as parallel hashes are now merkle style hashes.
2013-02-24 20:05:16 +05:30
Moinak Ghosh
43af97042a Major changes to use Intel's optimized SHA512 code for SHA512 and SHA512/256.
Remove earlier SHA256 code which is slower than SHA512/256 (on 64-bit CPU).
Use HMAC from Alan Saddi's implementation for cleaner, faster code.
2013-01-25 22:55:55 +05:30
Moinak Ghosh
26bb137257 Changes for generalized runtime SSE/AVX/XOP detection.
Multi instruction set XXhash build with runtime selection.
Extend CPUID code to detect more instruction sets.
Add options for BLAKE2 hash.
Move GCC builtins into utils header.
Bump file format version number due to extended digest flags.
Add descriptions to digest list.
2013-01-25 00:10:12 +05:30
Moinak Ghosh
e9e3e1e632 Improve SSE version detection.
Add SSE4 detection.
Fix setting of some opt flags in Makefile.in.
2013-01-20 22:53:36 +05:30
Moinak Ghosh
a8fd60fb06 Fix issue #1 and issue #2.
Enable building with older openssl (at least 0.9.8e).
Add variants of missing functions in older openssl versions.
Allow proper linking with libraries in alternate locations and setting RUNPATH.
Increase hash rounds for nonce generation.
2013-01-05 00:16:15 +05:30
Moinak Ghosh
26a4f42506 Introduce strict compiler flags and fix scores of warnings/issues.
Avoid different optimization flags for Dedupe sources.
Fix liberal mixing of uint64_t and int64_t (should all be uint64_t).
Fix corner case crash when decompressing.
2012-12-27 23:06:48 +05:30
Moinak Ghosh
d597f0f05c Major enhancements to Delta2 encoding.
Avoid transposing below-threshold spans. Reduces compression ratio.
Use little-endian storage format for numbers to optimize for x86.
Improve embedded table detection.
Reduce header sizes.
Get rid of Gcc's LTO flag. Causes a performance drop.
Fix preprocessing behavior when LZP does not compress but Delta2 works.
2012-12-23 23:50:45 +05:30
Moinak Ghosh
00c8c534d0 Silence more Gcc warnings.
Update testing note.
2012-12-17 20:23:30 +05:30
Moinak Ghosh
25bb54e3bc Improve 64-bit compiler and platform checks.
Ensure core dumps are enabled during testing.
2012-12-17 18:37:27 +05:30
Moinak Ghosh
fb30b5c295 Enable building with alternate Zlib and Bzlib.
Update README and comments.
Fix correct setting of output size when using Delta2 without LZP.
2012-12-16 23:17:04 +05:30
Moinak Ghosh
c7b960e72c Enable use of Link Time Optimizations in GCC. 2012-12-11 17:58:23 +05:30
Moinak Ghosh
75c81b5e9c Add support for 64-bit Keccak implementation.
Sanitize error message from tests.
Add more tests.
Improve platform detection in config script.
2012-12-08 14:19:01 +05:30
Moinak Ghosh
c5ebe1f30a Portability to Debian based distros.
Enable SSE4/AVX detection for AMD platforms (Bulldozer has both).
Portable long long int print formatting to silence gcc 4.6 warnings.
2012-10-21 21:03:07 +05:30
Moinak Ghosh
f2d7bea902 Support for chunk-level encryption using AES and Scrypt based PBE.
Couple of minor fixes.
2012-10-15 12:10:00 +05:30
Moinak Ghosh
21cbef6d60 Incorporate SSE/AVX optimized Intel SHA-256 implementation.
Add support for runtime cpuid detection.
2012-10-06 20:51:23 +05:30
Moinak Ghosh
2578676b1b Add support for SHA256 and SHA512 digests from OpenSSL library. 2012-10-03 22:43:02 +05:30
Moinak Ghosh
4ba840b255 Add ASM version of Skein for x64 platforms with auto-detection
Error checking for checksum flag when decompressing
Update comments and READMEs
2012-09-01 14:40:15 +05:30
Moinak Ghosh
d75535bc7e Add support for libbsc a high-performance block sorting compressor.
Enable external algorithm threading for single chunk compressed files.
Update docs.
2012-08-27 21:51:55 +05:30
Moinak Ghosh
5f41057f9c Add config script to generate Makefile based on flags.
Add install target and installation readme file.
A few comment changes.
2012-08-26 14:09:24 +05:30