Commit graph

89 commits

Author SHA1 Message Date
Con Kolivas
1ea75154d6 Silence compiler warnings. 2011-05-08 00:05:46 +10:00
Con Kolivas
542c1637b2 Cope with zero byte older files in get fileinfo. 2011-05-07 23:58:38 +10:00
Con Kolivas
aca5123d72 Support zero byte sized pre 0.6 archives by setting the eof flag always. 2011-05-07 23:36:55 +10:00
Con Kolivas
55dc9b0095 Fix the arbitrary lower limit of 128 bytes by compressing zeroes beyond the size of the chunk.
Put special case management of zero sized files.
Modify the percentage calculation to be able to cope with small numbers and zeroes.
2011-05-07 18:37:25 +10:00
Jari Aalto
476dce3e66 lrzip.c: (get_magic): Fix spelling mistake 2011-04-21 20:01:48 +03:00
ckolivas
127a101b14 Disable md5 checking on apple for now till someone fixes it. 2011-04-13 14:50:26 +10:00
Con Kolivas
f81f8c68c7 Fixes to make lrzip compile on cygwin courtesy of Тулебаев Салават . 2011-04-11 21:51:53 +10:00
Con Kolivas
920ad9251d Make open use mode 0777 since it will already be & ~umask it will preserve the default permissions.
Don't try to copy permissions from STDIN.
2011-04-10 11:03:45 +10:00
Con Kolivas
915edb78a2 Remove unused variables and functions. 2011-03-23 08:16:07 +11:00
Con Kolivas
b27e1df879 Revert "Modify the file format to not include rzip chunk size except for STDOUT chunked files thus decreasing the file format size further."
This reverts commit 131d4c92c2.

Breaks STDIN/OUT so revert this change and cope with the slightly extra file size on non-chunked files.
2011-03-23 07:59:04 +11:00
Con Kolivas
8077412ee5 Allow files with non-standard extensions to be tested or decompressed if they actually exist.
Don't allow a suffix if an actual output filename has been specified.
Convert ints to chars when they can be.
2011-03-23 01:51:40 +11:00
Con Kolivas
74f7b3deb6 Cope with trying to force when write bit is disabled and use mode 0600 instead of 0666.
Patch by Serge Belyshev.
2011-03-23 00:42:58 +11:00
Con Kolivas
70e7866271 Include arpa/inet.h for those OSs that have endian details elsewhere. 2011-03-22 21:47:24 +11:00
Con Kolivas
a901b015bf Revert "Try endian swap on dicSize."
This reverts commit 74b0b71e0b.

Broken crap.
2011-03-22 20:49:51 +11:00
ckolivas
74b0b71e0b Try endian swap on dicSize. 2011-03-22 18:15:18 +11:00
Con Kolivas
131d4c92c2 Modify the file format to not include rzip chunk size except for STDOUT chunked files thus decreasing the file format size further. 2011-03-22 09:04:24 +11:00
Con Kolivas
7101372167 memcpy is a silly way to set that variable which may be different size. 2011-03-22 08:19:21 +11:00
Con Kolivas
8614ede6e0 Should be doing endian change on variable, not pointer. 2011-03-22 08:03:05 +11:00
Con Kolivas
2736118f82 Check for different endian.h includes and variants of le32toh. 2011-03-22 07:57:32 +11:00
Con Kolivas
a30efcaa55 Portable generic byteswap for BE. 2011-03-22 00:13:29 +11:00
Con Kolivas
dfcce76594 BE #7 fixes. 2011-03-21 21:35:25 +11:00
Con Kolivas
8c8f5bdd48 lrz_crypt tweaks courtesy of Serge Belyshev. 2011-03-21 20:54:53 +11:00
Con Kolivas
738cde54ed More BE fixes. 2011-03-20 22:31:38 +11:00
Con Kolivas
f87528d14d Forgot to include salt length for next head. 2011-03-20 17:01:33 +11:00
Con Kolivas
30b70dc884 Fixes for non little endian machines. 2011-03-20 16:16:38 +11:00
Con Kolivas
0dad7dcc5a Modify the encrypted version to not write down the rzip chunk size, then keep track of where each block header is written, go back and write 8 bytes of salt before it and encrypt the headers in place. 2011-03-20 15:45:44 +11:00
Con Kolivas
0b1db75a44 Cleanups. 2011-03-19 13:53:43 +11:00
Con Kolivas
b11b5a0b5d Need to memset magic to zero to prevent garbage beign written to fields not written. 2011-03-19 01:16:21 +11:00
Con Kolivas
63fb1bafea Modify the file format further to make all block header information only encode the number of bytes determined in chunk_bytes instead of 8 full bytes all the time. 2011-03-18 23:18:36 +11:00
ckolivas
5005c2dff5 Get rid of extra data in new header and stick to old header size, compacting extra info into existing space. 2011-03-18 17:32:47 +11:00
ckolivas
b8d8ecfe33 Fix warnings.
Patch ~ by Serge Belyshev.
2011-03-18 10:37:09 +11:00
ckolivas
e856d481bf Discard hash_iv entirely, using passphrase hash and centralise key generation.
Patch by Serge Belyshev.
2011-03-18 10:22:58 +11:00
Con Kolivas
a3e80871c2 Add 8 bytes of random data to the start of every encrypted compressed block and use it along with 8 bytes from the stored salt to make a unique key and IV for encryption. 2011-03-18 00:06:11 +11:00
ckolivas
9049263f6f Make fd_out read/write in preparation for reading, encrypting, and then writing header data back. 2011-03-17 17:36:52 +11:00
ckolivas
7cbf870679 fdout_seekto will not always be seeking to zero. 2011-03-17 17:25:23 +11:00
ckolivas
e78069c0d7 Consolidate magic writing to be able to seek to read and encrypt block header data later. 2011-03-17 16:59:27 +11:00
ckolivas
d63a9a02ff Use a separate IV for when it is sequentially updated in preparation for encrypting the headers as well. 2011-03-17 16:00:57 +11:00
ckolivas
9d496236c5 Read remainder of magic information for ver06 files when reading from STDIN.
Refuse to decompress encrypted files from STDIN as well.
2011-03-17 13:08:36 +11:00
ckolivas
0fd18f27f5 Remove redundant code and check return value of fgets. 2011-03-17 09:54:50 +11:00
Con Kolivas
4d72e6d765 Apply fixes so that ciphertext matches. Patch courtesy of Serge Belyshev. 2011-03-17 07:03:40 +11:00
Con Kolivas
5fd7c82e1f Implement ciphertext stealing to not have to pad compressed blocks courtesy of Serge Belyshev who saved me hours of debugging thanks! 2011-03-16 21:24:05 +11:00
Con Kolivas
57944b1d5c Zero, unlock and free ram more strictly. 2011-03-16 12:38:10 +11:00
Con Kolivas
7e71d8689f Put carriage returns in right place after password prompts. 2011-03-16 11:10:46 +11:00
Con Kolivas
928a0a098a Consolidate padded length throughout. 2011-03-16 10:29:16 +11:00
Con Kolivas
f61632670e Encrypt the md5 value as well to make the file unidentifiable. 2011-03-16 00:29:10 +11:00
Con Kolivas
bf1c1ababc Support correct seeking when doing get_fileinfo on encrypted archives. 2011-03-16 00:04:44 +11:00
Con Kolivas
c5938c6a8b Implement the actual aes cbc encryption and decryption. 2011-03-15 23:52:39 +11:00
Con Kolivas
acb023988f Generate sha512 hash and hash iv required to encrypt based on password, timestamp, loops and random salt. 2011-03-15 21:18:29 +11:00
Con Kolivas
412cf013c4 Implement passphrase input. 2011-03-15 16:32:32 +11:00
Con Kolivas
202d972a6c Add encryption -e option and flag encryption with a control flag, removing encrypt field. 2011-03-15 15:04:58 +11:00