aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge GH #692 Remove deprecated RNGs and entropy sourcesJack Lloyd2016-10-3020-1360/+19
|\
| * Remove HMAC_RNG, X9.31-RNG, BeOS stats, EGD reader, Unix process runnerJack Lloyd2016-10-2820-1360/+19
| | | | | | | | | | Change AutoSeeded_RNG to use SHA-384, SHA-256, SHA-3(256), or SHA-1, whichever is available (in that order).
* | More filter testsJack Lloyd2016-10-291-16/+8
|/ | | | Simplify algo_filt.cpp using create_or_throw
* Merge GH #691/#488 Add GMAC. Add MessageAuthenticationCode::start_msgJack Lloyd2016-10-286-8/+298
|\
| * Add MAC::start_msg, update GMACJack Lloyd2016-10-283-14/+53
| | | | | | | | | | | | | | | | 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-285-98/+161
| | | | | | | | | | Adds support for Galois Message Authentication Code calculation based on GHASH, rather than GCM_Mode.
| * Added implementation for GMACMatthias Gierlings2016-10-277-50/+238
| | | | | | | | | | | | - 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
| |
* | Remove bogus filter dependency in TSSJack Lloyd2016-10-282-2/+0
| | | | | | | | [ci skip]
* | make max_number_of_bytes_per_request configurableDaniel Neus2016-10-282-27/+79
| |
* | Correct name for Comb4PJack Lloyd2016-10-271-1/+1
| |
* | Merge GH #689 Add tests for Pipe/Filter systemJack Lloyd2016-10-271-0/+5
|\ \
| * | Add more tests for Pipe/FilterJack Lloyd2016-10-271-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / Fix TLS resumption bugsJack Lloyd2016-10-272-20/+27
|/ | | | | | | | | | | | | | | | | | | | | 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]
* Static analyzer fixesJack Lloyd2016-10-251-1/+0
| | | | | | | | | 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.
* 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
| |
* | 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.
* Fixes for build without 25519Jack Lloyd2016-10-241-3/+3
|
* Merge GH #673 X25519 TLS key exchangeJack Lloyd2016-10-246-42/+108
|\
| * X25519 key exchange for TLSJack Lloyd2016-10-216-42/+108
| | | | | | | | | | 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 #668: Remove Algo_Registry and associated global locksJack Lloyd2016-10-2493-1576/+1478
|\ \ \
| * | | 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
| | | |
| * | | Remove alias logic from SCAN_NameJack Lloyd2016-10-2112-182/+168
| | | | | | | | | | | | | | | | | | | | | | | | This required taking a global lock and doing a map lookup each time an algorithm was requested (and so many times during a TLS handshake).
| * | | Remove Algo_RegistryJack Lloyd2016-10-2191-1455/+1413
| | |/ | |/| | | | | | | | | | | | | | | | I repent my use of global constructors. I repent my use of global locks. Hopefully I will never touch this code again. :)
* | | Fix invalid UTF-8 char in API doc [ci skip]René Korthaus2016-10-221-1/+1
| | | | | | | | | | | | | | | | | | An invalid UTF-8 character prevented Latex from generating a PDF document from the doxygen-generated Latex API docs via make pdf.
* | | Fix handling of file descriptor zeroJack Lloyd2016-10-221-13/+11
| | | | | | | | | | | | | | | If opening /dev/*random resulted in fd 0, we would both not use that RNG and leak the file descriptor. Found with Coverity.
* | | Address some Coverity warningsJack Lloyd2016-10-223-9/+9
| | | | | | | | | | | | Nothing exciting.
* | | GH #674 Check Doxygen and Sphinx builds as part of CIJack Lloyd2016-10-221-0/+4
|\ \ \
| * | | Build the docs during CIJack Lloyd2016-10-221-0/+4
| |/ / | | | | | | | | | Fix various doc building problems/warnings.
* / / Use correct macro for ECC in create_private_keyJack Lloyd2016-10-221-1/+1
|/ /
* | Allow setting the validation time during PKIX path validationJack Lloyd2016-10-212-18/+29
| | | | | | | | | | | | | | Previously validation asked the system clock which is not always the correct thing (for example when using Roughtime protocol). Had been on the todo list forever, forced into it by some of the test certs expiring today.
* | Add create_private_key, expose key loading functions in pk_algs.hJack Lloyd2016-10-207-69/+225
| |
* | Tighten up TLS server handshake logic.Jack Lloyd2016-10-201-20/+15
| | | | | | | | | | | | | | | | | | Previously client was allowed to omit the Certificate message, a leftover from supporting SSLv3. In all versions of TLS, an empty message must be sent if the client does not want to use a cert. No known security impact, but nothing we need to allow anymore. Clean up the handshake switch a bit by using return statements.
* | Merge GH #669 Add SHA-3, SHAKE-128, and BoringSSL-mode NewHopeJack Lloyd2016-10-2015-209/+554
|\ \
| * | Add SHAKE-128 as stream cipherJack Lloyd2016-10-198-106/+240
| | | | | | | | | | | | | | | Updates NewHope to use that instead of the hard-coded SHAKE-128, and adds toggle for BoringSSL compat mode using AES-128/CTR + SHA-256.