| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
(though including X.509 and TLS).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
cause a huge amount of lock contention in heavily multithreaded
code. Now each AutoRNG is its own uniquely seeded HMAC_RNG. The set of
entropy sources is shared rather than being per-RNG (so there is only
one open fd to /dev/random, etc). So reseeding is still a global lock,
but sharing the resources (open file descriptors, etc) across RNGs
seems worth the contention.
Remove Randpool, which was only used if HMAC_RNG was disabled at build.
|
|
|
|
|
|
|
| |
and is an extra complication for callers.
Replace the get_aead in lookup.h returning a Filter with one in aead.h
returning AEAD_Mode.
|
| |
|
| |
|
|
|
|
|
|
| |
using a custom allocator. Currently our allocator just does new/delete
with a memset before deletion, and the mmap and mlock allocators have
been removed.
|
|\
| |
| |
| |
| |
| | |
dd068808e5bf87c982765a8bcc314996053a5bdd)
to branch 'net.randombit.botan.c++0x' (head 34696d52a8148d64f7021b3e193fc56f051b9dd2)
|
| |
| |
| |
| |
| |
| | |
RNG. Pretty much required outside of very special cases, and otherwise
someone using --no-autoload will have to know to enable them
specifically or lots of things will break.
|
|\|
| |
| |
| |
| |
| | |
c6dfcb1b2e25290f071169361fb07cc9bb602eac)
to branch 'net.randombit.botan.c++0x' (head 802b80d11c9eb4550d592439b773f6bc8b0ec045)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
into global_state.{h,cpp}. Move all of the functions into a new
namespace Global_State_Management, though exposing global_state() into
the Botan namespace for compatability.
Also add new functions global_state_exists and
set_global_state_unless_set which may be helpful in certain tricky
initialization scenarios (eg when an application using botan also uses
a library which may or may not itself use botan).
|
|\ \
| |/
|/|
| |
| |
| | |
717a9d103aa80e6d66c04e3a23cf173aadf56ceb)
to branch 'net.randombit.botan.c++0x' (head c9759e8ebc2f360696a11f2d00fc218d7a8bf744)
|
| |\
| | |
| | |
| | |
| | |
| | | |
161b5c0300b72baa746f101fda1e2b4a7c71818c)
to branch 'net.randombit.botan.c++0x' (head 1fc3875bb8daf4ad0e90ba66db72642203cb9984)
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
96d0a1885774b624812fd143d541c8bcda319217)
to branch 'net.randombit.botan.c++0x' (head e14368ab9d7976f3e111c6bc0adf24eebeb7c114)
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
9932d4d63417f7fcc199ada244cbaa6c1c32d9c1)
to branch 'net.randombit.botan.c++0x' (head f4a385a376311edc62ef506c72cc56f69e6efd5a)
|
| | | | |\
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
22c82e10d78ad0e2cdaa56cb02f3d846ed0ead5e)
to branch 'net.randombit.botan.c++0x' (head 74dbf310b7fcc11f94a16cd63046219acd5d62bc)
|
| | | | | |\
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
744dccf92270cf16b80b50ee2759424c9866b256)
to branch 'net.randombit.botan.c++0x' (head 2aa1acac1d05e8ea9991fe39015b1db9abc3b24e)
|
| | | | | |\ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
2773c2310e8c0a51975987a2dd6c5824c8d43882)
to branch 'net.randombit.botan.c++0x' (head f13cf5d7e89706c882604299b508f356c20aae3a)
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
libstate.cpp
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
(slightly) better.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
really is only used by OpenPGP, and largely it was named S2K here
because the OpenPGP S2K was implemented years before the ones in PKCS
#5. We have a typedef of PBKDF to S2K, and an inlined get_s2k that
calls get_pbkdf for source compatability.
There doesn't seem to be any reason to have a forward for the renamed
s2k.h header - to actually use a PBKDF, you'd have to either include
lookup.h and call get_s2k / get_pbkdf, or else include an
algorithm-specific header and use it directly. In either case,
including s2k.h is neither necessary nor sufficient.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
then you can't use the global PRNG but everything else still works.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
|
|/ / / / |
|
| |_|/
|/| |
| | |
| | | |
Move most of the engine headers to internal
|
|/ / |
|
|/
|
|
|
| |
Pretty much useless and unused, except for listing the module names in
build.h and the short versions totally suffice for that.
|
|
|
|
|
|
|
|
|
|
|
| |
build (only libstate, utils, plus dependencies), which can be extended with
use of --enable-modules.
To add new modules to the set of always-loaded, use 'load_on always' in info.txt
Also fix a few small build problems that popped up when doing a minimal build.
Requested by a user.
|
| |
|
|
|
|
|
|
| |
the info.txt files with the right module dependencies.
Apply it across the codebase.
|
|
|
|
|
| |
the other half was relied upon by pubkey. Move the contents into those two
modules. Update deps.
|
|
|
|
|
| |
back to the toplevel since most othe dependencies have been removed now
(except get_cipher which still needs changes)
|
|
|
|
| |
algo_factory/
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and reduce all the arguments to just a bool specifying threads.
selftests: off (if desired, run passes_self_test in selftest.h)
fips140: Just ran the self tests, totally bogus option.
use_engine: On by default (that is, if OpenSSL or asm code is compiled
in, it's used by default). One can get better control over this using
the provider feature of SCAN_Name (though this doesn't handle cases like
nested algorithms yet).
secure_memory: On by default.
|
|
|
|
| |
as an abstraction. Check #ifdef's for engines and such directly in libstate.cpp
|
|
|
|
| |
which will eventually encapsulate the lookup logic as well)
|
| |
|
| |
|
| |
|
|
|
|
| |
engine base classes into src/engine
|
|
|
|
|
|
| |
botan.h includes unconditionally.
Remove obsolete seed_rng code from init.h
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|