aboutsummaryrefslogtreecommitdiffstats
path: root/src/algo_factory
Commit message (Collapse)AuthorAgeFilesLines
* propagate from branch 'net.randombit.botan' (head ↵lloyd2010-06-174-28/+52
|\ | | | | | | | | | | 294e2082ce9231d6165276e2f2a4153a0116aca3) to branch 'net.randombit.botan.c++0x' (head 0b695fad10f924601e07b009fcd781191fafcb28)
| * Replace "@return a blah" and "@return the blah" with just "@return blah"lloyd2010-06-161-1/+1
| |
| * Yet more Doxygen commentslloyd2010-06-161-6/+18
| |
| * More Doxygen commentslloyd2010-06-161-0/+7
| |
| * More Doxygen fixeslloyd2010-06-152-2/+7
| |
| * Fix a few hundred Doxygen warningslloyd2010-06-151-18/+18
| |
| * Use "/*" instead of "/**" in starting comments at the begining of a file.lloyd2010-06-072-2/+2
| | | | | | | | | | This caused Doxygen to think this was markup meant for it, which really caused some clutter in the namespace page.
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2010-05-251-6/+10
|\| | | | | | | | | | | 879d1fc83844976a01b9e3188c4f0b5ddb237f0e) to branch 'net.randombit.botan.c++0x' (head 4a0af13da3b0e21d6275cd6ec0c835d6bf757c8d)
| * Add a couple of small patches from Thomas Capricelli <[email protected]>lloyd2010-05-211-6/+10
| | | | | | | | that enable botan to be built under the clang C++ compiler.
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2010-04-092-5/+12
|\| | | | | | | | | | | 75d272c759511a9a99a371ddc74bd17b2c1453b6) to branch 'net.randombit.botan.c++0x' (head 2ce9ba37cb9287a3d875921240d6682100625b9f)
| * Allow adding engines dynamicallylloyd2010-03-242-7/+12
| |
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-144-38/+27
|\ \ | |/ |/| | | | | | | 5bfc3e699003b86615c584f8ae40bd6e761f96c0) to branch 'net.randombit.botan.c++0x' (head 8c64a107b58d41f376bfffc69dfab4514d722c5c)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2010-01-214-38/+27
| |\ | | | | | | | | | | | | | | | 12382647ef0a28fcb11c824c77b670cc88a4f721) to branch 'net.randombit.botan.c++0x' (head b586a3286d2c4d547ad3add5af9df1455bf4b87b)
| | * Post-merge fixeslloyd2009-12-161-1/+1
| | |
| | * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-163-6/+12
| | |\ | | | | | | | | | | | | | | | | | | | | 744dccf92270cf16b80b50ee2759424c9866b256) to branch 'net.randombit.botan.c++0x' (head 2aa1acac1d05e8ea9991fe39015b1db9abc3b24e)
| | * | Use auto for long iterator names, etc.lloyd2009-11-162-19/+14
| | | | | | | | | | | | | | | | It will be nice to convert to the range-based for loop once that's available.
| | * | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-024-19/+14
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | 2773c2310e8c0a51975987a2dd6c5824c8d43882) to branch 'net.randombit.botan.c++0x' (head f13cf5d7e89706c882604299b508f356c20aae3a)
| | | * \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-10-131-0/+4
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d2bced090807e3590304d38724d37f90ac870f1d) to branch 'net.randombit.botan.c++0x' (head 21baae4d88e0b1bc4e127d129b8ca730e8fa3e46)
| | | * \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-10-134-19/+14
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 139d6957d20f0b1202e0eacc63cb011588faffde) to branch 'net.randombit.botan.c++0x' (head c16676fa6c393bc3f46a044755ce525a013380a6)
| | | | * | | Remove dep on mutex module (doesn't exist here). Use initializer list in ↵lloyd2009-09-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | libstate.cpp
| | | | * | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-083-18/+14
| | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cadcc57872bef55226579df57349fe09a93d1f5) to branch 'net.randombit.botan.c++0x' (head d1747f0394aa4442e5b32b9102b830e1a86f0e5a)
| | | | | * \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-211-4/+9
| | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 95eb8083f5884531e5ca0667388f8a6fb6d05c41) to branch 'net.randombit.botan.c++0x' (head 56e105e678540c8bcafa4d0198c19a9489fbf8d1)
| | | | | * | | | Remove the mutex classes in favor of C++0x's std::mutex and std::lock_guardlloyd2009-04-013-18/+14
| | | | | | | | |
* | | | | | | | | Minor tweak, save a line and more readable IMOlloyd2010-02-141-2/+1
|/ / / / / / / /
* | | | | | | | Doxygen commentslloyd2010-01-071-14/+63
| | | | | | | |
* | | | | | | | Recognize aes_isa engine, set as high prioritylloyd2010-01-061-4/+6
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | Make many more headers internal-only.lloyd2009-12-163-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-163-5/+11
|/ / / / / /
* | | | | | Rename sse2 engine to simdlloyd2009-10-291-1/+1
| | | | | |
* | | | | | Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-291-2/+0
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* | | | | Check for cipher_mode() being set; if it is, not an algo_factory algolloyd2009-10-131-0/+4
|/ / / /
* / / / Add 'Distributed under...' text to files missing it. Some format cleanupslloyd2009-10-071-1/+4
|/ / /
* | / Add *s before comment lines in file headerslloyd2009-09-081-2/+2
| |/ |/|
* | Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-151-4/+9
|/ | | | | | 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-303-0/+6
| | | | | | | | | | | | | | | 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).
* Fix misspelled words in algo_factory.{cpp,h}, from Charles Brockman in bug 40lloyd2009-03-022-12/+13
|
* In Algorithm_Factory, create the Algorithm_Cache<> objects dynamicallylloyd2008-11-122-30/+40
| | | | | so that algo_cache.h does not have to be visible in the source of all callers who include libstate.h/algo_factory.h
* Add comment about non-obvious but vital side effectlloyd2008-11-121-0/+5
|
* Implement the guts of Algorithm_Factory::prototoype_X using a functionlloyd2008-11-121-65/+80
| | | | template to share the search and cache management logic across all types
* Remove Library_State::add_engine and Algorithm_Factory::add_engine,lloyd2008-11-121-14/+25
| | | | | | | | 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).
* Add missing prov_weight.cpplloyd2008-11-121-0/+31
|
* Revert 2707eb68cb91e0633815a6d6c68d22b9f41227a4 - I had forgotten thatlloyd2008-11-121-1/+1
| | | | | | | | Engine_Iterator (and thus the public key engine code) still processes in order of first engine to last in the list. Benchmarking confirmed that GNU MP is still faster than both OpenSSL and Botan for public key operations (at least on my machine).
* Remove support for provider identifiers from SCAN_Name - it turns out thislloyd2008-11-124-152/+242
| | | | | | | | | | | | 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).
* Process engines in order of addition instead of backwardslloyd2008-11-111-3/+5
|
* Wrap at 80 columnslloyd2008-11-112-4/+10
|
* Make a change in how providers are requiested in Algorithm_Factory tolloyd2008-11-111-8/+24
| | | | | | | | | | | | | | | the engines. Unfortunately right now Botan doesn't understand that a construction like HMAC, while the basic HMAC class lives only in core, can use any of a variety of implementations as the underlying algorithm. The previous version got this completely wrong (basically the first time a particular HMAC was requested, one hash provider would be chosen at random). Now instead we always use the same subprovider. This means HMAC(SHA-1) won't see a speedup even if there is an asm version available (similarly, CMAC(AES) wouldn't see a speedup with OpenSSL's AES or an engine that provided AES using VIA's or Intel's extensions). Certainly a major deficiency, but I haven't worked out how to fix it yet.
* Move most of the remaining libstate code to pk_engine.cpp, move engineslloyd2008-11-113-8/+4
| | | | | back to the toplevel since most othe dependencies have been removed now (except get_cipher which still needs changes)
* Use cache in Algorithm_Factory for cipherslloyd2008-11-113-129/+124
|
* Fix algo_cache to track aliases, all tests passlloyd2008-11-112-31/+27
|
* Add a new cache at the level of Algorithm_Factory. Intent is to replacelloyd2008-11-114-1/+149
| | | | | | | the caches included in the Engines, allowing faster search/query along and making the Engine implementations mostly or entirely stateless, also removing the need for a two-phase initialization there. Stil buggy + incomplete.