aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
* Shuffle things around. Add NIST X.509 test to build.lloyd2014-01-0147-4596/+0
|
* Include <cstdint> in types.h and include uintX_t in namespace, use for our ↵lloyd2014-01-011-23/+12
| | | | typedefs
* On x86-64, prefer calling cpuid directly vs using cpuid.hlloyd2013-12-311-11/+11
|
* Add CPUID::printlloyd2013-12-312-0/+29
|
* Make Boost easier to disable with minimal feature losslloyd2013-12-284-29/+106
|
* Clean up GCM. Add CLMUL support.lloyd2013-12-271-4/+4
|
* Remove global_rng calls for setting up blinding, instead require a RNGlloyd2013-12-251-3/+3
| | | | | | be passed to the engine. Currently pubkey.cpp just passes along the global_rng but eventually we'll break this API and require a RNG to the constructor.
* Add CPUID check for AVX-512lloyd2013-12-252-2/+9
|
* Fix gcc cpuid calllloyd2013-12-211-13/+9
|
* Fixes for alamgamation buildlloyd2013-12-201-3/+3
|
* Blind fix attempt for Visual C++ 2013 (github issue #5)lloyd2013-12-201-1/+1
|
* Add cpuid support for new x86 feature flags like AVX2 and RDSEEDlloyd2013-12-142-86/+113
|
* Make it possible to remove Boost dependency by disabling a few moduleslloyd2013-12-141-0/+4
| | | | (though including X.509 and TLS).
* Make SIMD_Scalar a templatelloyd2013-12-101-0/+5
|
* Add simple config readerlloyd2013-12-103-11/+131
|
* Remove timeout from HTTPlloyd2013-11-292-23/+16
|
* Fix URL parsinglloyd2013-11-281-7/+15
|
* Support HTTP POST (many OCSP responders don't like GET-based requests)lloyd2013-11-286-132/+243
|
* Give everything setting a feature test macro in build.h a version codelloyd2013-11-283-3/+3
| | | | | | so application code can check for the specific API it expects without having to keep track of what versions APIs x,y,z changed. Arbitrarily set all current API versions to 20131128.
* Add a simple HTTP 1.0 GET using asio (for CRLs and OCSP)lloyd2013-11-273-0/+132
|
* Enable all the GCC warning flags, as we now require at least GCC 4.7 anywaylloyd2013-11-161-1/+1
| | | | Fix a few nullptr and cast warnings.
* Assertion failure is not always an internal errorlloyd2013-09-051-1/+1
|
* Move CBC to Transformation APIlloyd2013-08-151-12/+0
|
* No need for librt in util anymore (was for clock_gettime)lloyd2013-08-131-4/+0
|
* Avoid undefined operation in rotation operationslloyd2013-07-311-0/+4
|
* Merge mp_word64 into mp_genericlloyd2013-07-302-3/+1
| | | | | | Now 64-bit limbs can be used regardless of processor, though we continue to use 32-bit unless we know the processor natively supports 64-bit operations.
* Add a generic 64x64->128 multiplication op.lloyd2013-07-302-0/+124
| | | | | | | Use it to merge mp_msvc64 (was using MSVC _umul128 intrinsic) and mp_asm64 (was using inline asm) into mp_word64, which calls the new mul64x64_128 function. That function wraps any available compiler intrinsics or CPU instructions.
* Change same_mem to use XORs instead of equality operators.lloyd2013-06-131-3/+3
| | | | | | Potentially less prone to optimizer trickery wrt early exits, especially as it encourages a SIMD approach which modern compilers tend to prefer if they think they can get away with it.
* Always include modules requiring ISA extensions as long as thelloyd2013-04-171-7/+0
| | | | | | | | | | | compiler and target platform might support it. For instance the AES SSSE3 code is now always in any x86 build, with just that specific file being compiled with -mssse3. Since we'll only call that code if cpuid confirms it works at runtime, we don't have portability issues, and it can be safely included in generic builds (eg for distributions). Tweak how machine specific compiler flags are generated to be a bit easier to maintain.
* Kill workaround for GCC 3.xlloyd2013-04-121-4/+0
|
* Add erase_chars and replace_charslloyd2013-04-102-7/+47
|
* Avoid silly warning under GCClloyd2013-03-271-1/+1
|
* Move std::vector operator^= to xor_buflloyd2013-03-151-0/+12
| | | | Some prep work for parallel encrypt
* Move assert.h from internal to very public (included in types.h)lloyd2013-03-135-8/+9
| | | | | | This reduces friction to writing an assert, so hopefully there will be more of them as a result. And we can use asserts in public headers now, very useful for templates.
* src/utils/semaphore.h was marked both public and internal, which brokelloyd2013-03-091-1/+0
| | | | | the amalgamation build. Add a check that warns if we do this again, and some more logging in the amalgamation generator.
* Set the release type (unreleased, released, snapshot) inlloyd2013-03-041-8/+11
| | | | | botan_version.py via the release script, and propagate it to version.cpp via build.h
* Add BOTAN_ASSERT_IMPLICATION macrolloyd2013-03-011-0/+13
|
* Add Threaded_Fork, which acts like a normal Fork filter except thatlloyd2013-02-023-1/+77
| | | | | | | | | | each subchain of filters will run in its own thread. Written and contributed by Joel Low. A thread on botan-devel contains the original patch and some discussion: http://lists.randombit.net/pipermail/botan-devel/2013-January/001699.html
* Move memory zeroing to a compiled function in a new source file. Castlloyd2012-11-123-11/+38
| | | | | | | | the pointer to volatile before writing to it. At least for various versions of GCC, Clang, and ICC on x86-64, this does cause the compiler to emit a simple byte-at-a-time loop, and at least in non-LTO builds the compiler won't optimize the call away. For dealing with LTO, probably would have to do some kind of complicated side-effect.
* Move to_u32bit to source file. Add map_remove_if helperlloyd2012-11-023-2/+19
|
* Add parens to BOTAN_ASSERT_EQUALS, otherwise low precedence ops couldlloyd2012-10-131-3/+3
| | | | cause problems.
* Build the return value of version_string at compile time instead of atlloyd2012-09-141-16/+17
| | | | runtime so it's easy to find in a binary with strings.
* This should be inlinelloyd2012-09-071-1/+1
|
* Add support for key material exportlloyd2012-09-071-0/+7
|
* Remove BigInt(NumberType type, size_t n) and replace it with a staticlloyd2012-08-011-1/+1
| | | | BigInt function power_of_2. (Power2 was the only available NumberType)
* Doxygen warning fixeslloyd2012-07-091-1/+2
|
* The messages for assertion checks were done both ways, both "assertionlloyd2012-07-091-3/+5
| | | | | | X is true" and "assertion X is false". Convert all of them to the form "assertion X is true" thus making it clear what it is that we are attempting to assert by testing the expression provided.
* Remove BOTAN_ASSERT_FUNCTION, use __func__ which is now standard in C++11lloyd2012-07-092-41/+35
|
* Add TLS::Session_Manager_Noop which just ignores all save requests.lloyd2012-06-293-3/+3
| | | | | | | Rename the sqlite module to sqlite3 as sometimes plain 'sqlite' is used to refer to sqlite2. Reduce the password check bits to 16 which is plenty.
* Add support (decoding only) for the CRL Distribution Point extension.lloyd2012-06-132-2/+19
|