aboutsummaryrefslogtreecommitdiffstats
path: root/src/mac/ssl3mac
Commit message (Collapse)AuthorAgeFilesLines
* Resize key arrays in HMAC and SSL3_MAC when the key is set.lloyd2012-05-251-9/+10
| | | | Plus a few minor cleanups.
* Fairly huge update that replaces the old secmem types with std::vectorlloyd2012-05-181-1/+1
| | | | | | using a custom allocator. Currently our allocator just does new/delete with a memset before deletion, and the mmap and mlock allocators have been removed.
* Remove all uses of MemoryRegion::copy outside of internal uses inlloyd2012-05-181-2/+3
| | | | secmem.h. Mostly replaced by assign or copy_mem.
* Remove BufferedComputation::OUTPUT_LENGTHlloyd2010-10-292-4/+4
|
* Eliminate the constant size_t values in SymmetricAlgorithm that givelloyd2010-10-282-3/+8
| | | | | | | | | | | | | | | | | | | the parameters of the key length. Instead define a new function which returns a simple object which contains this information. This definitely breaks backwards compatability, though only with code that directly manipulates low level objects like BlockCipher*s directly, which is probably relatively rare. Also remove some deprecated accessor functions from lookup.h. It turns out block_size_of and output_size_of are being used in the TLS code; I need to remove them from there before I can delete these entirely. Really that didn't make much sense, because they assumed all implementations of a particular algorithm will have the same specifications, which is definitely not necessarily true, especially WRT key length. It is much safer (and probably simpler) to first retrieve an instance of the actual object you are going to use and then ask it directly.
* Remove most uses of HASH_BLOCK_SIZElloyd2010-10-131-2/+2
|
* Use output_length() instead of OUTPUT_LENGTH pseudo-propertylloyd2010-10-131-3/+3
|
* Use size_t rather than u32bit in SymmetricAlgorithmlloyd2010-10-132-2/+2
|
* Use size_t for BufferedComputation::add_datalloyd2010-10-122-3/+3
|
* Big, invasive but mostly automated change, with a further attempt atlloyd2010-09-071-2/+2
| | | | | | | | | | | | | | harmonising MemoryRegion with std::vector: The MemoryRegion::clear() function would zeroise the buffer, but keep the memory allocated and the size unchanged. This is very different from STL's clear(), which is basically the equivalent to what is called destroy() in MemoryRegion. So to be able to replace MemoryRegion with a std::vector, we have to rename destroy() to clear() and we have to expose the current functionality of clear() in some other way, since vector doesn't support this operation. Do so by adding a global function named zeroise() which takes a MemoryRegion which is zeroed. Remove clear() to ensure all callers are updated.
* More Doxygen commentslloyd2010-06-161-1/+4
|
* More Doxygen updates/fixeslloyd2010-06-151-2/+2
|
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-161-7/+0
|
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-171-2/+2
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* 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.
* Remove all exception specifications. The way these are designed in C++ islloyd2009-10-222-2/+2
| | | | | | just too fragile and not that useful. Something like Java's checked exceptions might be nice, but simply killing the process entirely if an unexpected exception is thrown is not exactly useful for something trying to be robust.
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-151-0/+4
| | | | | | 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-302-32/+36
| | | | | | | | | | | | | | | 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).
* Rename SymmetricAlgorithm::key to key_schedule to avoid many namelloyd2008-11-092-2/+2
| | | | conflicts/collisions
* Move declaration of MessageAuthenticationCode base class to mac.h (from base.h)lloyd2008-11-081-0/+1
|
* Move the declaration of the HashFunction base class to a new header hash.hlloyd2008-11-081-1/+1
| | | | (from base.h)
* Add BOTAN_DLL macro to public class definitions that were missing it.lloyd2008-10-091-1/+1
|
* Remove lookup.h from X9.31 PRNG, X9.19 MAC, SSLv3 MAC, PBKDF1lloyd2008-09-302-9/+11
|
* 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.
* Move all modules into src/ directorylloyd2008-09-283-0/+132