mirror of
https://github.com/ckolivas/lrzip.git
synced 2025-12-06 07:12:00 +01:00
Documentation.
This commit is contained in:
parent
dfcce76594
commit
b074fa70b0
41
ChangeLog
41
ChangeLog
|
|
@ -1,6 +1,45 @@
|
||||||
lrzip ChangeLog
|
lrzip ChangeLog
|
||||||
MARCH 2011, version 0.600 Con Kolivas
|
MARCH 2011, version 0.600 Con Kolivas
|
||||||
* Massive rewrite
|
* Massive rewrite with new file format to accomodate new features.
|
||||||
|
* Allocate temporary buffers of safely sized ram that can act as temporary
|
||||||
|
storage for performing de/compression to/from STDIN/STDOUT without requiring
|
||||||
|
temporary physical files. Files compressed on machines with much larger ram
|
||||||
|
being decompressed on smaller ram machines may still require temporary files,
|
||||||
|
but as much as possible is done using in-ram decompression, and minimally
|
||||||
|
sized temporary files. Information displayed is more verbose and accurate in
|
||||||
|
STDIN/STDOUT mode.
|
||||||
|
* The temporary buffers created for decompressing to STDOUT are also used
|
||||||
|
for decompressing regular files now avoiding multiple write/reads when
|
||||||
|
re-constructing the file on decompression. This can dramatically speed up
|
||||||
|
the rzip phase of decompression on complicated files with many small matches.
|
||||||
|
* Compress block headers as well now since we know how many bytes can be used
|
||||||
|
to describe the length of the block, decreasing overall file size.
|
||||||
|
* Store the rzip chunk size per chunk to make it possible to check total file
|
||||||
|
size by summating each rzip chunk size when it's not known till the end (as
|
||||||
|
happens when compressing from STDIN).
|
||||||
|
* Implement password protected encryption. Import the polarssl code for
|
||||||
|
sha512 and aes128 routines. Read password without echoing to screen by
|
||||||
|
disabling echo via terminfo. Take the password then multiply hash it
|
||||||
|
according to the date it was generated. Inrease the number of hashes according
|
||||||
|
to Moore's law so it always takes approximately 1 second per password on the
|
||||||
|
most modern hardware when first encrypted. Hash the password against 8 bytes
|
||||||
|
of salt which is a combination of the 2 byte encoded loop counter (for how
|
||||||
|
many times to hash the password) and 6 random bytes. Take random from
|
||||||
|
/dev/urandom if it's available and fall back to random() if not. Encrypt each
|
||||||
|
block of compressed data with 8 extra bytes of random salt. Once the headers
|
||||||
|
are written, go back and encrypt the headers as well. Then encrypt the md5
|
||||||
|
hash value as well. Anything beyond the initial lrzip magic header should
|
||||||
|
apppear as random data and no two successive encryptions of the same data with
|
||||||
|
the same password should generate the same data.
|
||||||
|
* New build system should be more robust and portable.
|
||||||
|
* Abstract out functions better into separate files and headers, and remove
|
||||||
|
all use of global variables. This will make the generation of an lrzip
|
||||||
|
library possible in the future.
|
||||||
|
* Prevent testmalloc from coming up with a negative number when determining
|
||||||
|
how big a block of memory to allocate by decreasing the number of threads to
|
||||||
|
be used and then aborting to a minimum value should it still be too much
|
||||||
|
apparent ram.
|
||||||
|
* Numerous other fixes, documentation and cleanups.
|
||||||
|
|
||||||
MARCH 2011, version 0.571 Con Kolivas
|
MARCH 2011, version 0.571 Con Kolivas
|
||||||
* Only retry mmaping if it's a memory error, otherwise it may give spurious
|
* Only retry mmaping if it's a memory error, otherwise it may give spurious
|
||||||
|
|
|
||||||
28
WHATS-NEW
28
WHATS-NEW
|
|
@ -1,6 +1,32 @@
|
||||||
|
lrzip-0.600
|
||||||
|
|
||||||
|
Compressing/decompressing to/from STDIN/STDOUT now works without generating
|
||||||
|
any temporary files. Very large files compressed in this way will be less
|
||||||
|
efficiently compressed than if the whole solid file is presented to lrzip,
|
||||||
|
but it is guaranteed not to generate temporary files on compression.
|
||||||
|
Decompressing files on a machine with the same amount of ram will also not
|
||||||
|
generate temporary files, but if a file was generated on a larger ram machine,
|
||||||
|
lrzip might employ temporary files, but they will not be the full size of the
|
||||||
|
final file.
|
||||||
|
Decompression should now be faster as the rzip reconstruction stage is mostly
|
||||||
|
performed in ram before being written to disk.
|
||||||
|
Final file sizes should be slightly smaller as block headers are now also
|
||||||
|
compressed.
|
||||||
|
Heavy grade encryption is now provided with the -e option. A combination of
|
||||||
|
a time scaled multiply hashed sha512 password with random salt followed by
|
||||||
|
aes128 block encryption of all data, including the data headers, provides for
|
||||||
|
extremely secure encryption. Passwords up to 500 characters in length are
|
||||||
|
supported, and the same file encrypted with the same password is virtually
|
||||||
|
guaranteed to never produce the same data twice. All data beyond the basic
|
||||||
|
lrzip opening header is completely obscured. Don't lose your password!
|
||||||
|
Lrzip will not try to malloc a negative amount of ram on smaller ram machines,
|
||||||
|
preferring to decrease the number of threads used when compressing, and then
|
||||||
|
aborting to a nominal minimum.
|
||||||
|
A new build configuration system which should be more robust and provides
|
||||||
|
neater output during compilation.
|
||||||
|
|
||||||
lrzip-0.571
|
lrzip-0.571
|
||||||
|
|
||||||
A new build configuration system.
|
|
||||||
Avoid spurious errors on failing to mmap a file.
|
Avoid spurious errors on failing to mmap a file.
|
||||||
Fee space will now be checked to ensure there is enough room for the
|
Fee space will now be checked to ensure there is enough room for the
|
||||||
compressed or decompressed file and lrzip will abort unless the -f option is
|
compressed or decompressed file and lrzip will abort unless the -f option is
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue