Yann Collet
93cf628a08
introduce LZ4_decoderRingBufferSize()
...
fuzzer : fix and robustify ring buffer tests
2018-05-02 13:01:04 -07:00
Yann Collet
4c696613a0
clarified streaming decompression function
...
restrictions for ring buffer
2018-04-30 15:55:33 -07:00
Alexey Tourbin
ab06ef97bb
lz4.h: clarify the risks of using LZ4_decompress_fast()
...
The notes about "security guarantee" and "malicious inputs" seemed
a bit non-technical to me, so I took the liberty to tone them down
and instead describe the actual risks in technical terms. Namely,
the function never writes past the end of the output buffer, so
a direct hostile takeover (resulting in arbitrary code execution
soon after the return from the function) is not possible. However,
the application can crash because of reads from unmapped pages.
I also took the liberty to describe what I believe is the only sensible
usage scenario for the function: "This function is only usable if the
originalSize of uncompressed data is known in advance," etc.
2018-04-23 02:13:49 +03:00
W. Felix Handte
3a0c571272
Add a LZ4_STATIC_LINKING_ONLY Macro to Guard Experimental APIs
2018-04-11 18:06:10 -04:00
W. Felix Handte
afa52c9b95
Expose dictCtx Functionality in LZ4
2018-04-11 16:28:56 -04:00
W. Felix Handte
21f0c9700b
Rename _extState_noReset -> _extState_fastReset and Edit Comments
2018-04-11 15:13:01 -04:00
W. Felix Handte
59c7d95121
Expose a Faster Stream Reset Function
2018-04-10 13:26:17 -04:00
W. Felix Handte
a3a9b80dff
Better Describe Functionality of Obsolete Streaming Functions
2018-03-21 11:39:41 -04:00
W. Felix Handte
b0a18896fe
Move LZ4_compress_fast_extState_noReset Declaration to Unstable Section
2018-03-14 15:59:33 -04:00
W. Felix Handte
66b6fbfe6f
Restore the Other Old Streaming Functions in a Degraded Fashion
2018-03-14 15:53:10 -04:00
W. Felix Handte
146e676531
Restore LZ4_sizeofStreamState, We Didn't Actually Need to Delete It
2018-03-13 15:42:03 -04:00
W. Felix Handte
f9fef255a1
Renames and Comment Fixes
2018-03-12 18:34:41 -04:00
W. Felix Handte
73cc39327e
Lookup Matches in Separate Dictionary Context
2018-03-12 14:58:43 -04:00
W. Felix Handte
d6a3024dbb
Add LZ4_compress_fast_safeExtState Function
2018-03-12 14:58:43 -04:00
W. Felix Handte
5709891de6
Add a Table Type Field to LZ4_stream_t
2018-03-12 14:58:43 -04:00
W. Felix Handte
6933f5ad9c
Remove Obsolete Stream Functions to Free Space in LZ4_stream_t
2018-03-12 14:58:43 -04:00
Yann Collet
39fda9a447
bumped version number to v1.8.2
...
updated NEWS was current progresses
2018-02-26 13:50:04 -08:00
Yann Collet
ba115386fa
update code comment on LZ4 streaming interface
...
notably regarding LZ4_saveDict() speed advantage,
answering #477 .
2018-02-26 13:31:18 -08:00
Yann Collet
d74f079748
update API doc regarding double-buffer strategy
...
answering question #473
2018-02-18 11:00:33 -08:00
Yann Collet
ea25250c99
fixed code comment as detected in #466
...
Also clarified a few API code comments
and updated associated html documentation
2018-02-07 02:21:25 -08:00
Nick Terrell
e832a3d87a
Clarify the requirements of the LZ4 streaming API
2018-02-01 16:08:59 -08:00
Asger Hautop Drewsen
c129f480e7
Always prefer c++14 attributes if available
2018-01-31 20:24:44 +01:00
Asger Hautop Drewsen
865bd83e13
Ensure LZ4_DEPRECATED("...") is before LZ4LIB_API
...
When using clang++ with std c++14 or c++17 you would get the error "an attribute list cannot appear here" when including "lz4.h" as the visibility attribute is before the c++ attribute.
This ensures that the [[deprecated]] c++ attribute is before everything
else in the function declarations.
2018-01-31 13:33:07 +01:00
Po-Chuan Hsieh
75b81bbbf0
Change file format back to ASCII (from UTF-8)
...
- Replace U+00A0 by space
- Fix build failure of archivers/py-borgbackup in FreeBSD
Reference: https://bugs.FreeBSD.org/225235
2018-01-18 03:13:05 +08:00
Po-Chuan Hsieh
47bf1a9f01
Fix lz4 version
2018-01-14 06:38:03 +08:00
Yann Collet
da8bed4b01
API : changed a few variables' names for clarity
...
updated relevant doc.
This patch has no impact on ABI/API, nor on binary generation.
2017-11-20 10:27:05 -08:00
mikir
63a7f34fee
Separated visibility from LZ4LIB_API macro.
2017-10-30 13:44:24 +01:00
Yann Collet
3d260f3522
complementary information for #394
2017-08-30 16:09:10 -07:00
Yann Collet
e3c71584ff
clarified documentation of streaming decompression functions
...
(synchronous bufferless mode)
answering questions by @jtbandes (#394 )
2017-08-30 15:42:04 -07:00
Nick Terrell
252ce14fd2
Don't use C++11 deprecation attribute with clang
...
Clang doesn't accept a C++11 attribute following `LZ4LIB_API`.
Use the GNU attribute instead.
2017-08-24 14:06:34 -07:00
Yann Collet
d8aafe2c52
dictionary compression correctly uses compression level
...
Not obvious : copying the state was copying cdict's compression level
2017-08-10 00:48:19 -07:00
Yann Collet
31f2cdf4d2
implemented dictionary compression in lz4frame
...
note : only compression API is implemented and tested
still to do : decompression API
2017-08-09 16:51:19 -07:00
Yann Collet
a902127613
bumped version number to 1.8.0
...
due to addition of prototype
LZ4F_resetDecompressionContext()
2017-05-10 13:27:18 -07:00
Yann Collet
e2c9b19122
lz4frame : Added negative compression levels
2017-04-09 01:41:36 -07:00
Yann Collet
0d073d4d28
added extern C
for lz4.h static section
...
should make the file more compatible with C++ compiler, such as Visual or g++
2017-03-17 15:11:09 -07:00
Yann Collet
cd35f0d98c
LZ4_compress_HC_destSize() uses LZ4HC_compress_generic() code path
...
Limits compression level to 10,
to remain compatible with Hash Chain.
2017-03-16 15:10:38 -07:00
Yann Collet
6b2a1b3606
updated lz4 version number
2017-03-16 02:24:46 -07:00
Yann Collet
e945a27f9c
fix #333 : expose obsolete decoding functions
...
with deprecation warning.
notified by Chen Yufei
2017-03-14 21:21:54 -07:00
Dmitry V. Levin
25b2435885
Export deprecated symbols
...
Deprecated symbols are still a part of ABI and have to be exported,
so mark them with LZ4LIB_API attribute.
2017-03-10 23:35:30 +00:00
Dmitry V. Levin
7aeecbff71
Explicitly set visibility of public API functions when gcc is used
...
Windows builds already limit exporting of functions to those marked
with LZ4LIB_API tag. The same behaviour could be achieved on other
platforms when a relatively fresh gcc is used.
This change assigns public visibility to all symbols marked with
LZ4LIB_API tag. When the library is built in -fvisibility=hidden
mode, only these marked symbols will be exported.
2017-03-10 23:35:30 +00:00
Przemyslaw Skibinski
f9f48f8ed9
lz4.h: improved manual generation
2017-01-23 16:02:51 +01:00
Yann Collet
9683a1ae87
LZ4_MEMORY_USAGE can be modified from compilation command line
2017-01-05 16:50:37 +01:00
Yann Collet
a9a8dbf7c1
fixed minor display error when using -r
2016-11-28 04:01:02 -08:00
Takayuki MATSUOKA
b4db9d7e35
Add C++14 standard [[deprecated]] attribute
...
See also
For __cplusplus predefined macro, https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
For [[deprecated]] attribute, https://isocpp.org/wiki/faq/cpp14-language#deprecated-attribute
2016-11-19 22:08:48 +09:00
Yann Collet
19df3029e2
fixed #272 (compilation fails on gcc 4.4), reported by @totaam
2016-11-18 17:56:56 -08:00
Yann Collet
1abecbc33c
fix 32-bits mode.
...
Large File support for Mac OS-X in 32-bits mode
Fixed potential undefined behavior
Changed makefile for 32-bits mode
2016-11-17 13:02:06 -08:00
Yann Collet
923cf4447f
bump version number
2016-11-14 18:09:31 -08:00
Yann Collet
fa158b4118
fixed nameless union warnings
2016-11-14 10:02:01 -08:00
Yann Collet
1b24cc1155
fixed conversion warnings
2016-11-14 07:10:31 -08:00
Yann Collet
bb97e8a6fd
fixed __GNUC__ macro
2016-11-12 13:30:02 -08:00