aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge GH #691/#488 Add GMAC. Add MessageAuthenticationCode::start_msgJack Lloyd2016-10-289-9/+389
|\
| * Add MAC::start_msg, update GMACJack Lloyd2016-10-284-47/+59
| | | | | | | | | | | | | | | | GMAC needs a per-message nonce specified with `start`, and other MACs are capable of using nonces (Skein-MAC, for instance) so move this API up to MAC class. Change GMAC::clone to clone the owned cipher.
| * Implements GMAC with GHASH.Matthias Gierlings2016-10-287-98/+192
| | | | | | | | | | Adds support for Galois Message Authentication Code calculation based on GHASH, rather than GCM_Mode.
| * Added implementation for GMACMatthias Gierlings2016-10-279-58/+332
| | | | | | | | | | | | - Added GMAC class - Integrated GMAC into MAC-Class test bench. Run GMAC tests using ./botan-test mac
* | Add TLS callbacks for debug and error logging.Jack Lloyd2016-10-281-2/+28
| | | | | | | | | | Not currently called but leaves us the opening to use them in the future without breaking ABI.
* | HMAC_DRBG - Fix constructor init order. Use create_or_throw to simplify.Jack Lloyd2016-10-281-6/+3
| |
* | Update modern policy: Add NewHope, SQL, ChaCha20 SSE2. Prohibit TLS-CBCJack Lloyd2016-10-281-1/+8
| |
* | Remove bogus filter dependency in TSSJack Lloyd2016-10-282-2/+0
| | | | | | | | [ci skip]
* | Merge GH #687 Avoid unused return value warning under GCCJack Lloyd2016-10-281-2/+3
|\ \
| * | Fixes randombit/botan#677Matthias Gierlings2016-10-271-2/+3
| |/
* | make max_number_of_bytes_per_request configurableDaniel Neus2016-10-283-28/+139
| |
* | Small pushes on test coverageJack Lloyd2016-10-272-1/+16
| | | | | | | | | | No real way to test what/if `clear` does, but at least we know it runs and doesn't crash which is an improvement over the status quo.
* | Correct name for Comb4PJack Lloyd2016-10-271-1/+1
| |
* | Merge GH #689 Add tests for Pipe/Filter systemJack Lloyd2016-10-272-16/+172
|\ \
| * | Add more tests for Pipe/FilterJack Lloyd2016-10-272-16/+172
| |/ | | | | | | | | | | | | | | | | | | | | | | | | In this round of write some tests and find a bug, Threaded_Fork seems to be completely broken. I don't think the semaphore approach it uses really works (consistently) because a single worker thread can acquire the semaphore more than once. This can be seen in the (disabled) test of Threaded_Fork. Not sure what to do about Threaded_Fork - it has been broken since introduction and nobody has mentioned any problems so likely nobody has ever used it. May actually be better to remove it entirely rather than to fix it.
* | More tests for session managers.Jack Lloyd2016-10-271-1/+13
| | | | | | | | | | | | Using sqlite3 for one and memory for another meant only half of each implementation was tested. Instead use sqlite3 for a while, then switch to in-memory, to ensure both are covered.
* | Test MtE then EtM CBC modesJack Lloyd2016-10-271-1/+1
| | | | | | | | | | | | | | | | Otherwise we may end up trying to renegotiate EtM to MtE which is an error. Only occured sporadically due to low timeout set on session cache; only if we retried really quickly did it fail. Feels kind of hacky, but disabling EtM is a corner case anyway.
* | Fix TLS resumption bugsJack Lloyd2016-10-273-112/+182
|/ | | | | | | | | | | | | | | | | | | | | The client would attempt to resume a session, even if the session was for a version other than what it wanted to offer. If the server resumed with the original version, the client would then reject the 'incorrect' version. Instead, if the session is for a version other than what we want to offer, just start a fresh handshake. Fix resuming in the EtM case - even if the policy says otherwise, always resume EtM sessions as EtM. Servers are required to reject a MtE resumption on an EtM session. The new client hello already ordered extensions to prevent an empty extension from ever being last (working around a bug in some dumb stack somewhere), but this was not true for the resume case. Fix that. Beef up tests a bit - test ECDSA suites, alerts, and sqlite3 session db. Sharing the session state across all the tests is what tipped me off on the resumption bugs in the first place - as usual, what is not tested does not work correctly.
* Avoid timing channel in OAEP decoding (CVE-2016-8871)Juraj Somorovsky2016-10-261-7/+12
|
* Avoid unused warning when no compression libs availableJack Lloyd2016-10-251-0/+2
| | | | [ci skip]
* Fix HMAC_DRBG fork testJack Lloyd2016-10-251-8/+14
| | | | | | | The fork test actually closed the pipe early so this test had been busted. Previously missed because the return value of read was not checked. Missed by me in e8908d4fb671 because I changed the test but did not run it before checking in. Hey, it compiled. :(
* Add missing variable to AES test vectorJack Lloyd2016-10-251-0/+1
|
* Static analyzer fixesJack Lloyd2016-10-253-21/+39
| | | | | | | | | Check return value of read, found by Clang. See also #677 Remove unused member variable in OpenSSL ECC, found by Clang. In ECDSA tests, if the pointer is null we should return rather than dereferencing it. Found by Coverity.
* Add long (4+ block) AES KATsJack Lloyd2016-10-251-0/+10
| | | | We were not previously hitting the 4 way unrolled loop in AES-NI in tests
* Merge GH #682 Improve test name consistencyJack Lloyd2016-10-255-5/+5
|\
| * Pubkey tests should express category [ci skip]René Korthaus2016-10-245-5/+5
| |
* | Merge GH #683 Avoid SHA-1 use in ElGamal+ECKCDSA self testsJack Lloyd2016-10-252-2/+2
|\ \
| * | Fix hardcoded SHA-1 in eckcdsa consistency checkRené Korthaus2016-10-241-1/+1
| | |
| * | Fix hardcoded SHA-1 in elgamal consistency checkRené Korthaus2016-10-241-1/+1
| |/
* | Add TPM and PKCS #11 to coverage buildJack Lloyd2016-10-243-11/+29
| | | | | | | | | | | | | | SoftHSMv1 included in 14.04 is too old and many tests fail, so grabs prebuilt SoftHSMv2 binaries from www.randombit.net. This can change to use the packaged SoftHSM in 16.04, whenever Travis makes that available.
* | Remote unused macrosJack Lloyd2016-10-242-5/+1
| |
* | Initialize member variable in PKCS11_EC_PrivateKeyJack Lloyd2016-10-242-2/+2
|/ | | | | One of the constructors initialized the member, the others did not. Found by Coverity scanner.
* Limit locking_allocator only to OSes that even might support it.Jack Lloyd2016-10-241-0/+8
| | | | | | The pool allocator itself is portable code, but it doesn't do anything useful unless we have the ability to mlock/VirtualLock memory, which is OS specific.
* Remove unneeded includesJack Lloyd2016-10-242-2/+0
|
* Fixes for build without 25519Jack Lloyd2016-10-242-3/+6
|
* Merge GH #673 X25519 TLS key exchangeJack Lloyd2016-10-247-42/+112
|\
| * X25519 key exchange for TLSJack Lloyd2016-10-217-42/+112
| | | | | | | | | | Client interops with google.com, server not tested against an independent client yet.
* | Merge GH #675 Lucky13 countermeasuresJack Lloyd2016-10-242-0/+82
|\ \
| * | Final changes, now using the countermeasure from the Lucky 13 paper again ↵Juraj Somorovsky2016-10-231-36/+32
| | | | | | | | | | | | | | | | | | (or a countermeasure that is very similar to it). Timing differences in the test suite show at most 120 clock cycle difference (SHA-1/256/384).
| * | SHA384 countermeasure (not perfect, but makes the attack harder)Juraj Somorovsky2016-10-221-19/+27
| | |
| * | Lucky 13 patch for SHA-1 and SHA-256Juraj Somorovsky2016-10-162-0/+78
| | |
* | | Merge GH #679 Unify test namingJack Lloyd2016-10-244-5/+5
|\ \ \
| * | | Reunify registered test names [ci skip]René Korthaus2016-10-234-5/+5
| | | |
* | | | Merge GH #668: Remove Algo_Registry and associated global locksJack Lloyd2016-10-2495-1673/+1485
|\ \ \ \ | |/ / / |/| | |
| * | | ECIES ISO tests require SHA-1Jack Lloyd2016-10-211-1/+1
| | | |
| * | | Missing include, noticed by Clang on OS XJack Lloyd2016-10-211-0/+1
| | | |
| * | | Cleanup from rebaseJack Lloyd2016-10-211-5/+0
| | | |
| * | | Fix PSSRJack Lloyd2016-10-211-1/+1
| | | |
| * | | Remove unused functions from SCAN_NameJack Lloyd2016-10-212-39/+0
| | | |
| * | | Small cleanup in OpenSSL ECJack Lloyd2016-10-211-12/+13
| | | |