aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/prov/openssl/openssl_hash.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix warning with recent GCCJack Lloyd2019-12-081-1/+1
|
* Make exceptions easier to translate to error codesJack Lloyd2018-11-231-6/+6
| | | | | | | | | | | Avoid throwing base Botan::Exception type, as it is difficult to determine what the error is in that case. Add Exception::error_code and Exception::error_type which allows (for error code) more information about the error and (for error type) allows knowing the error type without requiring a sequence of catches. See GH #1742
* Switch LibreSSL provider to OpenSSL 1.1 APIAlexander Bluhm2018-11-071-2/+2
| | | | | | | LibreSSL 2.7 has added parts of the OpenSSL 1.1 API. Remove the defined(LIBRESSL_VERSION_NUMBER) as it is not necessary anymore. Switch to the newer API unconditionally, older LibreSSL version are not supported.
* Support calling Whirlpool in OpenSSLJack Lloyd2018-07-261-0/+5
| | | | Available since 1.0.0, not sure how this was missed.
* Accept SHA-1, SHA1, or SHA-160 equallyJack Lloyd2017-10-131-1/+1
| | | | | | Fixes #1235 [ci skip]
* Apply final annotations to the library alsoJack Lloyd2017-09-221-1/+1
| | | | | Done by a perl script which converted all classes to final, followed by selective reversion where it caused compilation failures.
* Don't crash if openssl can't allocate a new contextKirill A. Korinsky2017-06-291-0/+2
|
* Make Botan compile with LibreSSL again.Alexander Bluhm2017-05-241-2/+2
| | | | | | Add some #ifdef LIBRESSL_VERSION_NUMBER in addition to the OPENSSL_VERSION_NUMBER switch. Narrow down API compatiblity between LibreSSL and OpenSSL version in docs.
* Add copy_state to OpenSSL hash functions, and port to OpenSSL 1.1.0Jack Lloyd2017-05-221-13/+34
|
* Throw OpenSSL exception if any OpenSSL function failed.Alexander Bluhm2017-04-291-5/+10
| | | | | Checking for all failures helps to find problems early. The OpenSSL_Error() exception provides the OpenSSL error string.
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-181-2/+2
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* Remove Algo_RegistryJack Lloyd2016-10-211-31/+35
| | | | | | | I repent my use of global constructors. I repent my use of global locks. Hopefully I will never touch this code again. :)
* Change T::provider to return std::stringJack Lloyd2016-09-151-1/+1
|
* Add T::provider() to allow user to inquire about implementation usedJack Lloyd2016-09-151-0/+1
| | | | | For block ciphers, stream ciphers, hashes, MACs, and cipher modes. Cipher_Mode already had it, with a slightly different usage.
* Remove deprecated hashes MD2, HAS-160, and RIPEMD-128Jack Lloyd2016-09-021-4/+0
|
* Add missing overrides and fix -Wpedantic 'extra ;' warningsJack Lloyd2016-01-171-8/+8
| | | | | | | | | | Remove -Wsuggest-attribute=noreturn from maintainer mode flags as it seems like outside of the assertion failure macro any other suggestion would always be a false positive (an unimplemented function or the like). Or at least, if such a function needing noreturn to assist with static analysis is added in the future it will be obvious, by virtue of the static analyzer warnings which occur due to the missing noreturn preventing the analyzer from understanding code flow.
* Merge the openssl code together.Jack Lloyd2015-12-191-0/+117
Having the code diffused all over the place was ugly and would not scale well to multiple alternative providers. GH #368