aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstate
Commit message (Collapse)AuthorAgeFilesLines
* Move all of the ECC domain parameter sets to policy.cpp, encoded as PEM,lloyd2010-03-021-0/+296
| | | | instead of weird custom format hard-coded in ec_dompar.cpp
* propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-247-208/+186
|\ | | | | | | | | | | 84baf58b29f3aaaee34e2b873d0040be5a6c4368) to branch 'net.randombit.botan.gost_3410' (head 63cbe3e357c071d7960bfedc31101eff35895285)
| * In SCAN_Name's constructor, first run the input through deref_alias beforelloyd2010-02-142-3/+5
| | | | | | | | | | breaking it apart. Otherwise it would miss on things like TLS.Digest.0 which expand to Parallel(MD5,SHA-1) which needs further parsing.
| * Add OID for Serpent/CBClloyd2010-01-191-0/+1
| |
| * Add doxygen commentslloyd2009-12-291-12/+39
| |
| * Make startup self-test failures more verboselloyd2009-12-261-2/+1
| |
| * Define lookup.{h,cpp} in terms of Algorithm_Factory. Inline a lot of simplelloyd2009-12-262-187/+123
| | | | | | | | functions into the header.
| * Add OIDs for SEED/CBC and HMAC with SHAlloyd2009-12-261-0/+8
| |
| * New SCAN decoding err string was misleading in one caselloyd2009-12-261-1/+4
| |
| * Improve exception output of SCAN_Name on bad inputlloyd2009-12-261-3/+5
| |
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-241-0/+3
|\ \ | |/ |/| | | | | | | a338abd543caa402c32acd952e865c8ec8e85a69) to branch 'net.randombit.botan.gost_3410' (head d09208e0a933da2df52494876849c542e5a556ca)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-161-0/+3
| |\ | | | | | | | | | | | | | | | 744dccf92270cf16b80b50ee2759424c9866b256) to branch 'net.randombit.botan.gost_3410' (head 761e22ccc5785e8d699f4ba80b8f72858aa5ca75)
| | * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-081-0/+5
| | |\ | | | | | | | | | | | | | | | | | | | | 142a9359ba02d5dfcf3f2c9f99902f82ab41724e) to branch 'net.randombit.botan.gost_3410' (head 064884e9c2fde8228effdd48e80fed78ff0c42cb)
| | * \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-201-0/+3
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | b431f4bc404f3ed4a5332b69100ff903fbbb1d6a) to branch 'net.randombit.botan.gost_3410' (head ecd662f4afc7f412d2dd9ec8fd6ac4ac47aa1c13)
| | | * | Add an implementation of GOST 34.10-2001 as described inlloyd2009-11-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | draft-dolmatov-cryptocom-gost34102001-06 Known problem: GOST's X.509 (and PKCS #8?) formats are different from ECDSA. ECDSA uses compressed points, GOST uses a completely raw pair of points (with, OF COURSE, no leading uncompressed pair identifier, because using something that already exists would just be too much).
* | | | | Oops, I was overzealouslloyd2009-12-231-2/+2
| | | | |
* | | | | Avoid MSVC warning 4800 about implicit conversion from T to bool. Mostlylloyd2009-12-231-4/+4
| | | | | | | | | | | | | | | | | | | | because it makes the code slightly more explicit.
* | | | | Don't require selftest in libstate; macro wraplloyd2009-12-221-2/+6
| | | | |
* | | | | Add missing BOTAN_DLL exports.lloyd2009-12-163-10/+14
|/ / / / | | | | | | | | | | | | Move most of the engine headers to internal
* | | | Make many more headers internal-only.lloyd2009-12-162-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* | | | Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-162-15/+11
| |_|/ |/| |
* | | Add missing header guards to package.h and botan.hlloyd2009-12-021-0/+5
|/ / | | | | | | | | Change serp_simd_sbox.h's header guard to use the leading BOTAN_ prefix for proper macro namespacing.
* / Add missing BOTAN_DLL macros for algorithm_benchmark and SCAN_Namelloyd2009-11-201-1/+1
|/
* Stub for AES class using Intel's AES-NI instructions and an engine forlloyd2009-11-061-0/+8
| | | | | providing it. Also stubs in the engine for VIA's AES instructions, but needs CPUID checking also.
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-10-291-4/+4
|\ | | | | | | | | | | 8fb69dd1c599ada1008c4cab2a6d502cbcc468e0) to branch 'net.randombit.botan.general-simd' (head c05c9a6d398659891fb8cca170ed514ea7e6476d)
| * Rename SSE2 stuff to be generally SIMD since it supports at least SSE2lloyd2009-10-291-4/+4
| | | | | | | | and Altivec (though Altivec is seemingly slower ATM...)
* | Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-292-4/+0
|/ | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* New parsing system for SCAN nameslloyd2009-10-072-39/+92
|
* Run self tests at startuplloyd2009-10-071-0/+4
|
* Fix mode name parsinglloyd2009-10-061-1/+1
|
* Extensions to SCAN_Name for dealing with cipher mode nameslloyd2009-10-062-3/+62
|
* The first argument of Library_State::set_option was accidentally beinglloyd2009-09-092-2/+2
| | | | | passed as a 'const std::string' instead of a const reference. Can't fix in 1.8 since it is ABI breaking.
* Add *s before comment lines in file headerslloyd2009-09-082-4/+4
|
* Add a new option --no-autoload to configure.py. This will produce a minimallloyd2009-09-042-1/+2
| | | | | | | | | | | 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.
* Move some files around to break up dependencies between directorieslloyd2009-07-163-0/+153
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-152-14/+26
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-3015-217/+247
| | | | | | | | | | | | | | | 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).
* GOST was using a completely non-standard set of sboxes. Change it to uselloyd2009-03-271-0/+1
| | | | | | | | | | | | | | | GostR3411_94_TestParamSet, this is compatible with the implementations in Crypto++ and OpenSSL. This is not backwards compatible, though once the implementation supports multiple param sets (which is required, unfortunately, for compatability with various standards by CryptoCom, who have defined not one but at least 4 (!!!) different sboxes to use with GOST), I may offer Botan's previous sbox set as an option. Since adding the GOST hash function (34.11) and signing algorithm (34.10) are on the long term agenda (request by Rickard Bondesson, as the Russian authorities want to use their local standards for their DNSSEC use), I renamed the block cipher class (which had been just 'GOST') to GOST_28147_89 to minimize future name clashes.
* Update some doxygen comments. Contributed by Charles Brockman in bug #39lloyd2009-03-021-24/+24
|
* Allow asking for EMSA3(Raw) in get_emsa (returning a new EMSA3_Raw object)lloyd2008-11-281-0/+4
|
* Add an Algorithm_Factory& argument to Engine::get_cipher to avoid alloyd2008-11-231-2/+4
| | | | dependency on libstate.h
* Remove Library_State::add_engine and Algorithm_Factory::add_engine,lloyd2008-11-122-21/+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-125-59/+62
| | | | | | | | | | | | | | | 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)
* Remove support for provider identifiers from SCAN_Name - it turns out thislloyd2008-11-121-3/+3
| | | | | | | | | | | | 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).
* Remove pk_lookup - half of it (look_pk.{cpp,h}) depended on libstate directly,lloyd2008-11-113-3/+155
| | | | | the other half was relied upon by pubkey. Move the contents into those two modules. Update deps.
* Include libstate.h in botan.h, since it is pretty vital at this point tolloyd2008-11-111-0/+1
| | | | | be able to get the global_state so as to get a reference to the Algorithm_Factory
* Move most of the remaining libstate code to pk_engine.cpp, move engineslloyd2008-11-1148-3613/+96
| | | | | back to the toplevel since most othe dependencies have been removed now (except get_cipher which still needs changes)
* Make Engine::find_XYZ publiclloyd2008-11-111-15/+17
|
* Remove needless include of libstate.h from init.hlloyd2008-11-111-1/+2
|
* Split asm_engine into three engines (ia32, amd64, sse2). This allowslloyd2008-11-1112-70/+199
| | | | them to be individually requested as providers on lookup.