Commit graph

49 commits

Author SHA1 Message Date
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
Con Kolivas 65f901a83c Get the seconds, salt and encryption loop data before compressing.
Store seconds in only 5 bytes which is enough for 400 years, leaving more room for random data.
2011-03-15 14:41:47 +11:00
Con Kolivas 6a903eff8d Convert the usecs field to a dedicated salt one which has 6 random bytes and 2 encoded loops bytes. 2011-03-15 13:14:27 +11:00
ckolivas e26d0d1381 Clear the temporary infile where possible as well when we have falen back to it. 2011-03-15 11:27:07 +11:00
ckolivas 65a681a254 Relative offset is not required in tmp inbuf, it can be safely zeroed. 2011-03-15 11:21:26 +11:00
ckolivas fca5d4232c Refuse to perform file info from STDIN. 2011-03-15 09:56:45 +11:00
Con Kolivas 8a83741c32 Clear tmpinbuf between chunks. 2011-03-14 22:03:13 +11:00
Con Kolivas c832e80085 More infrastructure to read from temporary buffers on stdin decompression. 2011-03-14 21:19:57 +11:00
Con Kolivas 36e09f206e Begin massive read changes to support using temporary file for STDIN. 2011-03-14 20:22:45 +11:00
Con Kolivas 91b8382214 Read magic specially when decompressing from STDIN. 2011-03-14 18:16:14 +11:00
Con Kolivas d56c826725 Add fd_in field to struct rzip_control. 2011-03-14 14:58:41 +11:00
Con Kolivas 684959efed Add fields for temporary input buffer and clamp memory accordingly in preparation. 2011-03-14 14:47:26 +11:00
Con Kolivas 5f7a03932b Calculate the total expected size progressively and show it when it's not known. 2011-03-14 13:32:36 +11:00
Con Kolivas dc360b52dc Update message when dumping buffer and make it maxverbose only. 2011-03-14 12:54:40 +11:00
Con Kolivas 9e772d3140 Make ALL decompression use temporary in-ram buffer whenever possible. 2011-03-14 12:48:40 +11:00
Con Kolivas aeefba2190 Allocate slightly more so we can cope when the buffer overflows and fall back to a real temporary file. 2011-03-14 11:37:56 +11:00
Con Kolivas 19ef7298c8 Cast fstat values to i64 to prevent 32 bit overflows. 2011-03-14 10:21:10 +11:00
Con Kolivas e138fa77ff Use temporary files for now with TEST_ONLY mode. 2011-03-14 10:19:53 +11:00
Con Kolivas 4a6fa7602f Begin decompressing to stdout via temporary buffer by creating a read/write wrapper. 2011-03-14 10:07:51 +11:00
Con Kolivas e0a0e6b277 Whitespace fix. 2011-03-13 18:13:46 +11:00
Con Kolivas fe0416be9d Fix whitespace indentation. 2011-03-13 18:12:05 +11:00
Con Kolivas 8756fe91e2 Enable decompression when file has been chunked stdout and display progress only when expected size is known. 2011-03-13 17:52:23 +11:00
Con Kolivas a023420cdc Make get_filefinfo read over whole file to get uncompressed size for when it's not known due to being a stdout chunked file.
Don't display microseconds in information as it will be removed.
2011-03-13 17:31:30 +11:00
Con Kolivas 6ac74aa9f0 Create a flag to know when the temporary output buffer is in use, in preparation for when we use it on decompression. 2011-03-13 08:34:06 +11:00
Con Kolivas 2f87f62696 Make the tmp out buf slightly larger to account for incompressible data, and check for buffer overflows. 2011-03-13 08:16:46 +11:00
Con Kolivas 823a51cc74 Move const one_g to correct place. 2011-03-12 22:50:40 +11:00
Con Kolivas d067a6ea9e Implement the real workings of writing to a temporary buffer before flushing to stdout. 2011-03-12 22:46:57 +11:00
Con Kolivas 1397c0f832 Create custom "loop count" system to determine how many times to hash a password when encrypting based on the datestamp.
This data will be stored as a 2 byte entry in the header in the future (b1 and b2).
2011-03-12 20:31:56 +11:00
Con Kolivas 7fbec0a783 Prepare to write compressed output by flushing stdout after each chunk is compressed. 2011-03-12 19:56:08 +11:00
Con Kolivas c75a50f723 Being modifying write_1g function to be able to write to a temporary buffer instead of straight to fd_out.
Split out make_magic to be able to write magic wherever we want later.
2011-03-12 14:13:28 +11:00
Con Kolivas 885c6b327f Add storage time display if it exists in maxverbose info. 2011-03-12 11:55:15 +11:00
Con Kolivas 6642955375 Update magic header info. It turns out I can't add.
Fix fileinfo to be able to read version 0.6x files.
2011-03-12 11:40:51 +11:00
Con Kolivas fe68b9a3f7 Institute writing and reading of 0.6 file format for compress/decompress. 2011-03-12 11:17:11 +11:00
Con Kolivas d87df4f44e Store the file size as zero when the magic header will be written before the size is known. 2011-03-11 23:45:22 +11:00
Con Kolivas a10d423596 Write/read new magic header and fix version number in configure.ac 2011-03-11 23:29:56 +11:00
Con Kolivas 9bd7468465 Fix fileinfo output for versions < 0.5. 2011-03-11 21:46:23 +11:00
Con Kolivas 64ca85120c Add chunk_byte reading to information output. 2011-03-11 21:26:42 +11:00
Con Kolivas e9eee5656b add-required-includes-and-rebase-against-master 2011-03-09 08:36:55 +11:00
Con Kolivas 1511c27aad header-mangling-part-2-move-all-function-prototypes 2011-03-09 08:34:44 +11:00
Con Kolivas f6f0a25ef6 rebase-of-function-split-and-control-additions-to-fu 2011-03-09 08:32:14 +11:00