aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove the public domain notices from the self-test/benchmark code,lloyd2006-08-0912-19/+2
| | | | because it turns out to be something of a legal minefield.
* Add header guardslloyd2006-08-091-0/+5
|
* Enable testing the sizes of basic types in the test suite, and fix somelloyd2006-08-091-23/+7
| | | | minor compile errors and warnings that had crept into that code.
* Add a simple option parser to the check utility; it makes for much sanerlloyd2006-08-093-72/+171
| | | | | | | | | | code in check.cpp, and now the order of options on the command line should not change what heppens. The options taken have changed slightly. All options that take values are now --arg=value instead of "--arg value", and the various --bench-(blah) options have been turned into a new option --bench-type that takes an argument specifying the type of algorithm to benchmark.
* Use an object to prevent the leak of memory or the file descriptor iflloyd2006-08-091-19/+40
| | | | something goes wrong and an exception is thrown.
* If an exception is thrown anywhere inside Init::initialize, catch itlloyd2006-08-091-34/+39
| | | | | and force a deinitialization before throwing it further up the call stack.
* Remove memory leak - the configuration object was not being deleted.lloyd2006-08-091-0/+1
|
* Add an exception type specific for MemoryMapping_Allocator, simply to cutlloyd2006-08-091-9/+24
| | | | down on repeated strings a bit.
* Alter how buffering is performed in MDx_HashFunction:add_data; ratherlloyd2006-08-051-11/+19
| | | | | | | than always placing the first block into the temp buffer, we only copy the data into there if we have to (ie, if we have an incomplete block). So calling add_data with a block that is a multiple of the hash function's internal block size is entirely zero-copy.
* The two classes that used to need direct access to the SHA-1lloyd2006-08-051-3/+0
| | | | | internals (Gamma and FIPS_186_RNG) have both been removed, so there is no need to keep the friend declarations.
* Make it possible to insert Engines into the front of the queue;lloyd2006-08-052-4/+8
| | | | | | otherwise any Engines added after startup (eg, application-specific ones) would only be used for new algorithm - it wouldn't be possible for them to override existing implementations.
* The use_engines flag was not being respected; specifically, if therelloyd2006-08-052-5/+9
| | | | were any engines built into the library, they were used no matter what.
* Delete some old testing certslloyd2006-07-318-124/+2
|
* Move include of x509_ext.h to x509_ca.h, instead of using forwardlloyd2006-07-312-14/+10
| | | | | | | | declaration. Remove not_before and not_after variables, as they were only used once. Use the computed Key_Constraints value when signing a new certificate.
* Fix definition of OID 2.5.4.8; was accidentally changed by search-replacelloyd2006-07-311-1/+1
| | | | during cleanups of the initialization code.
* Very minor Python wrapper updateslloyd2006-07-312-46/+5
|
* Remove FIPS140::good_edc; it has never been used and probably will notlloyd2006-07-292-19/+0
| | | | be in the forseeable future.
* Change Builtin_Module constructor to take an InitializerOptionslloyd2006-07-283-18/+33
| | | | | | | | instead of just a boolean, so it can (if desired) examine any arguments it likes. Only run the startup self tests if the selftest or fips140 option is toggled on.
* Add a "selftest" option that allows the user to disable startup selftestslloyd2006-07-282-0/+9
|
* Remove unneccessary includeslloyd2006-07-281-2/+0
|
* Add two more constructors to AlgorithmIdentifier, which take alloyd2006-07-222-4/+41
| | | | | | Encoding_Option enum that can specify various options. Right now the only one supported/available is USE_NULL_PARAM, to set the parameters to a DER-encoded NULL object
* Drop the CMS readme, not really useful now that it is in-treelloyd2006-07-221-24/+0
|
* Some more fixes for cms_ealg.cpp (still doesn't compile)lloyd2006-07-171-11/+11
|
* Don't bail out of the rho computation until 2^32 tries, since thelloyd2006-07-161-3/+3
| | | | | | cycle size is based on the square root of the prime factors, bailing after 2^16 would mean we would be unlikely to find any factors larger than 32 bits.
* Have to (potentially) factor the result from the Rho computation, as itlloyd2006-07-161-4/+7
| | | | might be composite.
* Changelog updateslloyd2006-07-161-0/+5
|
* Move the declaration of a_factor outside the loop, and use a do looplloyd2006-07-161-4/+5
| | | | | instead of a while loop so it doesn't have to be initialized each time through.
* Remove some completely redundant code in factorize()lloyd2006-07-161-6/+1
|
* Break out after 2^16 tries, so we restart from a different random pointlloyd2006-07-161-4/+8
| | | | | | | | if we don't find a cycle fairly quickly. Use (x^2 + x) % n instead of (x^2 - 1) % n; it seems to be giving better (ie, faster) results, though to be honest I'm not sure exactly why this should be the case.
* Make factorize() iterative instead of recursive lloyd2006-07-161-22/+50
|
* Remove whitespace, add a slightly informative comment, etclloyd2006-07-161-2/+2
|
* Enable optimizations in the makefilelloyd2006-07-161-4/+2
|
* Extend the xor_ciph example to support longer keys, and update it tolloyd2006-07-161-18/+16
| | | | | use the new entry point for add_alias
* Remove a declaration for add_alias, which was removed at some pointlloyd2006-07-164-42/+47
| | | | | | | | | without the decl also being removed. Add an add_alias function to the Config class, just a simple wrapper around Config::set Change policy.cpp to use add_alias instead of set when setting an alias
* Remove a debugging print statementlloyd2006-07-161-4/+3
| | | | | Change the output to sort the factors, and use ':' instead of '=' so the output exactly matches that of the BSD 'factor' program.
* Add an example that performs factoring (using Pollard's Rho algorithm)lloyd2006-07-162-1/+115
|
* Add my personal encryption key to pgpkeys.asclloyd2006-07-161-27/+65
|
* Some API doc updates, mostly in the first few sections. Document the newlloyd2006-07-131-49/+51
| | | | | | | initializer options and techniques, reword some things for clarity, note the availability of an SSH library, and remove the remark that accessing the global state before initialization may crash, since this is no longer the case.
* Extend the language offered by InitializerOptions a bit, so thatlloyd2006-07-132-14/+46
| | | | | | boolean options can be explicitly turned off. Add support for checking the documented "fips140" argument
* Version bumplloyd2006-07-132-2/+2
|
* Remove a kind of useless title line from info.txtlloyd2006-07-131-1/+0
|
* Updated changelog1.5.9lloyd2006-07-121-1/+5
|
* Add a LibraryInitializer constructor taking a std::string, which simplylloyd2006-07-122-0/+10
| | | | calls the InitializerOptions constructor.
* Version bump to 1.5.9lloyd2006-07-082-2/+2
|
* Make Mutex_Factory an abstract class, move the creation of the no-oplloyd2006-07-073-3/+16
| | | | Default_Mutex to the new Default_Mutex_Factory
* Remove a line that should have been deleted in the last commit.lloyd2006-07-071-1/+0
|
* Have Library_State's constructor thrown an exception if thelloyd2006-07-072-10/+5
| | | | | | | | mutex_factory argument is NULL. Have Init::initialize() pass either a new Mutex_Factory (the default no-op version), or the result of modules.mutex_factory(), depending on the value of args.thread_safe()
* Respect the secure_memory config optionlloyd2006-07-023-1/+10
|
* Move InitializerOptions out of the Init namespacelloyd2006-07-023-19/+15
| | | | | Alter the initialization functions to take an InitializerOptions object instead of a std::string
* Add del_fun and delete2nd functions for running deleteslloyd2006-07-022-8/+26
| | | | Use for_each + the delete wrappers in libstate.cpp