| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
See GH #340 and 6b9a3a5 for background
|
|
|
|
|
|
|
|
| |
As the alternatives are unfortunate for applications trying to catch
all library errors, and it seems deriving from std::runtime_error
causes problems with MSVC DLLs (GH #340)
Effectively reverts 2837e915d82e43
|
| |
|
| |
|
| |
|
|
|
|
| |
GH #264
|
|
|
|
|
| |
zlib treats a nullptr output buffer as an error. This commit fixes the
failing compression tests.
|
|
|
|
|
|
| |
&emptyVector[n] triggers undefined behavior because it is an out-of-
bounds access, even if n == 0. emptyVector.data() does not (but may
return nullptr).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Fix zlib decompression which was not ignoring Z_BUF_ERROR which is
harmless in this context as process is already checking avail_in
and avail_out after run returns.
Bump version to 1.11.17
|
|
|
|
|
| |
compression type instead of the base transform class. Add some final
annotations.
|
|
|
|
|
| |
This lets flush work for decompression also, and more generally
provides what an application wants from a mid-stream compression flush.
|
|
|
|
|
|
| |
notify the user when they are enabled.
Drop botan-config, replaced by `botan config` command added in 1.11.8
|
|
|
|
|
|
| |
Fix retreival of LZMA and bzip2 compressors from make_compressor.
Allow setting compression level from command line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert all uses of Algorithm_Factory and the engines to using Algo_Registry
The shared pool of entropy sources remains but is moved to EntropySource.
With that and few remaining initializations (default OIDs and aliases)
moved elsewhere, the global state is empty and init and shutdown are no-ops.
Remove almost all of the headers and code for handling the global
state, except LibraryInitializer which remains as a compatability stub.
Update seeding for blinding so only one hacky almost-global RNG
instance needs to be setup instead of across all pubkey uses (it uses
either the system RNG or an AutoSeeded_RNG if the system RNG is not
available).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Transforms and BlockCiphers. Registration for all types is done at
startup but is very cheap as just a std::function and a std::map entry
are created, no actual objects are created until needed. This is a
huge improvement over Algorithm_Factory which used T::clone() as the
function and thus kept a prototype object of each type in memory.
Replace existing lookup mechanisms for ciphers, AEADs, and compression
to use the transform lookup. The existing Engine framework remains in
place for BlockCipher, but the engines now just call to the registry
instead of having hardcoded lookups.
s/Transformation/Transform/ with typedefs for compatability.
Remove lib/selftest code (for runtime selftesting): not the right approach.
|
|
|
|
| |
See github 42 for background
|
|
|
|
|
| |
Update license header line to specify the terms and refer to the file,
neither of which it included before.
|
|
|
|
|
|
|
|
| |
Rename Bzip to Bzip2, and split Zlib and Deflate compressors into two
completely distinct types rather than using a bool flag to the Zlib
constructor.
Ignore null pointers to our free implementation (LZMA does this).
|
| |
|
| |
|
|
to minimize the amount of logic needed in the files specific to each
library.
|