aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Avoid test failures in KEM when KDF is not found.Jack Lloyd2016-01-172-19/+44
| | | | GH #369
* Make Entropy_Sources and Entropy_Accumulator final.Jack Lloyd2016-01-171-4/+2
| | | | Remove bogus virtual destructor on Entropy_Accumulator (has no virtuals)
* Support small buffers in speed tests. Add RNG speed tests.Jack Lloyd2016-01-171-90/+136
|
* Avoid set<Ciphersuite>Jack Lloyd2016-01-171-6/+7
| | | | Works around a libstdc++ bug when fuzzing with libFuzzer
* Merge GH #365 Replace deprecated Windows API calls in Win32_EntropySourceJack Lloyd2016-01-131-3/+3
|\ | | | | | | | | | | By adopting MemoryStatusEx, this drops support for XP and Server 2003 which do not implement this API. This is considered a feature as these versions are already EOLed by Microsoft.
| * Replace deprecated Win API calls in Win32_EntropySourceDaniel Neus2015-12-161-3/+3
| | | | | | | | | | * GetTickCount is replaced by GetTickCount64(): see https://msdn.microsoft.com/en-us/library/windows/desktop/ms724408(v=vs.85).aspx for details * GlobalMemoryStatus is replaced by GlobalMemoryStatusEx: see https://msdn.microsoft.com/en-us/library/windows/desktop/aa366589(v=vs.85).aspx for details
* | Merge GH #409 Add Microsoft SmartcardLogon extended key usage OIDJack Lloyd2016-01-121-0/+2
|\ \
| * | Add Microsoft SmartcardLogon extended key usage OIDRené Korthaus2016-01-121-0/+2
| | |
* | | Merge GH #408 Add final attribute on many classesJack Lloyd2016-01-12133-244/+246
|\ \ \
| * | | Add final attribute to many classesJack Lloyd2016-01-10133-244/+246
| |/ / | | | | | | | | | | | | | | | | | | In some cases this can offer better optimization, via devirtualization. And it lets the user know the class is not intended for derivation. Some discussion in GH #402
* | | Merge GH #407 Add m_ prefix to more member variablesJack Lloyd2016-01-124-109/+109
|\ \ \
| * | | Prefix more member vars with m_ prefixRené Korthaus2016-01-114-109/+109
| |/ /
* / / Get rid of "extra ';'" warnings and force semicolon after macrosSimon Warta2016-01-114-6/+9
|/ /
* | Merge remote-tracking branch 'remotes/github/master' into noreturnDaniel Neus2016-01-09216-2991/+3022
|\ \ | | | | | | | | | | | | # Conflicts: # src/build-data/cc/gcc.txt
| * | Mass-prefix member vars with m_René Korthaus2016-01-08206-2980/+3011
| | |
| * | move -Wsuggest-override to maintainer_warning_flagsDaniel Neus2016-01-081-2/+2
| | | | | | | | | | | | to not break compatibility with older gcc versions (available in gcc 5.1)
| * | add missing overridesDaniel Neus2016-01-0810-10/+10
| | | | | | | | | | | | found by gcc with -Wsuggest-override
* | | move noreturn before the function declarationDaniel Neus2016-01-081-2/+2
| | |
* | | fix BOTAN_NORETURN macroDaniel Neus2016-01-081-1/+1
| | |
* | | don't declare functions noreturn that are maybe implemented in the futureDaniel Neus2016-01-084-5/+5
| | | | | | | | | | | | In addition don't declare virtual functions noreturn
* | | add BOTAN_NORETURN macro and mark those functions that do not return with itDaniel Neus2016-01-087-7/+23
|/ /
* | Precompile the list of TLS ciphersuitesJack Lloyd2016-01-064-297/+479
| | | | | | | | | | | | | | | | | | | | This avoids a scan over the entire 0 - 0xFFFF space which is mostly empty, by instead keeping a second list in tls_suite_info which is exactly the keys for which the switch statement has values. This scan is only ever done once (when first needed) but removing it is sufficient to increase AFL's throuhput by 4x since it goes through a full startup on each test.
* | String comparision fixesDaniel Neus2016-01-0429-51/+51
| | | | | | | | fix PVS-Studio perfomance warnings
* | Fixes for compress cli utilJack Lloyd2016-01-041-5/+4
| | | | | | | | Missing . in compression extension, wrong name for buf-size option
* | Add ECDH via OpenSSLJack Lloyd2016-01-047-73/+189
| | | | | | | | | | | | | | | | | | | | Expose provider param in PK_Key_Agreement API Handle multiple providers in key agreement tests Fix some funky formatting of P-521 EC points in ecdh.vec which was being rejected by OpenSSL; for whatever reason the CAVS file had the affine coords with far more leading zeros than necessary.
* | Valgrind is not supposed to be enabled in the default buildJack Lloyd2016-01-031-1/+1
| |
* | Use valgrind's memcheck API for checking const time annotationsJack Lloyd2016-01-033-18/+62
| | | | | | | | | | | | | | Has the same effect as using ctgrind, but without requiring a custom-compiled valgrind binary. Add ct checking annotations to the SSSE3 AES code.
* | Add some more secp256k1 point mult testsJack Lloyd2016-01-031-0/+184
| |
* | Add extended master secret extension (RFC 7627) to TLSJack Lloyd2016-01-0310-12/+118
| | | | | | | | Interop tested with mbed TLS
* | Add ECDH testsJack Lloyd2016-01-035-7/+592
| | | | | | | | Only has vectors for NIST curves (data taken from NIST CAVS file)
* | Fix PointGFp multiplication bugJack Lloyd2016-01-033-26/+1057
| | | | | | | | | | | | There was a special case for small scalars which managed to forget that the integer 3 also fits into two bits. Found by adding a new set of ECC point mul tests for the NIST curves.
* | Prettify mp_comba a bitJack Lloyd2016-01-012-48/+49
| | | | | | | | | | | | Aligning the calls makes it easier to read the index travel Add a date to the generated output file
* | Add cast to a suspcious looking (but actually ok in this case) shift in MARSJack Lloyd2016-01-011-1/+1
| | | | | | | | j is never more than 30 in this loop
* | Remove RNG::gen_mask, which had undefined behavior when bits >= 32Jack Lloyd2016-01-011-12/+0
| | | | | | | | | | | | | | | | | | | | Bug found by Daniel Neus The function wasn't being used anywhere in the library (and was only added in 1.11.20) so it seems easier to remove than fix. And removing it serves to put any user on notice that something bad happened; Daniel tested this as returning just 0 when bits >= 32 with his system's compiler.
* | Drop seed_tabJack Lloyd2016-01-011-192/+0
| | | | | | | | | | (Two part commit with 64caa9a to work around git's insane implied rename system)
* | Inline SEED's sbox tablesJack Lloyd2016-01-012-33/+203
| | | | | | | | Simpler, and a bit faster also it seems (but not fast)
* | Merge pull request #381 from cordney/fix-load-unencryped-key-from-berJack Lloyd2015-12-313-34/+99
|\ \ | | | | | | Fix loading of unencrypted, BER encoded private keys via PKCS8 api
| * | Fix loading of unencrypted, BER encoded private keys via PKCS8 apiRené Korthaus2015-12-253-34/+99
| | |
* | | Use memcpy instead of misaligned pointer casts for reading words.Jack Lloyd2015-12-313-82/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It works on x86, but C says it is undefined and it makes UBSan unhappy. Happily, this memcpy approach probably also works fine under processors which previously used the byte-at-a-time approach such as ARM. But for right now using memcpy here is still gated under the processor alignment flags. In my tests recent GCC and Clang seemed to produce basically identical code for either approach when using -O3; I imagine most compilers these days are very good at analyzing/inlining/unrolling memcpys. Also remove the manually unrolled versions of xor_buf, which caused problems with GCC and -O3 due to it vectorizing the loads into (aligned) SSE2 loads, which would fail when a misaligned pointer was passed. Which always seemed kind of bogus to me, but I guess that's what undefined behavior is for. Enable -O3 for GCC. With this change the test suite is clean under GCC ASan+UBSan and Clang ASan+UBSan, with the exception of one failure due to a bug in libstdc++ (GCC bug 60734) when compiled by Clang.
* | | Remove debug printfJack Lloyd2015-12-311-1/+0
| | |
* | | Add missing assignment in DataSource::discard_nextJack Lloyd2015-12-311-0/+1
| | | | | | | | | | | | Reported on the mailing list by Falko
* | | Avoid having Command* objects be created until requested.Jack Lloyd2015-12-3014-61/+94
| | | | | | | | | | | | Avoids various static init and destruction hassles.
* | | Add Command::rng()Jack Lloyd2015-12-279-58/+42
| | | | | | | | | | | | | | | | | | | | | for when a command wants an RNG but doesn't much care what kind. This adds a place where a future --rng-type= option can be consulted to eg use the system RNG or a user seeded DRBG.
* | | Move McEliece KEM operation into the same file as the key type.Jack Lloyd2015-12-262-74/+65
| | | | | | | | | | | | | | | | | | | | | Otherwise we run into the old problem in the static non-amalgamation build of the operation not being loaded even though the key itself was referenced; since now the operation is loaded as a by-product of referencing the key type (as with other impls) everything works out.
* | | Missing addJack Lloyd2015-12-261-1/+0
| | |
* | | Correct copyright info in unit_ecc.cpp fileJack Lloyd2015-12-261-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | At some point during the test changeover the (C) info got lost from this file. Also try randomizing the point repr in the copy test, just to spice things up a bit.
* | | Add -Wnon-virtual-dtor to GCC buildJack Lloyd2015-12-261-1/+1
| | | | | | | | | | | | GH #382
* | | Remove debug printsJack Lloyd2015-12-261-4/+0
| | |
* | | Merge pull request #378 from neusdan/warning_fixesJack Lloyd2015-12-2618-33/+24
|\ \ \ | | | | | | | | Some trivial compiler and PVS-Studio warning fixes
| * | | initialize private members in rc4 headerDaniel Neus2015-12-232-5/+4
| | | |