aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Flatten out the mp directory since no alternative asm implemenationslloyd2011-04-256-13/+3
| | | | | | | for Montgomery or multiply/square currently exist and almost ceratainly won't be added during 1.10 Fix the name for Sun Studio in mp_asm64
* Rename AES_XXX_Intel to AES_XXX_NI, since AMD's Bulldozer will alsolloyd2011-04-254-33/+33
| | | | support AES-NI.
* Use STLport with Sun Studio by default on Linux. It is probably thelloyd2011-04-251-1/+1
| | | | | | | | | right thing for most modern distros, and if someone is using Sun CC on Linux they probably know if they don't want that. Record successful Sun Studio 5.10 build, also note that Clang 2.9 also seems to miscompile SSE2 IDEA. The Clang 2.9 build on FreeBSD did not have this failure, wonder what happened there.
* Rename all references of ia32 to x86-32 and amd64 to x86-64.lloyd2011-04-2248-193/+193
| | | | | | Back the reported version from 1.10.0 to 1.9.17 for the time being. Still on the fence if this will be 1.10.0 or another release candidate instead.
* Intel C++ doesn't seem to have an option for setting the soname, so itlloyd2011-04-221-1/+1
| | | | | | | | | | | | will default to the full output file name. That actually worked as expected when the so was always written as libbotan-1.8.2, but doesn't anymore since soname does not match the written file. This probably won't work right on Windows, but I don't have access to Intel C++ on Windows. Note good Intel C++ 11.1 build in build log Note that CPython 2.7 works for configuring the build
* Enable unix_procs for FreeBSD. It was disabled in 2006 to worklloyd2011-04-219-26/+24
| | | | | | | | | | | | | | | | | | | | | | | | around a bug in FreeBSD 6.1, which is long EOL. If we can't figure out the CPU in configure.py, if running verbosely dump the entire list of CPUs we know about. Some doc cleanups. Rename the 'beos' target to 'haiku', since testing shows that botan can't compile under the old BeOS GCC 2.95 anyway. Remove the call to idle_time in the stats entropy source - it causes a crash on Haiku R1-alpha2 somewhere inside a system DLL. I didn't bother debugging it beyond looking at the backtrace. Add a 'bepc' alias for i386 as that is what Haiku reports its processor as. Fix the install dirs to match Haiku R1, though apparently they will change in R2 anyway when they add package management. Enable use of gmtime_r on Haiku.
* It's likely that other FPE methods will be desirable once they arelloyd2011-04-203-9/+17
| | | | | | | standardized by NIST; the FPE currently included is just a random one that was relatively easy to implement. Move the header to fpe_fe1.h, and rename the function. Update the example and add some documentation for it.
* Add a --no-autoload examplelloyd2011-04-191-0/+4
| | | | | | Add missing dependency in the SIMD engine that would cause build failures when using --no-autoload and explicitly requesting a SIMD algorithm like aes_ssse3 using --enable-modules.
* 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.