aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstate/libstate.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove Library_State::add_engine and Algorithm_Factory::add_engine,lloyd2008-11-121-19/+12
| | | | | | | | replacing with an updated constructor to Algorithm_Factory taking a vector of Engine*. The semantics of adding engines at runtime were not defined nor very clear, it seems best to prohibit this unless and until it is explicitly thought through (and until a need for it presents itself).
* Library_State had two functions that did the same thing,lloyd2008-11-121-2/+2
| | | | | | | | | | | | | | | algo_factory and algorithm_factory. This is confusing so for consistency/simplicity, remove algo_factory, making algorithm_factory the function to call. In 1.7.14, several functions in lookup.h, including retrieve_block_cipher, retrieve_hash, etc were changed to accept a Library_State& reference. However it turns out with the modified design I've settled upon for 1.8 that it is not necessary to change those interfaces; instead they always refer to the global_state algorithm factory which is exactly the semantics one would expect/desire 99% of the time (and is source compatible with code written for 1.6, also a plus)
* Split asm_engine into three engines (ia32, amd64, sse2). This allowslloyd2008-11-111-7/+24
| | | | them to be individually requested as providers on lookup.
* Update Library_State for new Algorithm_Factory constructorlloyd2008-11-111-1/+1
|
* Fix destructorlloyd2008-11-111-1/+1
|
* After finding myself typing global_state().algorithm_factory() insteadlloyd2008-11-111-9/+9
| | | | | of algo_factory() several times, I decided to rename the functions. algorithm_factory() just forwards to algo_factory as an inline.
* Change LibraryInitializer back to accepting a std::string for backwardslloyd2008-11-111-1/+1
| | | | compatability.
* Add back Library_State::add_engine for Monotonelloyd2008-11-101-0/+8
|
* Move get_bc_pad to def_engine/def_mode.cpplloyd2008-11-101-5/+6
| | | | Compilation fix in arc4_openssl.cpp
* Drop all options except thread safety. Also remove InitializerOptions, etclloyd2008-11-101-13/+5
| | | | | | | | | | | | | | | 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.
* Remove Modules class from the initializer code - it just wasn't that usefullloyd2008-11-101-16/+66
| | | | as an abstraction. Check #ifdef's for engines and such directly in libstate.cpp
* Use Algorithm_Factory instead of lookup in Default_Engine block cipherlloyd2008-11-101-1/+0
| | | | and mac tables
* Use Algorithm_Factory and SCAN_Name for all hash lookups. Modify engineslloyd2008-11-101-1/+1
| | | | accordingly.
* Add a class Algorithm_Factory which encapsulates the Engine classes (andlloyd2008-11-101-34/+16
| | | | which will eventually encapsulate the lookup logic as well)
* Move libstate and selftest out of core/ dir to toplevellloyd2008-10-261-0/+294