| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in build.h named BOTAN_DISTRIBUTION_INFO. The default value is
'unspecified'. People packaging botan could set this to another
value, for instance 'Gentoo 1.9.13-r3' or 'Debian 1.9.13-1', or
'pristine' to indicate a completely unmodified/stock version. This
was suggested by Zooko for Crypto++ in
http://sourceforge.net/apps/trac/cryptopp/ticket/11
and seemed like an idea worth stealing.
Don't default the version datestmap to the current day if unset,
instead set to zero. This allows applications to detect
unreleased versions. Document that version_datestamp will return
zero for unreleased versions.
Change the version_string function to return more information about
the current version, including the release date and distribution
information. It will now return strings like:
Botan 1.9.13 (released 20110207, distribution Gentoo 1.9.13-r3)
or for an unreleased version:
Botan 1.9.13 (unreleased version, distribution unspecified)
|
| |
|
| |
|
| |
|
|
|
|
| |
the buffer (in KiB) to process.
|
|
|
|
| |
the named shared engine object.
|
|
|
|
| |
getting runtime value.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PRNG everywhere. The removal of the global PRNG was generated by a
desire to remove the global library state entirely. However the real
point of this was to remove the use of globally visible _mutable_
state; of the mutable state, the PRNG is probably the least important,
and the most useful to share. And it seems unlikely that thread
contention would be a major issue in the PRNG.
Add back a global PRNG to Library_State. Use lazy initialization, so
apps that don't ever use a PRNG don't need a seeding step. Then have
AutoSeeded_RNG call that global PRNG.
Offer once again
RandomNumberGenerator& Library_State::global_rng();
which returns a reference to the global PRNG.
This RNG object serializes access to itself with a mutex.
Remove the hack known as Blinding::choose_nonce, replace with using
the global PRNG to choose a blinding nonce
|
| |
|
|
|
|
|
|
|
|
| |
including the examples and self-test code.
Most of these files had not copyright/license information at all; since a major
point of the examples is to allow users to copy and paste code that already
does something they want, an ambigious license is not good.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Features dropped: RNG benchmarking, the --bench-type option.
New feature: Anything the library understands can be benchmarked using
--bench-algo.
Use 3DES and Serpent for mode benchmarking along with AES-128.
|
|
|
|
|
| |
output with a script after the fact to generate such things, especially
as often for HTML I want to do multiple side-by-side results.
|
| |
|
| |
|
|
|
|
| |
easy to measure
|
| |
|
|
|
|
| |
which is a reasonable ordering
|
|
|
|
|
|
|
|
| |
I'm seeing one failure on Core2. Have not diagnosed at all.
A number of tests are #if'ed out. Many were rubbed out in the
original InSiTo version, others I commented out due to changed/removed
APIs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
was not the right place to keep track of this information. Also modify
all Algorithm_Factory constructor functions to take instead of a SCAN_Name
a pair of std::strings - the SCAN name and an optional provider name. If
a provider is specified, either that provider will be used or the request
will fail. Otherwise, the library will attempt best effort, based on
user-set algorithm implementation settings (combine with benchmark.h for
choosing the fastest implementation at runtime) or if not set, a static
ordering (preset in static_provider_weight in prov_weight.cpp, though it
would be nice to make this easier to toggle).
|
|
|
|
| |
compatability.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new class AutoSeeded_RNG that is a RandomNumberGenerator that wraps
up the logic formerly in RandomNumberGenerator::make_rng. make_rng in
fact now just returns a new AutoSeeded_RNG object.
AutoSeeded_RNG is a bit more convenient because
- No need to use auto_ptr
- No need to dereference (same syntax everywhere - it's an underestimated
advantage imo)
Also move the code from timer/timer_base to timer/
|
|
|
|
|
|
|
|
|
| |
several are failing with an uncaught exception.
The test failures may be due to the fact that ECDSA's support for EAC is not
included at the moment, and the CVC code that attempts to do it is #if'ed out.
It certainly can't help anyway. Exception is a decoding error, so seems
quite plausible.
|
|
|
|
| |
brackets)
|
|
|
|
| |
(tests by Falko Strenzke)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
low, can be easily thrown off by random background activity, especially
on uniprocessor machines
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
run until after the block ended, which was after set_global_state(0)
had run, causing crashes in the destructors that attempted to free memory.
Restructure the argument handling, it is significantly easier to understand
now. Only create the rng where it is needed.
|
|
|
|
|
|
|
| |
the test suite.
Instead of exiting, just carry on; the full test suite will check if the
problem is real or if std::numeric_limits is just wonky.
|
|
|
|
| |
where it is needed.
|
| |
|
| |
|
| |
|
|
|
|
| |
instead of introducing new typedefs.
|
| |
|
|
|
|
| |
5 minutes (300 seconds).
|
| |
|
|
|
|
| |
Inline the print_help function
|
| |
|
| |
|