aboutsummaryrefslogtreecommitdiffstats
path: root/src/codec
Commit message (Collapse)AuthorAgeFilesLines
* Handle memory overwrite if hex input was not byte widelloyd2010-10-011-1/+1
|
* Add a convenience overload of hex_encode taking a MemoryRegion<byte>&lloyd2010-09-232-0/+17
|
* More changes to avoid vector to pointer implicit conversionslloyd2010-09-141-2/+2
|
* Realization while thinking about the recently added truncate: in a STLlloyd2010-09-071-1/+1
| | | | | | | | | | | | | | | | | | container like vector, truncate is simply resize, but what MemoryRegion called resize will zap the entire contents, and then what was resize was called grow_to. This is really problematic in terms of the goal of replacing MemoryRegion with a vector with a custom allocator. In this checkin: - Remove MemoryRegion::grow_to and MemoryRegion::truncate - Change the semantics of MemoryRegion::resize to change the size while keeping any current contents intact (up to the new size), zero initializing any new values. Unrelated, just noticed the lack while I was in there, add a version of CryptoBox::decrypt taking a std::string for the input.
* Add a standalone version of hex encoding and decoding, defining the filterslloyd2010-09-033-0/+289
| | | | | | | | in terms of these calls. The header for the hex filter is renamed hex_filt.h. This probably won't affect people because filters.h (included by botan.h) already included hex.h, and now just includes hex_filt.h instead.
* Remove some of the more extraneous namespaceslloyd2010-06-162-27/+52
|
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-161-7/+0
|
* Move most code that relies heavily on Filters into src/filters.lloyd2009-11-1717-1456/+4
| | | | | | Remove support for (unused) modset settings. Move tss, fpe, cryptobox, and aont to new dir constructs
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-172-10/+10
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Kill straggling realnameslloyd2009-10-291-2/+0
|
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-296-10/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* Increase the internal buffer size of the Hex coder/decoder, and put it intolloyd2009-10-231-3/+5
| | | | | | | | | | | | | | a named constant instead of being magic. Move from 64 bytes to 256. This was necessary to allow Pipe(new Hex_Decoder, filter, ...) to give filter a sufficiently large input block. It would be nicer if the filter itself (in this case, ECB_Decryption, but others apply as well) was smart enough to buffer on its own. It might also be useful if code could query what parallelism a block cipher provided and modify their actions accordingly.
* Modify Keyed_Filter so it is a pure interfacelloyd2009-08-111-0/+1
| | | | | | | | | | Modify ECB to use parallel encryption/decryption where possible Add toggles in build.h specifying how many blocks to process in parallel. Defaults to 8 blocks for all modes, which is sufficient that any likely parallelism can be extracted (via SIMD or concurrent execution) but not so much as to seem likely to cause cache problems (8*128 bits = 128 bytes, or two x86 cache lines)
* Fix various auto generated dependencies that were wronglloyd2009-07-171-0/+1
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-156-18/+16
| | | | | | 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-3014-287/+315
| | | | | | | | | | | | | | | 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).
* Have Algorithm_Factory::make_hash_function throw an exception if it can'tlloyd2008-11-102-2/+4
| | | | | | find an object to clone. Add a new constructor to Hash_Filter taking a HashFunction*
* Split the last parts of the 'core' modulelloyd2008-11-082-2/+0
| | | | Add some missing info.txts
* Split base.h into block_cipher.h and stream_cipher.hlloyd2008-11-084-0/+6
| | | | | | It turned out many files were including base.h merely to get other includes (like types.h, secmem.h, and exceptn.h). Those have been changed to directly include the files containing the declarations that code needs.
* Doxygen comments for base64 and hex from InSiTolloyd2008-10-132-23/+81
|
* Add BOTAN_DLL macro to public class definitions that were missing it.lloyd2008-10-092-4/+4
|
* Document dependencies between moduleslloyd2008-10-014-0/+16
|
* Fix loading issueslloyd2008-09-291-0/+2
|
* Rename all modinfo.txt files to info.txt, since they are all (none) oflloyd2008-09-296-0/+0
| | | | | them modules now. In any case there is no distinction so info.txt seems better.
* New filters module. Add deps for it in some needed areas (codec, pbes)lloyd2008-09-282-0/+2
|
* Add modinfo for pem, hash_id, selftest moduleslloyd2008-09-281-0/+14
|
* PEM codec modulelloyd2008-09-283-0/+178
|
* Put OpenPGP codec routines into codec/openpgp modulelloyd2008-09-283-0/+234
|
* Move all BigInt stuff into bigint/. Currently all asm modules are disabled;lloyd2008-09-284-0/+93
| | | | | | | | | configure.pl doesn't understand how to handle this yet (replace logic only understands stuff in src, not how one module can replace another modules src, or anything about prioritizing). Move some hex and base64 stuff out of charset.cpp and into their codec directories.
* Move almost all of the ASN.1, BER, and DER codec related code into newlloyd2008-09-2812-0/+1262
module asn1 Move hex and base64 codecs into new codecs directory. Also move zlib and bzip2 to codecs from compress.