aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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-164-84/+228
| | | | Initial very incomplete pass at error return value sanity.
* Add new module `ffi` which provides a plain C interface, plus a newlloyd2015-02-1628-1087/+2014
| | | | | | | | | | | | 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-0610-66/+11
| | | | | | 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-053-10/+11
| | | | | | 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-0515-511/+414
|
* Add missing filelloyd2015-02-041-0/+42
|
* Remove algo factory, engines, global RNG, global state, etc.lloyd2015-02-04215-3349/+1200
| | | | | | | | | | | | | | | 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-3127-178/+175
|
* 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-2889-1310/+835
| | | | | | | | | | | | | | | | | 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-2715-104/+134
|
* 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
|
* Fix Clang compilelloyd2015-01-231-1/+1
|
* Centralize where string.h/cstring is included to mem_ops.hlloyd2015-01-2318-44/+32
| | | | See github 42 for background
* Amalgamation fixeslloyd2015-01-235-32/+16
|
* Remove memset_s, not implemented on any machine I can test on andlloyd2015-01-232-7/+11
| | | | | | | | problematic for requiring a special define before the first include of string.h. Instead optionally call memset via a volatile function pointer as a faster alternative to byte at a time writes. Github 42, 45
* Update TLS OCB ciphersuites to match draft-zauner-tls-aes-ocb-00lloyd2015-01-214-20/+71
| | | | | and enable them in the default build, though still not enabled in the runtime policy.
* Save to file by defaultlloyd2015-01-211-5/+6
|
* Fixes for Windows paths. Based on Github pull 41 from cdesjardinsgit2015-01-113-4/+4
| | | | with some modifications by randombit.
* Fixlloyd2015-01-111-2/+1
|
* Better to have a RNG state per connection and avoid lock contentionlloyd2015-01-111-18/+5
|
* Proxy tweakslloyd2015-01-111-3/+16
|
* Add SipHashlloyd2015-01-117-6/+225
|
* Remove DES startup selftestslloyd2015-01-111-19/+0
|
* Remove SSLv3 and handling of SSLv2 client hellos.lloyd2015-01-1129-752/+38
|
* Clean up base64 handling. Github pull 40 from webmaster128lloyd2015-01-111-11/+10
|
* Have TLS server take certificate and key from command linelloyd2015-01-114-395/+119
|
* Support any key length for TLS session encryption by hashing with HMAClloyd2015-01-101-4/+16
|
* Create a combined news page for the websitelloyd2015-01-101-0/+1
|
* Convert the asio server from a weird example server to a generic proxy server.lloyd2015-01-102-326/+592
|
* Dead codelloyd2015-01-101-14/+0
|
* Move license text to a plain text file without ReST marketlloyd2015-01-102-5/+5
|