aboutsummaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Better dependency handlinglloyd2008-09-291-3/+0
|
* Put only the implementation of BigInt in src/bigint, mathematical functionslloyd2008-09-292-1/+27
| | | | | | | on top of BigInt go to src/math. Some prototypes were moved in order to complete the split, in particular random_integer() is now a static member of BigInt instead of being a global function, and divide() is in divide.h instead of numthry.h
* Make asm implementations distinctly named objects, for instance MD5_IA32,lloyd2008-09-291-4/+40
| | | | | | | | | | | | | | | | | | | rather than silently replacing the C++ versions. Instead they are silently replaced (currently, at least) at the lookup level: we switch off the set of feature macros set to choose the best implementation in the current build configuration. So you can have (and benchmark) MD5 and MD5_IA32 directly against each other in the same program with no hassles, but if you ask for "MD5", you'll get maybe an MD5 or maybe MD5_IA32. Also make the canonical asm names (which aren't guarded by C++ namespaces) of the form botan_<algo>_<arch>_<func> as in botan_sha160_ia32_compress, to avoid namespace collisions. This change has another bonus that it should in many cases be possible to derive the asm specializations directly from the original implementation, saving some code (and of course logically SHA_160_IA32 is a SHA_160, just one with a faster implementation of the compression function, so this seems reasonable anyway).
* Expose use of global state in some of the lookup functions, includinglloyd2008-09-294-73/+101
| | | | get_cipher
* Rename all modinfo.txt files to info.txt, since they are all (none) oflloyd2008-09-291-0/+0
| | | | | them modules now. In any case there is no distinction so info.txt seems better.
* Update modinfo with renamed filename (maybe add wildcarding support? Thislloyd2008-09-291-1/+1
| | | | could get tedious)
* Rename for clarity (at least a little bit)lloyd2008-09-291-0/+0
|
* Remove more dependencies on the global state object.lloyd2008-09-291-7/+0
| | | | | | | New argument to X509_CRL constructor, a boolean that specifies if an exception should be thrown upon encountering an unknown extension type marked as critical. Previously this was controlled globally via the x509/crl/unknown_critical policy flag.
* Hardcode use of Latin1 encoding if an encoding using ASN.1 DIRECTORY STRINGlloyd2008-09-291-1/+0
| | | | | | | | is encountered and the charaters will not fit into PRINTABLE STRING. Previously was toggle-able between Latin1 and UTF-8 via policy config. However does not seem worth the depencencies especially as AFAIK nobody has ever touched this setting. If its functionality turns out to be needed then something can be arranged later on.
* Pass a Mutex* as an argument to Pooling_Allocator instead of it grabbinglloyd2008-09-293-6/+9
| | | | one via a reference to the global state.
* Add deps, missing includes, etclloyd2008-09-292-0/+3
|
* Fix modinfo fileslloyd2008-09-291-1/+1
|
* Move mlock to utils, as decled in util.hlloyd2008-09-291-24/+0
|
* Move parts of core into pk/pubkey which is at least somewhat relevantlloyd2008-09-2922-2731/+7
|
* Add modinfo for keypair and core moduleslloyd2008-09-291-0/+77
|
* Move what is left of the uncategorized library to 'core'. There is stilllloyd2008-09-2962-0/+8230
a lot of public key stuff in here that needs to be extracted however, and probably 2-3 other modules worth of stuff to split off (engines, etc)