aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Use std::chrono::duration instead of untyped u32bit values for times inlloyd2009-12-012-10/+17
| | | | X509_Store
* Remove system_time(), replace entirely with std::chrono.lloyd2009-12-0112-134/+115
| | | | | | Only remaining use of time.h/ctime is to convert from a time point to a calendar value, which still requires C's gmtime. Hide it entirely in time.cpp and return a calendar_point struct instead of a std::tm.
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-0124-34/+293
|\ | | | | | | | | | | b3515264af291b4785d3d296e2cc0e877ca7816a) to branch 'net.randombit.botan.c++0x' (head 66ca78008f08bb5efc2eca52a3d4501f02ffd736)
| * Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-0146-457/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QueryPerformanceCounter, into an entropy source hres_timer. Its results, if any, do not count as contributing entropy to the poll. Convert the other (monotonic/fixed epoch) timers to a single function get_nanoseconds_clock(), living in time.h, which statically chooses the 'best' timer type (clock_gettime, gettimeofday, std::clock, in that order depending on what is available). Add feature test macros for clock_gettime and gettimeofday. Remove the Timer class and timer.h. Remove the Timer& argument to the algorithm benchmark function.
* | Drop utils/time.h to deal with a merge conflict.lloyd2009-12-011-39/+0
| |
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-2910-76/+96
|\| | | | | | | | | | | ac4d8fecb28374d06094da3457aa1e23f77dfa52) to branch 'net.randombit.botan.c++0x' (head 00f0eecf3374a14b6ab907bd235488f902608de4)
| * Make sure the SIMD_32 implementation we're using actually works on thelloyd2009-11-244-3/+7
| | | | | | | | system before returning a new instance.
| * Convert line endings on examples.lloyd2009-11-241-6/+5
| | | | | | | | Sort files in an attempt to help out the compression algorithm.
| * Clean up the implementation of the line ending converter.lloyd2009-11-241-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a custom install target to users can select specific things to enable or disable. Add api.pdf and tutorial.pdf, if they are available in the tree (otherwise skip) Add the set of examples as part of the documentation package. Require at least Windows 98 or 2000 since some code in the entropy gathering routines requires functions (CryptGenRandom and Toolhelp32) which are only available on these systems or later. Set the VersionInfoVersion (viewable via the Properties menu on the setup .exe)
| * Don't do line ending conversion on build.h since that was (presumably/usually)lloyd2009-11-231-6/+9
| | | | | | | | written out by the local Python using Win32 line endings.
| * Use a little Pascal script (hey, my first Pascal program!) in InnoSetuplloyd2009-11-231-5/+21
| | | | | | | | to conver the line endings of text files (.txt, .h) to Win32's CRLF.
| * Fix minor errors in InnoSetup scriptlloyd2009-11-231-5/+5
| |
| * Add User and Developer install targets to Win32 installerlloyd2009-11-231-9/+22
| |
| * Fix the Nmake file - turns out the LIB is a really bad name for a variablelloyd2009-11-231-6/+6
| | | | | | | | in nmake, causes strange linker errors without any obvious cause.
| * Remove extern decl of no longer used/included SHA-1 SSE2 functionlloyd2009-11-231-2/+0
| |
| * Various fixes for Visual C++ per bug 63 - --enable-debug sets debug options,lloyd2009-11-202-16/+17
| | | | | | | | | | --disable-shared disables DLL options, and don't define _CONSOLE in the library build.
| * Remove long #### blocks for readabilitylloyd2009-11-202-48/+16
| |
| * Add readme.txt, license.txt, and log.txt to the InnoSetup installlloyd2009-11-201-0/+4
| |
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-2016-80/+61
|\| | | | | | | | | | | b431f4bc404f3ed4a5332b69100ff903fbbb1d6a) to branch 'net.randombit.botan.c++0x' (head a5eb5edada5e025f7c85c096dc59a467cae4aba6)
| * Include the dll.manifest and exports file in the installer; I'm not surelloyd2009-11-201-0/+2
| | | | | | | | | | that anyone needs either of these, but it appears like they may be useful if you're doing unusual stuff like C++/CLI.
| * Force /MD (threaded+DLL libc) with VC++. /MT is the default but seemslloyd2009-11-201-0/+4
| | | | | | | | | | | | | | to cause random crashes during the test suite. With /MD they go away. I don't know enough about Windows development to know what this means... I'm sure it makes sense to somebody. Anyway, going with something that appears to function.
| * Fix windows install_rootlloyd2009-11-201-1/+1
| |
| * Add missing dependency on timerlloyd2009-11-201-0/+1
| |
| * Create installer file as botan-VERSION.exelloyd2009-11-201-0/+1
| |
| * Fix nmake's distclean and DLL inking. Add static lib to InnoSetuplloyd2009-11-202-8/+9
| |
| * Add missing BOTAN_DLL macros for algorithm_benchmark and SCAN_Namelloyd2009-11-202-6/+6
| |
| * Nmake makefile cleanups and DLL fixeslloyd2009-11-201-34/+10
| |
| * Switch from only-static with VC++ to only a DLL. The static library islloyd2009-11-193-14/+13
| | | | | | | | | | huge (60+ Mb!); the DLL should be smaller due to link-time merging making it viable to distribute binaries.
| * Most compilers had empty dll_*_flags; remove them since the default islloyd2009-11-1915-40/+3
| | | | | | | | | | | | | | empty anyway. For VC++ (only user) set BOTAN_DLL to dllimport by default (for apps), and then redefine as dllexport when building the library.
| * Fix includes, and put into {app}\include\botan so -IC:\botan\includelloyd2009-11-191-1/+1
| | | | | | | | causes <botan/XXX> to be visible as expected.
| * Fix typos, set other fields in InnoSetup scriptlloyd2009-11-191-3/+8
| |
| * Add the first bits of support for packaging botan with InnoSetup.lloyd2009-11-191-0/+17
| | | | | | | | Untested, almost certainly doesn't work.
* | Define move assignment and constructors in terms of std::swap (whichlloyd2009-11-191-6/+2
| | | | | | | | | | boils down to BigInt::swap, which uses the memvec swap). Checking with g++ 4.5 -O3 shows it compiles down the same code as before.
* | Add move assignment and constructor operators to BigInt. On macro benchmarkslloyd2009-11-192-4/+40
| | | | | | | | | | | | | | | | | | | | (timing the test suite) there doesn't seem to be much of a difference either way, but putting printfs in the implementations shows they are being used. Since they pretty much can't possibly hurt (right?) and might well help a lot in certain cases, it's worth including. Todo: adding overloads to binary operators taking move operations might be nice. Details in http://cpp-next.com/archive/2009/09/making-your-next-move/
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-19148-1916/+726
|\ \ | |/ |/| | | | | | | 2f3665f775fafbdfa517ecdca7f872e35bd90277) to branch 'net.randombit.botan.c++0x' (head 45169719ddd8977b1eb20637576bc855dbc867a0)
| * Drop support for compilers that are no longer in active service, sincelloyd2009-11-194-131/+0
| | | | | | | | there is no chance that C++0x support will be added to them at any point.
| * Remove to_string, replacing with std::to_stringlloyd2009-11-1833-147/+107
| | | | | | | | | | Convert to_u32bit to use the new C++0x library func stoul instead of hand-written code.
| * auto_ptr is unique_ptr in C++0xlloyd2009-11-181-2/+2
| |
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-18118-1640/+621
| |\ | | | | | | | | | | | | | | | 23f95467137a0531f74574d1e3eb822734f0c5f2) to branch 'net.randombit.botan.c++0x' (head 427be8496e669880b1bf532eb829ebbdbeaf34c9)
| | * Remove accidentally checked in change to powm_fw.cpplloyd2009-11-181-29/+6
| | |
| | * Use async in ElGamal encryption and Nyberg-Rueppel verificationlloyd2009-11-183-10/+39
| | |
| | * Add a simple version of std::async as std_async in async.h and use itlloyd2009-11-173-39/+42
| | | | | | | | | | | | in the RSA and DSA ops.
| | * Also parallelize DSA signature generation, though due to critical pathlloyd2009-11-171-2/+13
| | | | | | | | | | | | | | | | | | constraints there isn't that much parallelization to extract. Slightly faster; better for smaller key sizes as once a certain point is reached one thread is doing a lot more work than the other.
| | * Use a thread to compute half of the DSA verification. 20-90% faster dependinglloyd2009-11-171-2/+19
| | | | | | | | | | | | on key size on a Core2.
| | * In IF decryption, two large powmods are done, one mod p and one mod q. Spawnlloyd2009-11-171-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | one of them off in a new thread and compute the other on the current thread. Performance on my Core2 shows a 60 to 90% improvement in overall speed in RSA private key operations. Will probably be even better once std::async is available (not currently in GCC) since it will probably use a thread pool which will amortize the thread creation/shutdown cost.
| | * Use the new support for explicitly deleting functions instead of hidinglloyd2009-11-1710-42/+27
| | | | | | | | | | | | | | | them as private variables for operator= and copy constructors that shouldn't be used.
| | * Replace the Pipe constructor taking a Filter*[] and a length with one taking alloyd2009-11-172-6/+8
| | | | | | | | | | | | initializer_list<Filter*>
| | * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-17105-1595/+516
| | |\ | | | | | | | | | | | | | | | | | | | | 0ac5a29496b4e50775827d9655c064f6d1c98813) to branch 'net.randombit.botan.c++0x' (head 3232da044d41756582b53da9d14c3ac07e9b2916)
| | | * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-1737-115/+103
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | cfb19182987fc95b2a8885584a38edb10b4709b3) to branch 'net.randombit.botan.c++0x' (head 1570877c463fed4b632bc49a5b5ee27c57de2cb5)
| | | * | Use -pthread on all platforms. This is necessary to get functioning supportlloyd2009-11-171-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for std::thread, and to ensure that std::mutex actually maps to a real mutex and not a no-op. Don't explicitly define _REENTRANT; -pthread will handle that if necessary.