Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rename 'darwin' target to 'macos' | Jack Lloyd | 2019-03-27 | 1 | -1/+1 |
| | | | | | Both because that's the more common term, and because iOS/watchOS also uses the Darwin kernel, but we have a distinct target for mobile. | ||||
* | Renamed m_handle to m_prov as this is the variable name used elsewhere. | Ricardo Martins | 2019-02-15 | 1 | -1/+1 |
| | |||||
* | Remove trailing whitespace | Jack Lloyd | 2019-01-13 | 1 | -21/+21 |
| | |||||
* | Make exceptions easier to translate to error codes | Jack Lloyd | 2018-11-23 | 5 | -13/+13 |
| | | | | | | | | | | | 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 | ||||
* | When available use RDRAND for Stateful_RNG additional data | Jack Lloyd | 2018-11-21 | 1 | -4/+19 |
| | |||||
* | Fix more MSVC warnings | Jack Lloyd | 2018-10-01 | 1 | -1/+1 |
| | |||||
* | Add support for using Linux getrandom syscall | Jack Lloyd | 2018-09-20 | 1 | -0/+39 |
| | | | | Disabled by default as it requires a relatively recent kernel and glibc. | ||||
* | In AutoSeeded_RNG invoke randomize_with_ts_input on the owned RNG | Jack Lloyd | 2018-09-13 | 1 | -1/+1 |
| | | | | | | | | Invoking on this means we use RandomNumberGenerator::randomize_with_ts_input which just adds timestamps. Whereas Stateful_RNG::randomize_with_ts_input (as implemented by the owned RNG) also adds the reseed counter and the last pid. Probably no real difference, but can't hurt and not any slower. | ||||
* | Add RandomNumberGenerator::accepts_input | Jack Lloyd | 2018-09-06 | 7 | -17/+74 |
| | |||||
* | Expose RDRAND RNG through FFI | Jack Lloyd | 2018-08-13 | 2 | -1/+12 |
| | |||||
* | Add StreamCipher::write_keystream | Jack Lloyd | 2018-08-08 | 1 | -3/+2 |
| | | | | | Avoids the XOR operation. Only implemented for ChaCha20 currently, everything else defaults to memset-to-zero + xor-cipher | ||||
* | Fix Doxygen comments for AutoSeeded_RNG [ci skip] | Jack Lloyd | 2018-07-31 | 1 | -3/+7 |
| | |||||
* | Correct comment on Hardware_RNG | Jack Lloyd | 2018-07-17 | 1 | -2/+1 |
| | |||||
* | Add back support for Windows Phone RNG, undeprecate UWP | Jack Lloyd | 2018-05-28 | 2 | -0/+49 |
| | | | | See #1586. Reverts part of #1494 | ||||
* | Use type BYTE instead of BOOLEAN | Simon Warta | 2018-05-08 | 1 | -1/+4 |
| | |||||
* | Rename RtlGenRandom_f -> RtlGenRandom_fptr | Simon Warta | 2018-05-07 | 1 | -3/+3 |
| | | | | because this is a function pointer, not a function | ||||
* | Rewrite assignment of RtlGenRandom_f using "using" | Simon Warta | 2018-05-07 | 1 | -1/+1 |
| | |||||
* | Check return value of m_rtlgenrandom against proper type | Simon Warta | 2018-05-07 | 1 | -1/+2 |
| | |||||
* | Use BOOLEAN return type for RtlGenRandom_f | Simon Warta | 2018-05-07 | 1 | -1/+1 |
| | |||||
* | Add missing NTAPI to RtlGenRandom_f signature | Simon Warta | 2018-05-07 | 1 | -1/+1 |
| | |||||
* | Use RtlGenRandom instead of CryptoAPI | Jack Lloyd | 2018-03-14 | 2 | -79/+23 |
| | |||||
* | Merge GH #1378 Use OS feature flags instead of OS name for enabling system ↵ | Jack Lloyd | 2018-01-09 | 1 | -21/+6 |
|\ | | | | | | | specific code | ||||
| * | Test OS features by the feature vs the OS name | Jack Lloyd | 2017-12-30 | 1 | -21/+6 |
| | | |||||
* | | Remove needless <arch> blocks for RDRAND/RDSEED | Jack Lloyd | 2018-01-04 | 1 | -5/+0 |
|/ | | | | These were already implicit due to requiring the relevant ISA | ||||
* | Drop IRIX support | Jack Lloyd | 2017-12-13 | 1 | -1/+0 |
| | | | | | | It turns out that GCC dropped support for IRIX in 4.8, so likely there was never even a C++11 compiler that could have been used to compile 2.x in any case. | ||||
* | Add missing `override` | Jack Lloyd | 2017-10-05 | 1 | -1/+1 |
| | | | | | Redundant with `final` but GCC -Wsuggest-override complains. (This is already a bug filed for this in GCC upstream.) | ||||
* | Avoid empty methods, use =default or add a comment | Jack Lloyd | 2017-10-03 | 3 | -6/+6 |
| | | | | Sonar | ||||
* | Use explicit on more single-argument constructors | Jack Lloyd | 2017-09-30 | 1 | -2/+2 |
| | |||||
* | Slight improvements to RNG tests | Jack Lloyd | 2017-09-22 | 1 | -2/+2 |
| | |||||
* | Apply final annotations to the library also | Jack Lloyd | 2017-09-22 | 1 | -1/+1 |
| | | | | | Done by a perl script which converted all classes to final, followed by selective reversion where it caused compilation failures. | ||||
* | Merge GH #1219 Implement System_RNG on macOS/iOS using arc4random | Jack Lloyd | 2017-09-21 | 1 | -6/+3 |
|\ | |||||
| * | Supposedly iOS has arc4random, so maybe this works... | Jack Lloyd | 2017-09-21 | 1 | -6/+3 |
| | | |||||
* | | More include header cleanups | Jack Lloyd | 2017-09-21 | 2 | -1/+1 |
| | | |||||
* | | Clean up header includes | Jack Lloyd | 2017-09-21 | 1 | -1/+0 |
|/ | | | | | | | Avoid including build.h or assert.h directly, instead always take them though types.h Avoid math.h in favor of cmath | ||||
* | Change header guard format to BOTAN_FOO_H_ | Jack Lloyd | 2017-09-20 | 7 | -14/+14 |
| | | | | | | ISO C++ reserves names with double underscores in them Closes #512 | ||||
* | More annotations | Jack Lloyd | 2017-09-19 | 1 | -1/+1 |
| | |||||
* | Add API stability annotations. | Jack Lloyd | 2017-09-19 | 6 | -10/+10 |
| | | | | | Defined in build.h, all equal to BOTAN_DLL so ties into existing system for exporting symbols. | ||||
* | Define macro so windows.h doesn't include winsock.h | Jack Lloyd | 2017-09-03 | 1 | -0/+1 |
| | | | | Ugh Windows headers y u so nasty. | ||||
* | Refactor RNGs to support Windows Phone | Jack Lloyd | 2017-09-02 | 2 | -108/+150 |
| | | | | | | | | | | | | | | | | | | | This OS has its own crypto API and does not support CryptGenRandom. Splits System_RNG_Impl into distinct declarations one per implementation type. Easier to read now that we are up to 4 distinct versions. Removes the CryptoAPI entropy source, and replaces it with an entropy source that calls the system RNG. This is nominally a bit less flexible in that the entropy source allowed polling multiple providers (though we didn't actually make use of that). Plus side is it works on all systems. Currently the dev_random entropy source is still there because we do actually use it to poll both /dev/random and /dev/urandom, and it might be useful (on certain systems) to also poll a HW RNG, which are often assigned their own device node. This could debatably also be removed in favor of just reading the system RNG. | ||||
* | Fix missing virtual destructor on CSP_Handle | Jack Lloyd | 2017-08-31 | 1 | -1/+1 |
| | | | | Caught by GCC cross compiling. Also fix a couple 0-as-null warnings. | ||||
* | Reset the ChaCha key in clear | Jack Lloyd | 2017-08-03 | 1 | -0/+1 |
| | | | | | This is not necessary for setup, but we want to zero the key out in the event someone calls clear explicitly. | ||||
* | Use new reset_reseed_counter function within Stateful_RNG as well | Jack Lloyd | 2017-08-03 | 1 | -3/+3 |
| | |||||
* | Add Stateful_RNG::reset_reseed_counter | Jack Lloyd | 2017-08-03 | 3 | -4/+7 |
| | | | | Instead of giving subclasses access to the variable directly. | ||||
* | Refactor stateful RNG tests to cover both HMAC_DRBG and ChaCha_RNG | Jack Lloyd | 2017-08-03 | 4 | -17/+38 |
| | |||||
* | Add ChaCha_RNG | Jack Lloyd | 2017-08-03 | 3 | -0/+238 |
| | |||||
* | Add explicit tests for RDRAND_RNG and System_RNG | Jack Lloyd | 2017-08-03 | 1 | -9/+7 |
| | |||||
* | Fix for #1078 | Baruch | 2017-06-19 | 1 | -1/+1 |
| | |||||
* | Follow NIST SP 800-57 for HMAC_DRBG security level | René Korthaus | 2017-04-03 | 1 | -3/+12 |
| | |||||
* | Change security_strength of HMAC_DRBG | René Korthaus | 2017-04-03 | 2 | -5/+12 |
| | | | | | | | | | | | | | | Looking into SP808-90A, it mentions that the max security strength is the security strength of the hash function for pre-image resistance. The current implementation however always only uses half of the output length, therefore only providing half of the security strength possible. However, SP800-90A supports only up to 256 bit security strength, so we fix it to this upper limit. In a second change, add_entropy() now also resets the reseed counter if enough entropy input provided. | ||||
* | Remove "Dirty hack" for multiple defines in lex_me_harder() | Simon Warta | 2017-04-02 | 5 | -7/+17 |
| |