aboutsummaryrefslogtreecommitdiffstats
path: root/src/codec/hex/hex.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Plain hex_decode now returns a std::vector, use hex_decode_locked tolloyd2012-05-261-5/+26
| | | | get a secure_vector.
* Fairly huge update that replaces the old secmem types with std::vectorlloyd2012-05-181-9/+3
| | | | | | 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.
* Calling &str[str.size()] is only valid if str is const; otherwise thelloyd2011-04-291-4/+5
| | | | | | | | | | | | | | results are undefined. This happens to work under GCC and most other compilers, but does not under Visual C++ 2010. This broke hex_encode when encoding an empty input, and this subsequently broke SSL handshaking. 2010 includes a TR1 that works fine for SSL, but it puts the headers in the main header space rather than under tr1/, so account for that. Hack the socket header into working under WinSock Tick version to 1.10.0
* Maintainer mode warning cleanups, mostly for C style casts which Illoyd2011-04-181-1/+1
| | | | added to the flags here.
* s/u32bit/size_t/ in codec and benchmarklloyd2010-10-121-15/+15
|
* 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-231-0/+8
|
* 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-031-0/+180
| | | | | | | | 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.
* Move most code that relies heavily on Filters into src/filters.lloyd2009-11-171-193/+0
| | | | | | 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-171-6/+6
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* 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.
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-301-43/+45
| | | | | | | | | | | | | | | 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).
* Split base.h into block_cipher.h and stream_cipher.hlloyd2008-11-081-0/+1
| | | | | | 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.
* Move almost all of the ASN.1, BER, and DER codec related code into newlloyd2008-09-281-0/+188
module asn1 Move hex and base64 codecs into new codecs directory. Also move zlib and bzip2 to codecs from compress.