aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix memory leak in TLS tests. Remove last few remaining uses of auto_ptr.lloyd2015-03-082-0/+7
|
* Fix macro checks for zero_mem. Github 55lloyd2015-03-061-2/+2
|
* Typolloyd2015-03-061-1/+1
|
* In Algo_Registry if a maker func fails, try the next most preferred onelloyd2015-03-054-35/+60
| | | | | | | | instead of bailing out immediately. Rename the 'builtin' provider to 'base' since really they are all built in. Fix MARK-4 when OpenSSL was enabled - it did not respect the skip param.
* Hide Algorithm_Factory and use the functions in lookup.h internally.lloyd2015-03-0436-202/+207
| | | | | | Fix two memory leaks (in TLS and modes) caused by calling get_foo and then cloning the result before saving it (leaking the original object), a holdover from the conversion between construction techniques in 1.11.14
* Add missing includes, broke clanglloyd2015-03-041-0/+2
|
* When comparing algorithm identifiers consider NULL and emptylloyd2015-03-041-3/+17
| | | | | parameters as equivalent. Based on a patch sent to the mailing list by Uri Blumenthal.
* Add missing includelloyd2015-03-021-0/+1
|
* Avoid requiring a system header herelloyd2015-03-021-1/+1
|
* Fix decrypt in FFI/Python. Github issue 53lloyd2015-03-012-1/+7
|
* Wrong functionlloyd2015-02-281-1/+1
|
* Add specialized reducers for P-192, P-224, P-256 and P-384lloyd2015-02-267-55/+668
|
* FFI header cleanup, small Python additionslloyd2015-02-241-10/+16
|
* Add missing includelloyd2015-02-241-0/+1
|
* Amalgamation fixes; inline the poly1305 header and :: namespace OpenSSL funcslloyd2015-02-224-152/+131
|
* Hide all uses of boost filesystem in fs.cpp. Use readdir as anlloyd2015-02-216-28/+110
| | | | | alternate implementation for Unix and add some feature checks so a boost-free build of the tests and command line are possible again.
* Movelloyd2015-02-193-0/+0
|
* FFI cleanupslloyd2015-02-192-34/+29
|
* Convert HKDF to the normal KDF interfacelloyd2015-02-183-62/+36
|
* Modify interfaces of KDF and PBKDF to write output to an array, withlloyd2015-02-1819-339/+344
| | | | higher level functions on interface handling returning a vector.
* Get algos via lookup in case of SIMD or other optimized versionslloyd2015-02-181-4/+2
|
* Reduce the CTR_BE buffer down to just a few blocks.lloyd2015-02-171-14/+16
| | | | No performance impact afaict.
* Python: docs, key agreement, fix bcrypt trailing null byte.lloyd2015-02-163-61/+150
| | | | Initial very incomplete pass at error return value sanity.
* Add new module `ffi` which provides a plain C interface, plus a newlloyd2015-02-1612-11/+1476
| | | | | | | | | | | | ctypes Python wrapper that uses it. The API is intentionally designed to have a very simple ABI (extern "C", all structs are opaque, no memory ownership passing the FFI boundary, limited set of simple types as args) so the ctypes wrapper is quite simple. Currently ffi provides ciphers, hashes, MACs, RNGs, PBKDF, KDF, bcrypt, and most public key operations. Remove the old boost.python wrapper and all the build code for it.
* Add version_cstr (returns const char*) and move tag_size from AEAD tolloyd2015-02-116-6/+14
| | | | Cipher_Mode. Add missing includes in entropy sources, noticed by clang.
* Correct includeslloyd2015-02-112-2/+2
|
* Mark modules pulling in external deps (zlib, boost, etc) as such, andlloyd2015-02-066-6/+8
| | | | | | notify the user when they are enabled. Drop botan-config, replaced by `botan config` command added in 1.11.8
* Remove static castslloyd2015-02-066-34/+28
|
* Move Cipher_Mode enum out of types.h, move stream cipher mode to new headerlloyd2015-02-058-55/+72
|
* Clean up root dir, remove some unneeded dependencieslloyd2015-02-0571-106/+6
|
* Fix build problem with recent LZMA library.lloyd2015-02-052-6/+7
| | | | | | Fix retreival of LZMA and bzip2 compressors from make_compressor. Allow setting compression level from command line.
* Add missing filelloyd2015-02-051-0/+5
|
* Enable OpenSSL for providing ciphers and hashes again.lloyd2015-02-0514-501/+401
|
* Add missing filelloyd2015-02-041-0/+42
|
* Remove algo factory, engines, global RNG, global state, etc.lloyd2015-02-04194-3242/+1142
| | | | | | | | | | | | | | | 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).
* Convert PK operations to using Algo_Registry instead of Engine.lloyd2015-02-0351-1248/+879
| | | | Remove global PRNG.
* Add missing files. Remove cipher lookup from engine code.lloyd2015-02-0121-172/+284
|
* Use registry also for KDF, EMSA, and EMElloyd2015-01-3126-174/+173
|
* Use registry for streams and MACs. Start updating callers.lloyd2015-01-3138-253/+193
|
* Use Algo_Registry also for hashes.lloyd2015-01-2836-338/+183
|
* Add a runtime map of string->func() which when called returnlloyd2015-01-2885-1293/+810
| | | | | | | | | | | | | | | | | 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.
* Add typedefs for function signatures/types used in TLS for easier readinglloyd2015-01-2714-92/+118
|
* Reference memset via std namespacelloyd2015-01-271-1/+1
|
* Don't define overloads if there is no native uint128_t. Github 47lloyd2015-01-271-0/+2
|
* Reference the EC point add and double algorithms usedlloyd2015-01-241-0/+8
|
* Handle repeated initializations of the library better and deal withlloyd2015-01-245-77/+60
| | | | initializations across multiple threads safely.
* Allow reducing the size of the allocated mlock pool via env variablelloyd2015-01-241-9/+27
| | | | | | (BOTAN_MLOCK_POOL_SIZE, specified in decimal KB). Currently we read this even when setuid as the worst a user could do is disable mlock, which they can already do via ulimits.
* Add Strict_Policy. Disable server initiated renegotiation by default.lloyd2015-01-232-13/+43
|
* Add support for configuring a TLS::Policy by text filelloyd2015-01-235-109/+202
|
* Avoid needless buffering when handling padding byteslloyd2015-01-231-4/+4
|