aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Include generic mp_asmi.h for MSVClloyd2010-06-113-1/+3
| | | | | | | Don't use /EHc; it says "C" functions are nothrow, which is not true for bigint_sub2_rev. Include needed <intrin.h> for mp_asm.h
* Have to add it as explicit dep in bigintlloyd2010-06-111-1/+1
|
* Add (untested) support for VC++'s _umul128 intrinsic, which apparentlylloyd2010-06-112-0/+76
| | | | works on both x86-64 and ia64. Will allow using 64-bit limbs on Windows.
* For 64-bit InnoSetuplloyd2010-06-101-1/+5
|
* Improvments to the build instructions:lloyd2010-06-101-25/+38
| | | | | | | | | | | | | | | | | | Note that if you want to use Python 3, you have to use 2to3. This has come up a couple of times on the list. Add make check to the 'for the impatient' instructions. Mention --no-autoload. Said that we would guess the compiler; this isn't true with the Python version. Add examples of using ICC and Clang. Note that prebuilt Windows binaries are sometimes available. Talk about make install for Windows. Fix version #s in pkg-config output.
* Add a simple Windows install targetlloyd2010-06-101-5/+3
|
* Fix comparison to use IVs with a hypothetical negotiated TLS that useslloyd2010-06-092-2/+2
| | | | a larger major version #.
* merge of '0ab1e77862bca53dec5ac1f2f9dbe994378e91f7'lloyd2010-06-081-2/+4
|\ | | | | | | and 'b9e4e0dcc98d3266c2d7e4fd631038babdfd933b'
| * In BigInt::bits, cache sig_words() result instead of calling twicelloyd2010-06-071-2/+4
| |
* | Exclude Python/Perl wrappers from Doxygen outputlloyd2010-06-071-1/+1
| |
* | Make Filter::new_msg and finish_msg private; only used by Pipe, which is a ↵lloyd2010-06-071-12/+13
| | | | | | | | friend
* | Add Doxygen header comments for XTS modeslloyd2010-06-071-4/+4
| |
* | Fix buildlloyd2010-06-071-0/+1
| |
* | Use "/*" instead of "/**" in starting comments at the begining of a file.lloyd2010-06-0785-97/+96
|/ | | | | This caused Doxygen to think this was markup meant for it, which really caused some clutter in the namespace page.
* Small cleanupslloyd2010-06-021-9/+8
|
* Document fixing 512/768 bit DL groups via DSA kosherizerlloyd2010-06-021-0/+1
|
* Show inherited members; makes Doxygen output much more sensiblelloyd2010-06-021-1/+1
|
* Add constructor and destructor for pipe_wrapper to handle init and closelloyd2010-06-021-5/+5
|
* Put PKCS hash ids in anon namespacelloyd2010-06-021-21/+22
|
* OpenBSD doesn't have MSG_NOSIGNAL; you need to set up a signal handlerlloyd2010-06-011-1/+0
| | | | | | | | to catch SIGPIPE instead. Simply avoid building the unix_socket module there. Yet another reason to move to a fully async/event-based interface that doesn't interact with sockets directly.
* If you didn't specify a qbits for the DSA kosherizer, then it wouldlloyd2010-05-281-19/+20
| | | | | | choose 256 bits unless the pbits was exactly 1024. That would mean you for pbits = 512/768, the FIPS 186-3 size check would fail and it wouldn't work. Pointed out by Rickard Bellgrim.
* Hid --enable-isa and instead expose --enable-{sse2,ssse3,aes-ni,altivec}lloyd2010-05-262-10/+10
| | | | | | | | | | | | in the help. Unfortunately we can't just remove --enable-isa, because for the callback to work the target list has to already exist, and it only does by virtue of the default=[] param to the enable-isa setup. We could just use append_const, except then we can't run on Python 2.4, and the latest release of RHEL only has 2.4 :( Rename aes_ni to aes-ni in configuration-speak
* Forming TARGET_ARCH, filter characters as with TARGET_CPU, otherwiselloyd2010-05-261-2/+3
| | | | bogus macros will result if there is a dash in the arch name (eg HITACHI-SH)
* Remove FORK-256; it's obscure and has been definitively broken.lloyd2010-05-259-1136/+2
| | | | | More commentary posted to the list: http://lists.randombit.net/pipermail/botan-devel/2010-May/001123.html
* Change BlockCipher::parallelism() to return the native parallelism oflloyd2010-05-2511-27/+31
| | | | | | | | | | | | | | | | | | | | the implementation rather than the preferred one. Update all implementations. Add a new function parallel_bytes() which returns parallelism() * BLOCK_SIZE * BUILD_TIME_CONSTANT This is because i noticed all current calls of parallelism() just multiplied the result by the block size already, so this simplified that code. The build time constant is set to 4, which was the previous default return value of parallelism(). However the SIMD versions returned 2*native paralellism rather than 4*, so this increases the buffer sizes used for those algorithms. The constant multiple lives in buildh.in and build.h, and is named BOTAN_BLOCK_CIPHER_PAR_MULT.
* Add a couple of small patches from Thomas Capricelli <[email protected]>lloyd2010-05-213-14/+27
| | | | that enable botan to be built under the clang C++ compiler.
* Use -dumpversion instead of -v for detecting the GCC version. Thislloyd2010-05-201-7/+8
| | | | | | | | | | | | work at least as far back as 3.2.3. And GCC's manual for -dumpversion says "Print the compiler version (for example, `3.0')", which suggests it works at least that far back, which is good enough (almost certainly GCC 2.95 can't compile botan, in any case). Also print the detected version. Make an error (being unable to executed GCC) a warning instead of a info message.
* Replace print to stderr with logging.error call on unhandled exception.lloyd2010-05-201-1/+1
| | | | This should work with both Python 2 and Python 3.
* merge of '540ae85af1cc9245c325ef716fcc5c5b334251d0'lloyd2010-05-1922-84/+60
|\ | | | | | | and 'ce3d40d9f2e90346189ca6dfed2a1f38804d5c10'
| * Note other changeslloyd2010-05-191-0/+3
| |
| * Add a build.h macro BOTAN_GCC_VERSION which is set to major*100+minor*10+patchlloyd2010-05-132-2/+10
| | | | | | | | | | | | | | | | if we are compiling under GCC, or 0 otherwise. Use it in cpuid.cpp for use of GCC's cpuid.h header file. If we don't have a method of calling cpuid, print a warning.
| * Remove the old (unused) <supports_shared> config block. It specifiedlloyd2010-05-1318-70/+19
| | | | | | | | | | | | | | which architectures the OS supported shared libs on; in all cases it was either all or none. Replace with new config build_shared [yes|no], which defaults to yes but is set to no for MinGW and Cygwin since shared libs don't seem to be working well there.
| * Partially protect OAEP decoding against a timing attack. Possibilitylloyd2010-05-121-12/+28
| | | | | | | | | | | | | | | | of this pointed out by Falko Strenzke. The timing differences between different error conditions could lead to attacks even with the same error message. Instead use a (mostly) straightline implementation. However scanning for the delim byte is still timing/input dependenant, so this is not a 100% fix.
* | On Windows, configure would default to VC++ pretty much blindly. Addlloyd2010-05-111-1/+25
| | | | | | | | | | | | | | a patch from Zbigniew Zagorski ([email protected]) that checks for cl.exe or g++.exe in the path; if cl.exe is found, use that, otherwise if g++.exe is found, use that, otherwise default to VC++ (previous behavior).
* | Use memcpy to copy gethostbyname's result to the socket info structlloyd2010-05-101-0/+5
| | | | | | | | | | instead of doing cast+assign - GCC on SPARC rejects because the required alignment increases.
* | Another XTEA vectorlloyd2010-05-101-0/+1
|/
* merge of '22c256e152c9765e98afa4d164af3f6783e96257'lloyd2010-05-101-4/+11
|\ | | | | | | and '561b7dbb17d3809ca98a31b718ee55ae9d52cb2c'
| * Prevent crash if asked to benchmark unknown block cipher with a modelloyd2010-05-051-4/+11
| | | | | | | | (eg "NoSuchCipher/CBC")
* | Avoid trying to use GCC's cpuid.h in versions where it doesn't existlloyd2010-05-061-1/+3
|/ | | | | (before 4.3). Probably will need to write asm blocks for those older versions.
* Modify the implementation of multiplication mod 65537 used in IDEA tolloyd2010-04-303-10/+534
| | | | | | | | | | be branch-free. This reduces performance noticably on my Core2 (from 32 MiB/s to a bit over 27 MiB), but so it goes. The IDEA implementation using SSE2 is already branch-free here, and runs at about 135 MiB/s on my machine. Also add more IDEA tests, generated by OpenSSL
* Tick to 1.9.8-devlloyd2010-04-283-4/+6
|
* Update log, readme, configure for 1.9.7 release1.9.7lloyd2010-04-273-3/+3
|
* HMAC_RNG handling changes - split up reseed() and add_entropy()lloyd2010-04-272-35/+31
| | | | | | | | entirely. add_entropy() just adds the input into the extractor; if more than 1024 bytes of input have been added by the user since the last reseed, then force a reseed. Until that point, the data simply remains accumulating in the extractor, which is fast and helps ensure a large block of data is input when we finally do reseed.
* Remove add_entropy_vec. Much cleaner way of doing this: add the entirelloyd2010-04-273-7/+4
| | | | contents of all SSL/TLS handshake messages into the PRNG input.
* mutex.h is internal - had been picking up system installed versionlloyd2010-04-231-1/+1
|
* Add the other parties Random value to the local PRNG statelloyd2010-04-232-0/+4
|
* Return SecureVector vals by const reflloyd2010-04-231-4/+4
|
* Add add_entropy_vec which calls add_entropy on the passed vector. Haslloyd2010-04-231-0/+3
| | | | | to be named differently from add_entropy to deal with odd C++ overloading/virtual rules.
* Add a couple of Comb4P tests, generated by the python implementationlloyd2010-04-231-0/+9
|
* Check to make sure the user didn't provide two of the same has forlloyd2010-04-231-0/+3
| | | | | | Comb4P. If you do this, the first N bytes are all zero, which could expose some problems, especially if the caller truncates or is relying on Comb4P acting like a random function.