aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Maintainer mode warning cleanups, mostly for C style casts which Illoyd2011-04-1815-58/+77
| | | | added to the flags here.
* My workaround for gcc pr 44174 caused cpuid support to be silentlylloyd2011-04-183-6/+12
| | | | | | | disabled under gcc. Hide asm labels in the x86-32 code; some did not begin with a .L so they were being exported.
* Integrate building docs using Sphinx and Doxygen into the makefilelloyd2011-04-184-86/+45
| | | | | | | | | | | | | proper. Enabled using --use-sphinx and --use-doxygen options, both of which default to false. If Sphinx isn't enabled, the ReST sources are copied directly (a case where having a very readable source format comes in handy...) The reference manual (either Sphinx processed into HTML, or the raw source) and the Doxygen output (if enabled) are copied into the doc directory upon install on Unix. Currently not done on Windows, the install target is fairly bogus there currently, and hasn't been tested in some time.
* Fix location of online docs in readmelloyd2011-04-153-23/+15
| | | | | | | | | | Some fixes for the Windows installer config Remove the SIMD rotate overloads; VC 2010 does not like passing a __m128i by value, which is required to match the template overload for the regular rotates. Could change it to a const reference, but I would worry this would inhibit compiler optimizations. Only used in one place (Noekeon), so just use the long expressions there.
* One minor fix for QNX 6.4.1 (Python identifies CPU as 'x86pc'), andlloyd2011-04-153-2/+8
| | | | | add support for features that it has that apparently the last version I tested did not, including dynamic loading.
* Tick version numbers to 1.10.0lloyd2011-04-141-1/+1
| | | | | | | | | | | | | | More documentation updates. The clean target wasn't removing one of the symlinks. In the self-test application, warn if the version we are linked against does not match the version we were built against. This always indicates a problem. Someone who had an older version installed on their system got very confused when the test app was linked against it at runtime; this warning would have saved a couple hours of puzzling by me. This would also have helped avoid the nasty bug in 1.8.3
* Make the alg_id param for passhash9 optional. Update callers.lloyd2011-04-112-23/+4
|
* I think this fixes the soname stufflloyd2011-04-111-3/+2
|
* ECC private keys had two different constructors, one taking a grouplloyd2011-04-0814-92/+79
| | | | | | | | | | | | | | | | and a random number generator, and the other taking a group and a preset private key value. The DL private keys instead have on constructor for this; if the x value is zero, then a new random key is created. For consistency, do this with ECC as well. ECDH actually didn't have one of these constructors, forcing you to either load from PKCS #8 or else use a random key. Rename EC_Domain_Params to EC_Group, with a typedef for compatability. More doc updates. Update mtn ignores for Sphinx output
* In X509_Certificate::to_string, don't print key ids if emptylloyd2011-04-062-3/+7
| | | | | | Reduce size of serial numbers of new certs from 256 to 128 bits; 2**64 certs is _probably_ sufficient, given that it would take hundreds of exabytes of storage to hold that many certificates. :)
* Call GCC's __get_cpuid macro from a function marked noinline to worklloyd2011-04-061-2/+9
| | | | | around a bug in GCC 4.[456] that prevents compilation when using optimization and PIC on 32-bit x86.
* I belive this check in fixes PR 113 by making shared library sonameslloyd2011-04-062-4/+5
| | | | match the norman Unix conventions.
* PR 145 was based around an easy misunderstanding of the CTR code.lloyd2011-04-051-10/+16
| | | | | | Add some comments to help explain what is going on. Also add a test using 512 blocks; all the existing ones were shorter, so increment was not being tested at all. :(
* Remove the socket wrapper code, as the SSL interface itselflloyd2011-04-055-335/+0
| | | | doesn't actually care. Move it to examples/socket.h
* Convert most of the documentation to reStructured Text, addinglloyd2011-04-045-0/+13
| | | | | | | | | | | | | | | | | | | a makefile to build it with Sphinx (http://sphinx.pocoo.org/). Previously credits.txt listed public domain code sources; instead directly credit the authors in the relevant files and delete that file. Drop the draft FIPS 140 security policy; I can't imagine FIPS 140 validation will ever happen, and if it does, I don't want anything to do with it. Also drop the internals doc, which was so out of date (and incomplete) as to be worthless. Move the tutorials and InSiTo pdfs into old/ for the time being, until anything relevant from them can be filtered out and converted into RST.
* These should be precisely 32 bitslloyd2011-04-041-2/+2
|
* Add back min_keylength_of, max_keylength_of, keylength_multiple_oflloyd2011-03-212-0/+87
| | | | functions for backwards compatability.
* Disable the by default strong key checking on loading a privatelloyd2011-03-211-1/+1
| | | | | | key. This slowed down loading private keys somewhat dramatically. Most people don't care, but both groups using botan for DNSSEC has performance problems due to it.
* Indentlloyd2011-03-211-6/+6
|
* Print a warning when SSL is enabled, as it is new and mostlylloyd2011-03-211-0/+5
| | | | | unreviewed/untested at this point. Add support for a <comment> tag for this.
* Prefer GCC builtin except on ARM, add comment as to whylloyd2011-03-141-6/+11
|
* Assume ARMs are little-endian by default; big-endian ARM seems to be a rarity.lloyd2011-03-142-20/+36
| | | | | | GCC 4.3 on ARM converts __builtin_bswap32 into a jump into libgcc rather than 4 simple instructions, so write it out using inline asm instead.
* Use the same mesasge expansion trick in SHA-512. Performance onlloyd2011-03-132-119/+121
| | | | an i7-860 goes from 197 MiB/s to 256 - a 30% improvement!
* Modify SHA-224/SHA-256 so that it does the message expansion inlloyd2011-03-122-107/+101
| | | | | | registers as needed (16 turns before the value is used), with indexes fully precomputed. On a Core i7-860 with GCC 4.5.2, performance went from 152 MiB/s to 167 MiB/s.
* Somewhat improved ARM support/autodetectionlloyd2011-03-092-18/+27
|
* Tick to 1.9.15-devlloyd2011-03-071-1/+1
|
* Split up deleting empty buffers with removing buffer slots from thelloyd2011-03-071-9/+10
| | | | | | deque. This allows removing empty queues even if there are earlier messages with outstanding data; the buffer slot remains so some memory is still used, but reduced to just the pointer.
* Fix variable mask warning in Sun C++.lloyd2011-03-012-5/+7
| | | | Make comment clearer on how to enable stlport4 in Sun C++
* Fix PR 142: the zlib filters were not updated in 1.9.11 to use zeroiselloyd2011-02-182-15/+25
| | | | | | | | instead of clear, so the buffer ended up having size zero, which meant the compression library could never actually do anything, and we would infinite loop. Also add buffer clearing to bzip2, which was missing it entirely.
* Move password hashing schemes to src/passhashlloyd2011-02-177-2/+7
| | | | | Set the upper limit on bcrypt hashing to workfactor 18, which takes about 25 seconds to run on my desktop machine.
* Add support for bcrypt, the Blowfish-based password hashing schemelloyd2011-02-165-7/+264
| | | | | used in OpenBSD. Tested as compatible with a common Java implementation (http://www.mindrot.org/projects/jBCrypt/)
* Use size_t rather than u32bit for loop variableslloyd2011-02-164-20/+20
|
* Forward declare Algorithm_Factorylloyd2011-02-162-1/+3
|
* Add the NIST AES key wrap algorithm, as specified in RFC 3394 andlloyd2011-02-153-0/+166
| | | | http://csrc.nist.gov/groups/ST/toolkit/documents/kms/key-wrap.pdf
* Const variables where possiblelloyd2011-02-141-5/+5
|
* Add HMAC, AES, SHA-2, HMAC_RNG deps in libstate for the globallloyd2011-02-111-0/+5
| | | | | | RNG. Pretty much required outside of very special cases, and otherwise someone using --no-autoload will have to know to enable them specifically or lots of things will break.
* Some dependency fixeslloyd2011-02-114-2/+6
|
* Remove inclusions of unused headers.lloyd2011-02-106-11/+7
| | | | Avoid using auto_ptr in the CVC headers.
* Pull out variable, causes link problems in amalgamationlloyd2011-02-092-3/+3
|
* More VC warning fixeslloyd2011-02-092-3/+5
|
* More VC warning fixeslloyd2011-02-094-6/+6
|
* Convert the BER/DER coders to use size_t instead of u32bit for smalllloyd2011-02-0926-60/+58
| | | | integer values. Update callers.
* Another castlloyd2011-02-091-1/+1
|
* Some casts to avoid VC warningslloyd2011-02-092-7/+7
|
* Some cleanups, and add an <ios> include for Sun Studio 12lloyd2011-02-093-42/+49
|
* Add a new configure.py option --distribution-info which sets a macrolloyd2011-02-073-11/+27
| | | | | | | | | | | | | | | | | | | | | | | in build.h named BOTAN_DISTRIBUTION_INFO. The default value is 'unspecified'. People packaging botan could set this to another value, for instance 'Gentoo 1.9.13-r3' or 'Debian 1.9.13-1', or 'pristine' to indicate a completely unmodified/stock version. This was suggested by Zooko for Crypto++ in http://sourceforge.net/apps/trac/cryptopp/ticket/11 and seemed like an idea worth stealing. Don't default the version datestmap to the current day if unset, instead set to zero. This allows applications to detect unreleased versions. Document that version_datestamp will return zero for unreleased versions. Change the version_string function to return more information about the current version, including the release date and distribution information. It will now return strings like: Botan 1.9.13 (released 20110207, distribution Gentoo 1.9.13-r3) or for an unreleased version: Botan 1.9.13 (unreleased version, distribution unspecified)
* Fix the ordering of the GOST 34.10 signature values. Add a testlloyd2011-02-071-4/+4
| | | | | | | | | derived from a DNSSEC RFC. Bug reported by Bert Hubert to the mailing list. According to Bert, this ordering is compatible with the version included in OpenSSL. Also, benchmark GOST 34.10 using the GOST 34.11 hash since that is always what it is used with.
* Remove friend decl of now dead functionlloyd2011-02-071-2/+0
|
* Use constlloyd2011-01-311-4/+4
|
* According to PR 137, cpuid.h doesn't exist with Clang on OS X orlloyd2011-01-211-1/+1
| | | | | | | | FreeBSD. It is not being installed by Clang, so it appears on my machine Clang is actually pulling the header in from GCC's private include directory. Closes PR 137