aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstate/libstate.cpp
Commit message (Collapse)AuthorAgeFilesLines
* The first argument of Library_State::set_option was accidentally beinglloyd2009-09-091-1/+1
| | | | | passed as a 'const std::string' instead of a const reference. Can't fix in 1.8 since it is ABI breaking.
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-301-58/+60
| | | | | | | | | | | | | | | up during the Fedora submission review, that each source file include some text about the license. One handy Perl script later and each file now has the line Distributed under the terms of the Botan license after the copyright notices. While I was in there modifying every file anyway, I also stripped out the remainder of the block comments (lots of astericks before and after the text); this is stylistic thing I picked up when I was first learning C++ but in retrospect it is not a good style as the structure makes it harder to modify comments (with the result that comments become fewer, shorter and are less likely to be updated, which are not good things).
* 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