aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add missing headers fixing GCC 4.7 buildlloyd2015-06-172-0/+2
|
* Avoid 0-defining BOTAN_USE_GCC_INLINE_ASMsimon2015-05-314-6/+6
| | | | GH #103
* Add missing includelloyd2015-05-311-0/+1
|
* Include correct header for getenv. GH #99joerg2015-05-241-0/+1
|
* Correct buffering logic in compression filter. GH issue #93 pull #95eric.cornelius2015-05-162-3/+4
| | | | Found and fixed by Eric Cornelius <[email protected]>
* Fix various bugs found by Coverity scanner.lloyd2015-05-1510-20/+27
| | | | | | | Uninitialized variables, missing divide by zero checks, missing virtual destructor, etc. Only thing serious is bug in TLS maximum fragment decoder; missing breaks in switch statement meant receiver would treat any negotiated max frament as 4k limit.
* Remove RC4 (and all support for stream ciphers) from TLSlloyd2015-05-153-50/+5
|
* Return null instead of throwing if compressor obj not availablelloyd2015-05-131-1/+3
|
* Add tests for compression and SRP.lloyd2015-05-132-4/+7
| | | | | | | | 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
* Change `make_compressor` and `make_decompressor` to return alloyd2015-05-102-39/+49
| | | | | compression type instead of the base transform class. Add some final annotations.
* Change zlib to use Z_SYNC_FLUSH instead of Z_FULL_FLUSH for flushing.lloyd2015-05-101-1/+1
| | | | | This lets flush work for decompression also, and more generally provides what an application wants from a mid-stream compression flush.
* Compression filters were not sizing buffer, causing no input tolloyd2015-05-072-11/+16
| | | | be consumed. GH #89
* Use available MinGW APIs (CryptoAPI and Unix-style fds). GH#84joerg2015-04-272-1/+3
|
* Fixlloyd2015-04-121-1/+1
|
* Remove the stray binary character making Python3 unhappy, removelloyd2015-04-121-3/+2
| | | | encoding= flags since they are not needed anymore and broke Python2.
* Fix code that triggers a strange MSVC 'performance warning'git2015-04-084-5/+5
| | | | Github pull 74 from Chris Desjardins
* Key agreement was missing the return check, add it to get_pk_op insteadlloyd2015-03-291-17/+11
|
* Disable OpenSSL RSA by default until the test issues are worked outlloyd2015-03-281-2/+2
| | | | | (OpenSSL's PKCS/OAEP padding code naturally ignores our RNG, so we cannot fix the nonces for encryption).
* Cleanupslloyd2015-03-232-16/+11
|
* Avoid putting very small values in mlock memorylloyd2015-03-231-1/+3
|
* Move the signature padding schemes to the PK operation classes,lloyd2015-03-2313-360/+390
| | | | | | | | | as was previously done with encrypt/decrypt ops. One feature dropped on the floor here is previously PK_Signer by default did verification of signatures before releasing them as an measure against fault attacks. However in addition to being expensive this turned out to be difficult to implement with the new scheme.
* RSA encrypt and decrypt using OpenSSLlloyd2015-03-231-0/+148
|
* Add ALPN (RFC 7301) and remove NPNlloyd2015-03-2018-316/+138
|
* Windows fixlloyd2015-03-202-5/+4
|
* Add timeouts to HMAC_RNG entropy pollinglloyd2015-03-182-58/+57
|
* This check doesn't make sense as the entropy source is sharedlloyd2015-03-181-15/+6
|
* Remove the shared IO buffer from EntropySource_Accumulator.lloyd2015-03-1813-60/+51
| | | | Instead each source that needs a buffer maintains their own.
* Consider AES-NI as implying SSSE3 which lets us merge two of thelloyd2015-03-151-1/+1
| | | | | | amalgamation objects (aes_ni and clmul). The real advantage is for the static link, as GCM will pull in clmul via its reference, which is sufficient to also pull the AES impl into the link.
* In PK encrypt/decrypt move pad calls to the operation. This allows anlloyd2015-03-1413-154/+284
| | | | | | | | | op to use a padding scheme outside of our knowledge or control, for instance an OpenSSL RSA op which uses OpenSSL's padding code. Similar change for key agreement and KDFs for the same reason. Add an EME_Raw type; previously this operation was implicit in the code in pubkey.cpp
* Specify class name for static functionlloyd2015-03-131-1/+1
|
* Fix clmul which was broken by amalgamation ISA split.lloyd2015-03-122-2/+2
| | | | | Change GCM update granularity to BS (16) which is sufficient for GCM and more convenient to callers
* Externalize the state of a RFC 6979 nonce computation.lloyd2015-03-124-28/+63
| | | | | | | | | | | | This lets you amortize quite a few memory allocations (RNG, various BigInts, etc) over many nonce generations. Change generate_rfc6979_nonce to just instantiate one of these states, call the function once, and return. This doesn't have any additional overhead versus the previous implementation of this function. Fix HMAC_DRBG to correctly reset its state to its starting position when you call clear() on it.
* Avoid a ECC point multiplication in ECDSA signature verification bylloyd2015-03-121-14/+20
| | | | | | | distributing w into the exponents. This is at least a 50% speedup across all keysizes on my laptop. Optimization pointed out by Dr. Falko Strenzke on the mailing list.
* Add BigInt::encode_1363 writing to specified bufferlloyd2015-03-112-3/+10
|
* Add BOTAN_DLL back to LibraryInitializer and move some of the implementation tolloyd2015-03-116-10/+36
| | | | | | | a source file. Without BOTAN_DLL the LibraryInitializer was removed entirely from the list of symbols which is not desired. Add some casts to avoid scary sounding but (upon review) harmless warnings from MSVC
* LibraryInitializer being dllexport but completely inline seems tolloyd2015-03-101-1/+1
| | | | confuse VC2013.
* Comile fixes for VC 2013. Based on github pull 56neusdan2015-03-104-51/+22
|
* Fix Python cipher update_granularity() and default_nonce_length()lloyd2015-03-092-0/+6
| | | | which were completely broken. Pointed out by Uri B on mailing list.
* Cleanupslloyd2015-03-081-2/+2
|
* Add BOTAN_NOEXCEPT macro to work around missing noexcept in VS 2013.rcdailey2015-03-082-6/+6
| | | | Based on github pull req 23 by Robert Daily.
* 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
|