aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add more comments explaining what is going on in dl_work_factorlloyd2012-03-302-28/+29
|
* Typo in commentlloyd2012-03-091-1/+1
|
* Allow the semi-standard but rarely used 1.3.132.1.12 OID for ECDH keyslloyd2012-02-211-1/+13
| | | | | on decoding by default, and add a comment showing how to enable it for encoding.
* Avoid blocking more than 100 ms in the random device reader. Scale uplloyd2012-02-202-4/+8
| | | | | | | how much we ask for on the basis of how many bits we're counting each byte as contributing. Change /dev/*random estimate to 7 bits per byte. Small cleanup in HMAC_RNG.
* Avoid having more than one directory open at a time by just keeping alloyd2012-02-201-28/+49
| | | | | list of directory names (without the open DIRs) plus the one currently active dir.
* Be more conservative about entropy estimates. In particular, insteadlloyd2012-02-175-7/+7
| | | | | | | | | | | | | of giving /dev/random, EGD, and CryptoAPI a full 8 bits per byte of entropy, estimate at 6 bits. In the proc walker, allow more files to be read, read more of any particular file, and count each bit for 1/10 as much as before. Reading more of the file seems especially valuable, as some files are quite random, whereas others are very static, and this should ensure we read more of the actually unpredictable inputs. Prefer /dev/random over /dev/urandom
* Force a reseed in HMAC_RNG after 20 bytes have been added, rather thanlloyd2012-02-151-5/+12
| | | | | | waiting for a full kilobyte. This is for the benefit of DSA/ECDSA which want a call to add_entropy to update the state in some way, passing just a hash input which might be as small as 20 bytes.
* Support ECDH key creation in the key factory function. Patch from Seanlloyd2012-02-031-0/+14
| | | | Cassidy, sent to the mailing list.
* Whitespacelloyd2012-02-022-4/+3
|
* Disable this version of the SSL code by defaultlloyd2012-02-011-2/+6
|
* Remove debug printfs, stdio includeslloyd2012-01-303-11/+0
|
* Pointer writing seems cleanerlloyd2012-01-302-102/+102
|
* Partially de-unroll the loop to make changes easierlloyd2012-01-301-86/+41
|
* Add a slow but functional implementation of Camellialloyd2012-01-285-1/+406
|
* Fix lib suffixlloyd2012-01-252-3/+9
|
* Fix -Wreorder warninglloyd2012-01-251-1/+1
|
* Use initializer list, make destructor virtuallloyd2012-01-061-2/+2
|
* Remove the autheticator generation from the SRP code as it's not usedlloyd2011-12-314-52/+143
| | | | | by TLS (relies on the finished message check). Add a class for reading files created by GnuTLS's srptool.
* A bad decrypt on a TLS 1.0/1.1 message would cause a mostly infinitelloyd2011-12-311-1/+6
| | | | | loop (size_t overflow), likely causing a segfault. Not exploitable as far as I can tell, beyond the obvious crashing.
* Add code point for the SRP identifier extension and add a check for itlloyd2011-12-173-0/+13
| | | | | in the Client_Hello parser. Works, tested with GnuTLS command line client.
* Initial run at an SRP-6a implementation. Not entirely sure about thelloyd2011-12-174-0/+288
| | | | | interface but it's a plausible start. Will probably have more insights after adding TLS hooks.
* Add the 2048 bit SRP group from RFC 5054lloyd2011-12-171-0/+15
|
* Make this exception somewhat more understandable. I think.lloyd2011-12-171-1/+1
|
* Use LoadLibraryA instead of bare LoadLibrary so things work if used inlloyd2011-12-131-1/+1
| | | | an amalgamation and the app is compiled in Unicode mode.
* Fix PR 166lloyd2011-12-081-5/+9
|
* Add basic NaCl targetlloyd2011-12-081-0/+4
|
* LoadLibrary apparently works on MinGWlloyd2011-12-021-0/+1
|
* GCC doesn't like casting a function pointer to void* without anlloyd2011-12-021-1/+2
| | | | explicit cast.
* Add AltiVec detection on OpenBSD, contributed by Brad Smith in PR 162lloyd2011-11-281-1/+15
|
* Call cpuid via inline asm on x86-64, so we can use it with Clang (nolloyd2011-11-181-2/+16
| | | | cpuid intrinsic) and older GCC (no cpuid.h before 4.3)
* Add model name for Sandy Bridge. Use -march=corei7 with GCC and Clanglloyd2011-11-183-12/+16
| | | | as they seem to understand it as of GCC 4.6 and Clang 2.9.
* Fix declarationlloyd2011-11-181-2/+1
|
* Manually rename registers instead of rotating. Performance is aboutlloyd2011-11-181-638/+638
| | | | | the same, so clearly GCC 4.6 and/or the Core i7 are very good about renames, but might help on less capable systems.
* Poll clock_gettime in High_Resolution_Timestamp::poll with whateverlloyd2011-11-112-1/+39
| | | | clock types we know about that have macros defined for them.
* Add AltiVec detection for POWER7 processorslloyd2011-11-021-0/+2
|
* Don't set the soname on OpenBSD (PR 158)lloyd2011-10-111-0/+3
|
* Name the params for DER_Encoder in headerlloyd2011-10-061-24/+47
|
* Avoid using -march=i386 if an i386 is 'detected', instead uselloyd2011-08-151-2/+5
| | | | | | | | -mtune=generic as with i486. Python's platform reports an i386 when running on a Core Duo on MacOS X 10.6, then using -march=i368 causes a link failure due to missing atomic adds in libstdc++. PR 152 Also use generic for i586.
* Add a new, somewhat more functional dist scriptlloyd2011-07-111-0/+168
|
* The Algorithm_Factory has this logic on looking for an object:lloyd2011-07-054-8/+31
| | | | | | | | | | | | | | | | | | | | - Check the cache; if found, return value - Populate cache, if the value is already there, delete the old object and save the new one. - Recheck the cache value Raja <[email protected]> pointed out on the list that this could race if multiple threads called a lookup function in close succession while the cache was cold. All of them would fail the lookup, then each of them would add it, but the values returned would be deleted by other threads. Instead, declare that first write wins. Then, the cache stays consistent even if there is a race, the only issue is an extra search and delete. Modify GOST and Skein, as their name() function did not roundtrip properly which caused failures otherwise.
* Tick to 1.10.1 unreleased.lloyd2011-06-302-0/+3
| | | | | Try to detect the mtn revision (by shelling out to mtn automate), and including it in build.h as BOTAN_VERSION_VC_REVISION.
* Make CMAC::poly_double at least theoretically constant time, thoughlloyd2011-06-231-3/+2
| | | | most compilers will probably compile this into a conditional anyway.
* Fix -Wshadow warninglloyd2011-06-221-2/+2
|
* Invert the meaning of the Miller-Rabin test; passes_test meant 'is notlloyd2011-06-161-9/+17
| | | | | | | | | | a witness'. Instead call it 'is_witness', returning true if a is a witness for n's compositness, or otherwise false. Also, the previous version would not check that the final value of y was n-1; if it isn't, then n is not prime. This would mean the false negative rate was higher than it should have been, though I'm not sure by how much exactly.
* Detect (though not using) the CPUID bit for the RDRAND instructionlloyd2011-06-161-1/+8
|
* Add std::swap specialization for memory containerslloyd2011-06-131-0/+10
|
* Write zeros in 4K blockslloyd2011-06-071-7/+9
|
* Simplify Montgomery setup here a bitlloyd2011-06-071-6/+4
|
* Rename some dirs for shorter object files where configure willlloyd2011-06-0313-2/+2
| | | | coalesce the dir and file name if identical.
* Ignore \r as whitespace in base64 decoder - caused test failures onlloyd2011-06-031-1/+3
| | | | Windows :(