aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add startup selftests for SHA-256 and HMAC(SHA-256)lloyd2007-03-041-0/+18
|
* Introduce a class Seed which represents the domain parameter seed, ratherlloyd2007-03-041-15/+30
| | | | than using an unadorned buffer with the increment() function.
* Use prefix rather than postfix increment in places where it can be used.lloyd2007-03-034-6/+6
|
* Alter one of the constructors of DL_Group to take a parameter specifyinglloyd2007-03-032-36/+56
| | | | | | | | | how big q should be. Add FIPS 186-3 DSA parameter generation, this allows for generating larger (2048 and 3072 bit) DSA keys. At this time there do not seem to be official test vectors for 186-3, and I have not checked against other implementations. Tests will be constructed using the latest OpenSSL snapshot.
* BigInt::operator[] now guards against accesses that are larger than thelloyd2007-03-031-0/+17
| | | | current register size; reads return 0, writes extend the buffer.
* Add a version of BigInt::binary_decode taking a MemoryRegion of byteslloyd2007-03-011-0/+8
|
* Inline the round functions of RC2. This is about 15% faster on my machine,lloyd2007-03-011-52/+48
| | | | and actually reduced the total line count.
* merge of '8d39383f5142c3a42ccef1b06333f5aef24e998f'lloyd2007-03-012-15/+8
|\ | | | | | | and 'e5ca819cb65b0c124d3ca9538d2e8bc0faa8ecb0'
| * propagate from branch 'net.randombit.botan.stable' (head ↵lloyd2007-02-282-15/+8
| |\ | | | | | | | | | | | | | | | fd0242cd1f44b6d9d0e526c778860fcded174d62) to branch 'net.randombit.botan' (head 8a5aa356cb3aab0af22b09f51bfa5540fe890bdf)
| | * Include <iterator> into x509_ca.cpp for std::back_inserterlloyd2007-02-281-0/+1
| | |
| | * Remove a call to abort() in global_state() which was triggered if nolloyd2007-02-281-3/+0
| | | | | | | | | | | | | | | global state pointer was set. Presumably I put that there for debugging at some point and let it escape.
| | * Minor cleanup of the PKCS8_extract function.lloyd2007-01-281-14/+8
| | |
* | | Split DSA parameter generation into src/dsa_gen.cpp, and make the functionslloyd2007-03-012-96/+112
|/ / | | | | | | | | | | members of DL_Group (the only place they were called within the source, and outside of some rather esoteric things probably the only place you would ever need it).
* | Include the iterator header for std::back_inserter. Noticed whenlloyd2007-02-161-0/+1
| | | | | | | | compiling under the Dinkumware libraries.
* | Clean up the definition of PKCS8_extract, though really this whole filelloyd2007-02-151-5/+4
| | | | | | | | needs to be rewritten.
* | Improve readability slightly in the code handling CRL decoding.lloyd2007-02-151-5/+3
| |
* | propagate from branch 'net.randombit.botan.stable' (head ↵lloyd2007-01-201-1/+2
|\ \ | |/ |/| | | | | | | 0f5f960e749e55bc7b457b944ec168184353c300) to branch 'net.randombit.botan' (head 260d11a3da24886b3812b396413e6be768160d75)
| * Remove an include of assert.hlloyd2006-12-201-3/+2
| | | | | | | | | | When searching for last used, put the pointer into a Memory_Block first. That avoids a bug in Visual Studio.
| * Some minor efficiency gains in the memory allocator.lloyd2006-12-191-22/+16
| |
* | Bump copyright year to 2007lloyd2007-01-20207-207/+207
| |
* | Add a new parameter to the Base64_Encoder to specify that a trailinglloyd2007-01-201-3/+3
| | | | | | | | | | | | newline should always be added, even if the output would normally fit entirely on the current line. Monotone needs this for compatability with the Crypto++ implementation of base64.
* | Increase the maximum keylength of ARC4 to 256 bytes for Monotone.lloyd2007-01-201-1/+1
| |
* | Fix two bugs reported by Zack Weinberg in Base64_Decoderlloyd2007-01-081-2/+4
| |
* | Work around some strange Visual Studio bugs that popped up when compilinglloyd2007-01-081-22/+14
| | | | | | | | mem_pool.cpp with debug enabled.
* | The copy constructor of BER_Decoder was not copying other.parent; thislloyd2006-12-271-1/+1
|/ | | | | was causing failures on compilers that do not implement named return value optimization.
* Rename the mp_muladd source files to mp_muloplloyd2006-12-151-0/+0
|
* Rename certstore.cpp to certstor.cpp, both to match the header and to putlloyd2006-12-151-0/+0
| | | | it into an 8.3 format
* Move the UI pulse functions into the global library state. That is (as bestlloyd2006-12-145-44/+37
| | | | | as I can tell) the last of the global data, with the exception of the single global_lib_state pointer in libstate.cpp
* Use set_option in policy.cpplloyd2006-12-141-40/+40
|
* Add a new set_option member function to Configlloyd2006-12-141-0/+8
|
* Remove needless try/catch blocklloyd2006-12-141-10/+2
|
* Remove a dependency on x509cert.h from x509_ext.cpp by moving the definitionlloyd2006-12-121-1/+0
| | | | of NO_CERT_PATH_LIMIT to enums.h
* Allow the creation of 48 bit primeslloyd2006-12-081-1/+1
|
* Catch Encoding_Error in the keypair consistency check when we generate thelloyd2006-09-301-1/+9
| | | | signature; if we catch it, skip the rest of the tests.
* Throw Encoding_Error instead of Invalid_Argument if a signature encodinglloyd2006-09-304-8/+8
| | | | | operation fails for some reason (typically parameters that the scheme can't handle).
* In the keypair consistency check for encryption/decryption keys, a keylloyd2006-09-301-0/+3
| | | | | that was very small (with max_input_size() == 0) would underflow and cause an attempted allocation of a 4 gigabyte input string.
* Move the KDF base class code into kdf.cpp; this prevents the pk_util.cpplloyd2006-09-262-54/+54
| | | | object code from being linked in when a user just wants to use a PRF
* Simplify the initial RNG seeding operationlloyd2006-09-212-19/+7
|
* Do not allocate a block of memory in Pooling_Allocator::init(); this waslloyd2006-09-201-10/+0
| | | | | | | causing allocators that were never used to allocate (and thus, later deallocate) memory. This was causing a noticable slowdown when the mmap based allocator was in used (based on the strace output, this was mostly due to the calls to msync).
* Make the initialization/deinitialization functions static members oflloyd2006-09-201-21/+17
| | | | | | | the LibraryInitializer class, rather than global functions floating around inside the Init namespace. Allow callers to provide an alternative Modules object.
* The public add_engine API now always places the new engine at the frontlloyd2006-09-201-9/+8
| | | | | of the list. The only time when the other behavior was desired was inside the load() function, which now simply appends to the engines vector itself.
* Make the implementation of the round function a bit easier to read.lloyd2006-09-201-6/+12
|
* When searching the block list, first try the last block we had a goodlloyd2006-09-111-4/+4
| | | | | | | | allocation from, rather than the block after that one. This helps the pathalogical case where there are many full blocks and some free blocks at the very end of the list (as then it would loop through each one, trying and failing to allocate from an already full block until it hit the end of the list again).
* Correctly deal with allocators added post-initialization. In particular,lloyd2006-09-114-48/+40
| | | | | | | | | | handle the case where an allocator is added that has the same name as one already registered. Flush the cached allocator pointer when the default is changed. Mark comparison operations in Pooling_Allocator::Memory_Block as inline; this seems to help the STL sort and binary search algorithms tremendously.
* Remove a useless wrapper function.lloyd2006-09-101-17/+6
|
* Completely rewrite how the default X509_Store searches are performed,lloyd2006-09-101-86/+41
| | | | | | exposing the actual search objects to the user rather than wrapping them in functions. Primarily this is to avoid the Visual Studio bug alluded to in the last commit.
* Hack around some Visual Studio bugs that I can't seem to find good solutionslloyd2006-09-104-16/+35
| | | | for.
* Add parenthesis to make the order of evaluation in an expression more obviouslloyd2006-09-091-1/+1
|
* Add a couple of static_casts to make it clear where a type conversion islloyd2006-09-084-13/+15
| | | | | | | | | being performed. Undefined the prototype creating macro in x509stat.cpp after use. Avoid a possible type conversion in bigint_divop by storing high's top bit in a word instead of a bool.
* Return the correct type from Basic_Constraints::get_path_limit (was coercinglloyd2006-09-081-1/+1
| | | | the path limit integer to a boolean)