aboutsummaryrefslogtreecommitdiffstats
path: root/doc/log.txt
Commit message (Collapse)AuthorAgeFilesLines
* Mention the vector changes as people will likely notice thoselloyd2012-05-261-0/+8
|
* Initial 1.11 noteslloyd2012-05-261-0/+37
|
* Pipe::reset's requirement that a message be completed meant thatlloyd2012-05-181-0/+5
| | | | | | exceptions thrown in end_msg (for instance in CBC decryption when the padding is bad) more or less screwed up the pipe completely. Allowing reset here at least allows an escape hatch.
* We were checking the wrong bit for rdrand support. Found using SDE'slloyd2012-05-101-0/+3
| | | | | | | | -ivb_rdrnd_cpuid option to toggle the bit off and on. Fortunately on Intel processors the bit we were actually checking is also enabled by Ivy Bridge. However it is also used on AMD Bulldozer processors to signal half-precision floating point support so we could false positive there.
* Add support for the rdrand instruction, added in Intel's Ivy Bridgelloyd2012-04-261-0/+3
| | | | | | | processors. Tested using SDE on Linux with GCC 4.6, Intel C++ 11.1, and Clang 3.0, all using the inline asm variant. I do not know if current Visual C++ has the intrinsics available or not, so it's only marked as available for those compilers at the moment.
* Patrick Pelletier pointed out the hook for Qt_Mutex in libstate.cpplloyd2012-04-231-0/+3
| | | | | | | was broken, and after fixing that and trying to compile the module it becamse clear that the Qt mutex did not work at all with recent Qt versions. Taking this as a clear indicator that it is not being used, remove it.
* Disable this version of the SSL code by defaultlloyd2012-02-011-0/+4
|
* Add a slow but functional implementation of Camellialloyd2012-01-281-0/+2
|
* Initial run at an SRP-6a implementation. Not entirely sure about thelloyd2011-12-171-0/+3
| | | | | interface but it's a plausible start. Will probably have more insights after adding TLS hooks.
* Add basic NaCl targetlloyd2011-12-081-0/+2
|
* Warn the user if targetting for GCC on Windows without an explicitlloyd2011-12-021-0/+5
| | | | | --os=windows since likely they actually wanted either --os=cygwin or --os=mingw
* GCC doesn't like casting a function pointer to void* without anlloyd2011-12-021-0/+2
| | | | explicit cast.
* Add AltiVec detection on OpenBSD, contributed by Brad Smith in PR 162lloyd2011-11-281-0/+2
|
* Poll clock_gettime in High_Resolution_Timestamp::poll with whateverlloyd2011-11-111-0/+3
| | | | clock types we know about that have macros defined for them.
* Add AltiVec detection for POWER7 processorslloyd2011-11-021-0/+2
|
* Include the needed sub in the log noteslloyd2011-11-011-1/+2
|
* Switch to the Python 3 syntax in configure.py. A Perl one-liner in thelloyd2011-10-181-0/+5
| | | | header shows how to return it to 2.5 compatability.
* Don't set the soname on OpenBSD (PR 158)lloyd2011-10-111-0/+5
|
* Note --cpu fix, bump versionlloyd2011-09-011-0/+8
|
* 1.10.1 release1.10.1lloyd2011-07-111-1/+22
|
* The Algorithm_Factory has this logic on looking for an object:lloyd2011-07-051-0/+5
| | | | | | | | | | | | | | | | | | | | - 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-301-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.
* Update with info on 1.8.12 releaselloyd2011-06-201-0/+14
|
* Tick version to 1.10.0 release1.10.0lloyd2011-06-201-1/+4
|
* Add std::swap specialization for memory containerslloyd2011-06-131-0/+2
|
* Zap this, I just replaced the 1.9.18 tarball instead.lloyd2011-06-031-2/+0
|
* Tick version to 1.10.0lloyd2011-06-031-0/+9
|
* Tick to 1.9.18 release1.9.18lloyd2011-06-031-1/+1
|
* Multi-expoentiation, using the single bit variation. Using a 2 or 3lloyd2011-06-011-0/+5
| | | | | | bit window may well improve things further. Currently seeing 20-25% improvement in ECDSA signature verification and 25 to 40% in GOST-34.10 verifications.
* Add --via-amalgamation option that builds everything from a singlelloyd2011-06-011-0/+5
| | | | source file.
* FD_ZERO on Solaris uses memset, and assumes we included string.hlloyd2011-05-241-0/+5
| | | | already. Reported by Jeremy C. Reed <[email protected]>
* Reject s == 0 or r == 0 in a ECC signature.lloyd2011-05-191-11/+17
| | | | | | | | | | | | | | | In ECDSA, this cases should all be caught by the later check that R is not zero, so I don't believe there is any security danger. However the GOST 34.10 implementation did not have either check. Fortunately, the function that extracts the affine X coordinate from the Jacobian coordinates will throw an exception if the point is at infinity, so we would not in fact accept invalid signatures, but this is mostly by luck. And still represents a bit of a DoS potential. I checked the history, it looks like not checking for zeros at the start traces back to the original InSiTo code, and I copied the ECDSA code for GOST without thinking about it too much.
* Modify ECC points to do all math in Montgomery form, rather thanlloyd2011-05-171-4/+7
| | | | | | | | | | | | | converting back and forth. This gives a 10 to 20% speedup on a Core i7. In addition, the CurveGFp no longer contains a Barrett reducer, saving 3 BigInts worth of memory. Add a #if'ed out alternative to point multiplication using the Montgomery ladder technique. It runs in (more or less) constant time, but rather significantly slower than the 4 bit window technique currently used. Tweak the window sizes to match the theoretical optimums.
* Fix the problem that prevented the SSE2 IDEA implementation fromlloyd2011-05-121-0/+6
| | | | | | | | | | working correctly under Clang - the technique for emulating unsigned compare relied on signed overflow. The new method does not, and works under GCC, ICC, and Clang. Even better, the compare takes only 2 instructions instead of 4. Prevent using any of the asm implementations under Clang on x86-32. All of them crash under Clang 2.9, unclear why.
* Add base64_decode. Seems to work OK, though incremental decoding islloyd2011-05-121-0/+3
| | | | not well tested.
* Modify soname to match Unix conventions at suggestion of Debianlloyd2011-05-121-7/+20
| | | | | | | | | | maintainer. Namespace the headers in /usr/local/include/botan-1.9/botan, so multiple versions can be installed in parallel. Down version to 1.9.18 since there are a good number of changes in this release already.
* Add back BigInt::to_u32bitlloyd2011-05-101-2/+9
| | | | | | | Fix BigInt::get_substring when length is equal to 32 - an overflow would cause the mask to be equal to 0 thus producing nothing at all. Disable CVC by default, it's not ready for prime time in any sense.
* Make different targets for 32 and 64 bit Atom processors, since mostlloyd2011-05-091-0/+5
| | | | consumer/desktop level Atoms are actually 32 bit.
* Disable CMS by default, since it's pretty untested and likely unusablelloyd2011-05-061-0/+3
| | | | | | | | currently. Include the source directory name in object file names. Add some more DES test vectors.
* Search for the delimiter bytes in OAEP using a loop that doesn't havelloyd2011-05-051-0/+5
| | | | | | | conditionals to help avoid timing anylsis. Unfortunately GCC is too smart for us and compiles it to jumps anyway; probably would need to put the delim search into its own function and pass variables by volatile pointers to force the compiler to do what we want.
* When building for GCC, always get the version number, and turn off TR1lloyd2011-05-031-0/+3
| | | | | | | | | | | and -fvisibility support if the version is too old. You can also turn them off explicitly with the (hidden) option --without-visibility. We get the version number from the binary specified with --cc-bin, if the user set that, rather than from plain 'g++'. Fix Solaris install - apparently 'install' cmd is broken/dumb. Fix Ekopath flags for submodels.
* Calling &str[str.size()] is only valid if str is const; otherwise thelloyd2011-04-291-0/+12
| | | | | | | | | | | | | | 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
* Tick to 1.9.17 release1.9.17lloyd2011-04-291-1/+3
|
* Default sun4u to sparc32-v9 rather than sparc64lloyd2011-04-291-0/+5
|
* Rename AES_XXX_Intel to AES_XXX_NI, since AMD's Bulldozer will alsolloyd2011-04-251-0/+4
| | | | support AES-NI.
* Document KDF properly.lloyd2011-04-221-112/+119
| | | | | | | | Split log by release series instead of year. Make dedicated landing page. If SPHINX_OPTS is set, it will be passed to sphinx-build
* Rename all references of ia32 to x86-32 and amd64 to x86-64.lloyd2011-04-221-9/+17
| | | | | | 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.
* Enable unix_procs for FreeBSD. It was disabled in 2006 to worklloyd2011-04-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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-201-0/+7
| | | | | | | 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.
* Document changes to passhash9 and ECDSA keys that I forgot to includelloyd2011-04-191-2/+17
| | | | | | in the 1.9.16 change notes. Update the passhash9 ref to match reality.