aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/utils
Commit message (Collapse)AuthorAgeFilesLines
* Simplify code for SIMD_4x32::rhoJack Lloyd2018-08-261-49/+4
|
* Move AVX2 wrapper to utilsJack Lloyd2018-08-242-0/+214
|
* Simplify exception messagesJack Lloyd2018-08-222-5/+22
| | | | Remove "Invalid argument" and "Decoding Error" prefixes
* Add BOTAN_STATE_CHECK macroJack Lloyd2018-08-172-2/+21
|
* Remove support for 8 or 16 bit BigInt wordsJack Lloyd2018-08-151-6/+2
| | | | | | | | | | It turned out 8 bit was very broken (failed to compile, due to overload problems with functions taking uint8_t vs word). 16 bit words work aside from a test failure, but is really slow. Practically speaking we are not in a position to support 16-bit CPUs very well. And being able to assume sizeof(word) >= sizeof(uint32_t) allows simplifying some code.
* Combine SM2 key types for signatures and encryptionJack Lloyd2018-08-011-1/+1
| | | | | | It seems in practice the same key may be end up used for both operations, so maintaining a distinction at the type level just complicates things.
* Fix ARMv7 buildJack Lloyd2018-07-091-0/+3
| | | | These hwcaps dont exist in 32-bit mode
* Add support for ARMv8 SM4 instructionsJack Lloyd2018-07-093-5/+70
| | | | Tested in qemu
* Correct Doxygen errorsJack Lloyd2018-07-021-1/+1
|
* Fix handling of SHA instructions in testsJack Lloyd2018-06-291-0/+2
|
* Fix error in 1024-bit polynomial doubleJack Lloyd2018-06-251-2/+2
| | | | | No big problem since we don't even support 1024-bit ciphers atm (though I suppose someone might have used Lion for this)
* Use ASCII specific function calls for Windows API callsJack Lloyd2018-06-251-3/+3
| | | | Fixes #1615
* Use masked table lookup in ECC base point multiplicationJack Lloyd2018-06-191-0/+12
|
* Make Karatsuba multiply completely const timeJack Lloyd2018-06-141-5/+7
|
* Constify some local variablesJack Lloyd2018-06-081-2/+2
|
* Move codec_base.h to internal header in utilsJack Lloyd2018-05-312-0/+166
|
* Add BMI2-specific SHA-256Jack Lloyd2018-05-273-2/+25
| | | | | Currently just a copy of the baseline compression function, but compiled with BMI2 flags. On Skylake improves performance by about 40%.
* Remove debug printfJack Lloyd2018-05-221-1/+1
|
* Merge GH #1568 Use BOTAN_ARG_CHECK moreJack Lloyd2018-05-145-6/+27
|\
| * Add message to BOTAN_ARG_CHECK and use it more widelyJack Lloyd2018-05-135-6/+27
| |
* | Apple Clang requires min/max be constexprJack Lloyd2018-05-131-1/+10
| | | | | | | | Add BOTAN_CONSTEXPR since we are still stuck with VC2013 for a while.
* | Fixes for compilation in C++17 mode by MSVCJack Lloyd2018-05-131-3/+7
|/ | | | Fixes GH #1566
* Use GCC builtins for clz operationJack Lloyd2018-04-151-1/+26
|
* Fix bugs in wildcard matchingJack Lloyd2018-03-311-77/+107
| | | | | | | We would incorrectly accept invalid matches for example b*.example.net could match foobar.example.net Introduced in 289cc25709b08
* Avoid another problem with AltiVecJack Lloyd2018-03-281-15/+6
| | | | This caused test failures on ppc64 (big-endian) with GCC 7.2
* Add back posix_mlock flagJack Lloyd2018-03-261-0/+6
| | | | | We need a distinct flag for this because Haiku is mostly POSIX but does not support mlock.
* Avoid code that triggers problems under GCC 8Jack Lloyd2018-03-181-1/+1
| | | | GH #1498
* Fix CPUID::has_cpuid_bitJack Lloyd2018-03-171-1/+3
| | | | | | It would return true if any bits were set instead of if all the bits were set. It is only currently called with a single bit but that might change in the future.
* Avoid creating stringstream unless needed in version checkJack Lloyd2018-03-171-3/+3
|
* Avoid unused arg warning in PowerPC CPUID codeJack Lloyd2018-03-171-0/+2
|
* Avoid a problematic construct for AltiVec byteswapJack Lloyd2018-03-161-3/+8
| | | | Seems to cause problems with GCC 8 on ppc64le. GH #1498
* Use RtlGenRandom instead of CryptoAPIJack Lloyd2018-03-141-1/+1
|
* Add a facility for debug-mode assertionsJack Lloyd2018-03-141-6/+17
| | | | | When we want to check something but it is to expensive to do so in normal builds.
* Split out the memory pool logicJack Lloyd2018-03-096-161/+282
| | | | | | Making a clear seperation between the OS specific code to get the pool, the singleton mlock allocator, and the general allocator logic.
* Add OS::system_page_sizeJack Lloyd2018-03-092-4/+25
|
* Small fiddly optimizations in locking_allocatorJack Lloyd2018-03-081-5/+6
|
* Support 1024-bit inputs in poly_double functionJack Lloyd2018-03-062-14/+36
| | | | GH #1477
* Correctly read the POWER cycle counterJack Lloyd2018-03-061-8/+11
| | | | | | | The upper register can overflow so we need to re-read the upper register to ensure we we not on a boundary. GH #1460
* Ensure exception types are exported from DLLJack Lloyd2018-03-061-1/+1
| | | | GH #983
* Use BOTAN_DEFAULT_BUFFER_SIZE instead of DEFAULT_BUFFERSIZEJack Lloyd2018-03-011-5/+0
|
* Move declaration of word to types.hJack Lloyd2018-03-011-0/+12
|
* Fix handling of misaligned loads in AltiVec SIMD wrapperJack Lloyd2018-02-231-22/+12
| | | | Handling little+big endian is a PITA, easier to bounce though a union here
* Do runtime endian check when CPUID is initializedJack Lloyd2018-02-231-0/+1
| | | | | Otherwise cross-endian builds (ie building big-endian for little-endian) can have massive test breakage but with no hints.
* Use GetProcessWorkingSetSize instead of GetProcessWorkingSetSizeExJack Lloyd2018-02-231-2/+1
| | | | | The Ex variant is not available in older Wine (including the version in Trusty) and GetProcessWorkingSetSize is sufficient.
* Move allocator initializer RAII class to mem_ops.hJack Lloyd2018-02-191-0/+6
| | | | May be needed elsewhere
* Of course they are public member variables, not functions ...Jack Lloyd2018-02-131-1/+1
|
* Add BOTAN_DEPRECATED_PUBLIC_MEMBER_FUNCTIONSJack Lloyd2018-02-131-0/+1
| | | | | | Makes such things easier to find in the future. Also adds BOTAN_NO_DEPRECATED which causes them to be private instead.
* Enable VirtualLock on MinGW buildsJack Lloyd2018-02-131-2/+2
| | | | | For some reason one of the blocks was guarded to be MSVC only, but it works fine on MinGW also.
* Alternate method of forcing allocator initializationJack Lloyd2018-02-042-0/+12
| | | | That doesn't require a malloc/free every time we call ec_group_data()
* Add function to query if filesystem support is enabled.Jack Lloyd2018-01-302-0/+17
| | | | Makes for much simpler code.