aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data
Commit message (Collapse)AuthorAgeFilesLines
* Add back in blinding to RSA, RW, ElGamal, and DH.lloyd2010-03-081-1/+0
| | | | | | | | | | | | | | | | There are multiple unsatisfactory elements to the current solution, as compared to how blinding was previously done: Firstly, blinding is only used in the baseline implementations; the code using OpenSSL and GMP is not protected by blinding at all. Secondly, at the point we need to set up blinding, there is no access to a PRNG. Currently I am going with a quite nasty solution, of using a private key parameter to seed a simple PRNG constructed as: SHA-512(TS1 || private_key_param || public_key_param || TS2) I really want to fix both of these elements but I'm not sure how to do so easily.
* Add -Werror to gcc maintainer flagslloyd2010-03-051-1/+1
|
* Only disable VC++ warning C4275 with DLL buildslloyd2010-03-031-2/+2
|
* Fix VC++ static lib buildslloyd2010-03-031-0/+4
|
* Fix Windows distclean targetlloyd2010-03-031-1/+3
|
* Disable VC warning 4275lloyd2010-03-031-1/+1
|
* Use a single dir for all boost.python objectslloyd2010-03-021-5/+3
|
* Instead of the mode parallelism being specified via macros, have itlloyd2010-02-251-11/+0
| | | | | | | | | depend on the particular implementation. Add a new virtual function to BlockCipher named parallelism that returns the number of blocks the cipher object could or might want to process in parallel. Currently set to 1 by default but may make sense to increase this for even scalar implementations since it seems like better caching behavior makes it a win.
* Lowercase DOCDIR to match common conventionslloyd2010-01-293-3/+3
|
* Make all parallel block modes 16 blocks widelloyd2010-01-041-4/+4
|
* New macro TARGET_CPU_IS_XXX_FAMILY for XXX = X86, PPC, SPARC, undefinedlloyd2009-12-296-0/+13
| | | | elsewhere currently.
* Fix make doxygenlloyd2009-12-292-2/+2
|
* Define EAX in terms of CTR mode instead of implementing it within EAX_Base.lloyd2009-12-231-2/+1
| | | | | | | | | This is somewhat faster, especially with SIMD-ed ciphers. The ceiling on performance looks to be CMAC, which is iterative and thus can't take advantage of them. Remove BOTAN_PARALLEL_BLOCKS_EAX, since it implicitly is whatever CTR is doing. Bump CTR's default parallel blocks to 16.
* Fix compiler macro for MSVC warningslloyd2009-12-231-1/+1
|
* Use /W3 with VC++ (/W4 is really noisy, but it seems mostly useless stuff).lloyd2009-12-232-1/+7
| | | | | | But, disable warnings 4250 and 4251 in build.h with a pragma. Both seem impossible to work around without very major code changes, and both seem harmless AFAICT.
* Fix compile of get_nanoseconds_clock for Windows.lloyd2009-12-232-0/+2
| | | | | | | Add macros for OS support of gmtime_r (Unix) and gmtime_s (Win32) to deal with thread-unsafety of std::gmtime. Only enable gmtime_r on Linux currently, but it's probably available pretty much everywhere (specified in pthreads, origininally, AFAICT).
* Use only numeric version #s in VersionInfoVersion; InnoSetup and/or Windowslloyd2009-12-231-1/+1
| | | | doesn't like things like -dev or -rc1 in that field.
* Define BOTAN_TARGET_CPU_HAS_KNOWN_ENDIANNESS if the target CPU is known tolloyd2009-12-221-0/+5
| | | | be either fixed little or big endian. Unset if mixed endian or unknown.
* Add feature macro for Win32's GetSystemTimelloyd2009-12-222-0/+6
|
* Un-internal loadstor.h (and its header deps, rotate.h andlloyd2009-12-211-1/+1
| | | | | | | | | | | | | | 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).
* Make many more headers internal-only.lloyd2009-12-161-1/+3
| | | | | | | | | | | | | 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.
* Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-0114-0/+46
| | | | | | | | | | | | | | 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.
* 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.
* 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
|
* 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
|
* 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).
* Remove some CPU specific workarounds for things GCC didn't know about, likelloyd2009-11-111-9/+5
| | | | the Alpha EV67 and MIPS R10000.
* Rename the UltraSPARC submodels; remove UltraSPARC II since it is functionallylloyd2009-11-111-6/+4
| | | | the same as an UltraSPARC for optimization purposes.
* Make em64t just an alias for amd64; add nocona as a submodel. Also addlloyd2009-11-111-1/+3
| | | | x64 as another arch alias since some people seem to use it.
* Switch from -O2/-O for lib/check to -O3/-O2 with gcclloyd2009-11-111-2/+2
|
* Add Nehalem/Westmere tags for ICClloyd2009-11-101-3/+7
|
* GCC doesn't know what Nehalem or Westmere are, though it does know aboutlloyd2009-11-061-0/+3
| | | | | the AES and PCLMUL instructions. Oddness. For the time being, compile Nehalem and Westmere as Core2 + extras, probably close enough.