aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Un-internal loadstor.h (and its header deps, rotate.h andlloyd2009-12-2172-118/+132
| | | | | | | | | | | | | | bswap.h); too many external apps rely on loadstor.h existing. Define 64-bit generic bswap in terms of 32-bit bswap, since it's not much slower if 32-bit is also generic, and much faster if it's not. This may be quite helpful on 32-bit x86 in particular. Change formulation of generic 32-bit bswap. It may be faster or slower depending on the CPU, especially the latency and throuput of rotate instructions, but should be faster on an ideally superscalar processor with rotate instructions (ie, what I expect future CPUs to look more like).
* Add missing BOTAN_DLL exports.lloyd2009-12-1684-129/+181
| | | | Move most of the engine headers to internal
* Make many more headers internal-only.lloyd2009-12-16159-313/+411
| | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-16184-899/+386
|
* Add missing header guards to package.h and botan.hlloyd2009-12-023-2/+12
| | | | | Change serp_simd_sbox.h's header guard to use the leading BOTAN_ prefix for proper macro namespacing.
* Load hres_timer on any compiler or arch; macro feature detection takes carelloyd2009-12-011-27/+0
| | | | of the rest. In the worst case, it compiles down to an empty poll
* 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.
* 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
|
* 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.
* Remove unecessary quote characters in the cc info files (were required bylloyd2009-11-1915-107/+80
| | | | | | | | | | | configure.pl, but configure.py's parser is smart enough to deal with them with or without quotes). Add support for shared library generation with IBM xlC (untested). Drop bcc - this was for the Borland's old compiler and almost certainly is not right for the current Embarcadero C++Builder. Support for that should be added (though I don't have access to this compiler personally).
* Name argumentslloyd2009-11-181-6/+12
|
* Much cleaning up in ECDSA, though it's still rather a mess (and 50x slowerlloyd2009-11-187-166/+112
| | | | than OpenSSL... that's a problem for another branch though).
* Fix typolloyd2009-11-181-1/+1
|
* Clean up BigInt doxygen commentslloyd2009-11-181-471/+458
|
* In ressol(), t is just an alias for s and is not modified, remove itlloyd2009-11-171-3/+2
|
* Remove obsolete commentlloyd2009-11-171-15/+0
|
* Move most code that relies heavily on Filters into src/filters.lloyd2009-11-1773-166/+29
| | | | | | Remove support for (unused) modset settings. Move tss, fpe, cryptobox, and aont to new dir constructs
* Small cleanups in the Turing codelloyd2009-11-171-18/+20
|
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-1737-107/+101
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Remove some Doxygen commentslloyd2009-11-171-8/+2
|
* Instead of having two asm_macr.h files being switched in based on modulelloyd2009-11-1412-16/+8
| | | | build magic, name them asm_macr_ARCH.h. Change all including files accordingly.
* Fix comment typolloyd2009-11-141-1/+1
|
* Make factorization in FPE more even (was neglecting powers of 2 sincelloyd2009-11-142-7/+42
| | | | | | 2 is not in the primes table). Also ensure that a >= b; this guarantees that log_a(b) is <= 1 and thus only 3 rounds (instead of 8 used before) is sufficient.
* Fix FPE decryption; off by one in the round numberslloyd2009-11-131-2/+2
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-133-0/+205
|\ | | | | | | | | | | 586495311cff277e7a24b4116c987b79036d94e6) to branch 'net.randombit.botan.fpe' (head c6e8324b12e509ac1303078d5e716f08c53acff5)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-063-0/+205
| |\ | | | | | | | | | | | | | | | 0cb3295ee48403828c652064fbf72ddb6edbe13c) to branch 'net.randombit.botan.fpe' (head 954d50f368db4be7d98c5c32c474bc54ec5ea7f3)
| | * Add format preserving encryption, design is FE1/FD1 from the paperlloyd2009-11-053-0/+205
| | | | | | | | | | | | | | | | | | Format-Preserving Encryption (http://eprint.iacr.org/2009/251). This doesn't implement the rank functions which are necessary for the actual format-preserving part, though that would be nice to add to the example.