| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
faster than the scalar version on a Core2.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
| |
be larger than 4294967232 because you can give at most 2^32-1 bytes of
data at a time to Skein_512::add_data, and Skein always needs to buffer at
least one byte.
|
| |
|
| |
|
|
|
|
| |
because it makes the code slightly more explicit.
|
|
|
|
| |
doesn't like things like -dev or -rc1 in that field.
|
| |
|
| |
|
|
|
|
|
|
| |
or big endian, for large loads always memcpy, then go back and swap as
needed. Otherwise (unknown or mixed endian) just load one at a time as
usual.
|
|
|
|
|
| |
but if SSE2 or SSSE3 is available uses SIMD magic to swap 4 32 bit values
at once.
|
| |
|
| |
|
|
|
|
| |
be either fixed little or big endian. Unset if mixed endian or unknown.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
Move most of the engine headers to internal
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Change serp_simd_sbox.h's header guard to use the leading BOTAN_ prefix for
proper macro namespacing.
|
|
|
|
| |
of the rest. In the worst case, it compiles down to an empty poll
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
system before returning a new instance.
|
|
|
|
| |
Sort files in an attempt to help out the compression algorithm.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
written out by the local Python using Win32 line endings.
|
|
|
|
| |
to conver the line endings of text files (.txt, .h) to Win32's CRLF.
|
| |
|
| |
|
|
|
|
| |
in nmake, causes strange linker errors without any obvious cause.
|
| |
|
|
|
|
|
| |
--disable-shared disables DLL options, and don't define _CONSOLE in the
library build.
|
| |
|
| |
|
|
|
|
|
| |
that anyone needs either of these, but it appears like they may be useful
if you're doing unusual stuff like C++/CLI.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
huge (60+ Mb!); the DLL should be smaller due to link-time merging making
it viable to distribute binaries.
|