aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use explicit on more single-argument constructorsJack Lloyd2017-09-3014-20/+23
|
* Avoid bogus declarations in GMACJack Lloyd2017-09-301-25/+3
| | | | | These functions are declared/defined on MessageAuthenticationCode, and call the start_msg virtual.
* Address some MSVC warningsJack Lloyd2017-09-307-134/+139
|
* Use class instead of struct for objects with member functionsJack Lloyd2017-09-3013-156/+183
| | | | Flagged by Sonar and quite reasonable
* Add annotation so GCC/Clang/MSVC know it is an allocation function.Jack Lloyd2017-09-302-1/+12
|
* Merge GH #1231 Hide secure_allocator allocate in a functionJack Lloyd2017-09-305-22/+55
|\
| * Missing include, noticed by OS XJack Lloyd2017-09-291-0/+1
| |
| * In secure_allocator, hide mlock/new usage in a function in mem_opsJack Lloyd2017-09-295-22/+54
| | | | | | | | | | | | | | Switch to calloc/free instead of new/delete - shouldn't matter since we are only allocate integral types. This change reduces the size of libbotan-2.so by ~300 Kb on my system.
* | Thinko fixJack Lloyd2017-09-301-1/+1
| |
* | Compat typedef PBKDF -> S2KJack Lloyd2017-09-291-1/+12
|/ | | | [ci skip]
* Avoid throwing in pool allocator deallocation pathJack Lloyd2017-09-291-8/+1
| | | | | | std::terminate can ruin your day Coverity find
* Merge GH #1229 Simplify allocator and avoid MSVC perf issueJack Lloyd2017-09-291-37/+5
|\
| * Add back size_type typedefJack Lloyd2017-09-291-0/+1
| | | | | | | | | | | | | | Lacking this seems to cause interesting issues with Apple Clang on 32-bit ARM. It seems like it implicitly defines a size_type that is the same size as size_t, but not actually size_t, so we get an unsigned long vs unsigned int mismatch on the type.
| * Of course MSVC 2013 has to be specialJack Lloyd2017-09-291-0/+7
| |
| * Simplifiy secure_allocatorJack Lloyd2017-09-291-44/+4
| | | | | | | | | | | | | | | | | | According to https://howardhinnant.github.io/allocator_boilerplate.html we don't need most of what was in there in C++11 and later. I think I originally wrote that code referencing a C++03 doc. Specifically avoiding construct, destruct prevents a performance issue in MSVC (GH #1228)
* | In TLS CBC padding check, only need to verify last 256 bytesJack Lloyd2017-09-291-8/+16
|/ | | | | No reason to scan the entire record since it's assured at most 256 bytes of padding are used. Inspired by GH #1227
* Add a test of TLS CBC padding verificationJack Lloyd2017-09-292-9/+12
| | | | See also GH #1227
* Include pk_keys.h in pkcs8.h and x509_key.hJack Lloyd2017-09-292-2/+2
| | | | Not strictly required but seems likely to cause problems for applications.
* Require HMAC for HKDFJack Lloyd2017-09-281-0/+4
| | | | Not actually strictly required but in practice doesn't make much sense.
* Fixes for MSVCJack Lloyd2017-09-282-2/+2
| | | | BOTAN_UNUSED "uses" the RNG :/
* Further header cleanupsJack Lloyd2017-09-2817-9/+29
|
* Add variants of PKCS8::load_key that don't require an RNG argumentJack Lloyd2017-09-282-32/+112
| | | | | It's not used and only there for compat with existing callers, but no reason we can't offer a version that doesn't require it.
* Doxygen commentJack Lloyd2017-09-281-0/+6
| | | | [ci skip]
* Header cleanupsJack Lloyd2017-09-285-5/+3
|
* Merge GH #1224 Address side channel in Montgomery exponentiationJack Lloyd2017-09-286-36/+98
|\
| * Add valgrind annotations to check const_time_lookupJack Lloyd2017-09-261-0/+5
| |
| * Use a side channel silent table look up in the Montgomery exponentiationJack Lloyd2017-09-256-36/+93
| |
* | Make poly_dbl.h a submodule of utilsJack Lloyd2017-09-278-1/+20
| | | | | | | | | | Only required by a few modules and if none of them are in use then the whole thing can just be skipped from the build.
* | Add HKDF-Expand-LabelJack Lloyd2017-09-273-2/+62
| | | | | | | | Step 1/n of TLS 1.3
* | Move the SecureVector typedef to secmem.hJack Lloyd2017-09-272-12/+3
| | | | | | | | No point making someone include a deprecated header to get this.
* | You can't have attributes on a template typedef, apparently.Jack Lloyd2017-09-261-1/+0
| | | | | | | | [ci skip]
* | Add some more includes to botan.hJack Lloyd2017-09-261-10/+34
|/ | | | | | This is basically just for Monotone [ci skip]
* Correct Doxygen errorJack Lloyd2017-09-241-1/+0
| | | | [ci skip]
* Avoid debug iterator errorJack Lloyd2017-09-241-6/+12
|
* Missing includeJack Lloyd2017-09-241-0/+1
|
* Test SIV multi-AD functionJack Lloyd2017-09-241-2/+2
|
* Better tests for SIVJack Lloyd2017-09-246-39/+55
| | | | | | | | | | | | Correct errors in the AEAD tests that assumed process/update always return something - that isn't true for SIV Minor optimizations in CMAC and CTR to cache the block size instead of making a zillion virtual calls for it. Generalize SIV slightly to where it could support a non-128 bit cipher, but don't pull the trigger on it since I can't find any implementations to crosscheck with.
* Further build/test fixes for restricted configurationsJack Lloyd2017-09-249-1/+32
|
* More build fixesJack Lloyd2017-09-242-1/+3
|
* More header cleanupsJack Lloyd2017-09-2312-4/+13
|
* Fixes for headers missing in certain configurationsJack Lloyd2017-09-231-0/+1
|
* It's easier to use calloc hereJack Lloyd2017-09-221-8/+2
| | | | | Assumption is calloc checks for overflow (!) so if it returns a pointer that means no overflow occurred.
* Refer to free in std::Jack Lloyd2017-09-221-1/+1
|
* Attempt to make MSVC happyJack Lloyd2017-09-221-0/+12
|
* Avoid creating invalid iterator references when input_len == 0Jack Lloyd2017-09-221-4/+10
|
* Avoid deprecated warning in tls_blocking.cppJack Lloyd2017-09-221-0/+6
| | | | We don't care because the whole file is itself deprecated.
* Deprecate modification of Pipe objectsJack Lloyd2017-09-223-18/+21
| | | | | This is a feature that is hairy to implement and really makes application code confusing.
* Avoid GCC signed-overflow warningJack Lloyd2017-09-221-2/+2
|
* Refactor to avoid explicit delete in BER_DecoderJack Lloyd2017-09-222-26/+12
|
* Avoid new/delete in BearSSL ECDSA codeJack Lloyd2017-09-221-17/+10
| | | | Especially storing private key that way was bad, wasn't zeroed.