| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the implementation rather than the preferred one. Update all
implementations.
Add a new function parallel_bytes() which returns
parallelism() * BLOCK_SIZE * BUILD_TIME_CONSTANT
This is because i noticed all current calls of parallelism() just
multiplied the result by the block size already, so this simplified
that code.
The build time constant is set to 4, which was the previous default
return value of parallelism(). However the SIMD versions returned
2*native paralellism rather than 4*, so this increases the buffer
sizes used for those algorithms.
The constant multiple lives in buildh.in and build.h, and is named
BOTAN_BLOCK_CIPHER_PAR_MULT.
|
|
|
|
| |
that enable botan to be built under the clang C++ compiler.
|
|
|
|
|
|
|
|
|
|
|
|
| |
work at least as far back as 3.2.3. And GCC's manual for -dumpversion
says "Print the compiler version (for example, `3.0')", which suggests
it works at least that far back, which is good enough (almost
certainly GCC 2.95 can't compile botan, in any case).
Also print the detected version.
Make an error (being unable to executed GCC) a warning instead of a
info message.
|
|
|
|
| |
This should work with both Python 2 and Python 3.
|
|\
| |
| |
| | |
and 'ce3d40d9f2e90346189ca6dfed2a1f38804d5c10'
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
if we are compiling under GCC, or 0 otherwise.
Use it in cpuid.cpp for use of GCC's cpuid.h header file.
If we don't have a method of calling cpuid, print a warning.
|
| |
| |
| |
| |
| |
| |
| | |
which architectures the OS supported shared libs on; in all cases it
was either all or none. Replace with new config build_shared [yes|no],
which defaults to yes but is set to no for MinGW and Cygwin since
shared libs don't seem to be working well there.
|
| |
| |
| |
| |
| |
| |
| |
| | |
of this pointed out by Falko Strenzke. The timing differences between
different error conditions could lead to attacks even with the same
error message. Instead use a (mostly) straightline
implementation. However scanning for the delim byte is still
timing/input dependenant, so this is not a 100% fix.
|
| |
| |
| |
| |
| |
| |
| | |
a patch from Zbigniew Zagorski ([email protected]) that checks for
cl.exe or g++.exe in the path; if cl.exe is found, use that, otherwise
if g++.exe is found, use that, otherwise default to VC++ (previous
behavior).
|
| |
| |
| |
| |
| | |
instead of doing cast+assign - GCC on SPARC rejects because the required
alignment increases.
|
|/ |
|
|\
| |
| |
| | |
and '561b7dbb17d3809ca98a31b718ee55ae9d52cb2c'
|
| |
| |
| |
| | |
(eg "NoSuchCipher/CBC")
|
|/
|
|
|
| |
(before 4.3). Probably will need to write asm blocks for those older
versions.
|
|
|
|
|
|
|
|
|
|
| |
be branch-free. This reduces performance noticably on my Core2 (from
32 MiB/s to a bit over 27 MiB), but so it goes.
The IDEA implementation using SSE2 is already branch-free here, and
runs at about 135 MiB/s on my machine.
Also add more IDEA tests, generated by OpenSSL
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
entirely. add_entropy() just adds the input into the extractor; if
more than 1024 bytes of input have been added by the user since the
last reseed, then force a reseed. Until that point, the data simply
remains accumulating in the extractor, which is fast and helps ensure
a large block of data is input when we finally do reseed.
|
|
|
|
| |
contents of all SSL/TLS handshake messages into the PRNG input.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
to be named differently from add_entropy to deal with odd C++
overloading/virtual rules.
|
| |
|
|
|
|
|
|
| |
Comb4P. If you do this, the first N bytes are all zero, which could
expose some problems, especially if the caller truncates or is relying
on Comb4P acting like a random function.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
failed. If so, assume the input string was an OID and try that.
|
| |
|
|
|
|
| |
Report SNI request, if any.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
carry on with the procedure. This prevents a timing attack where an
attacker could distinguish bad padding vs MAC failure. This timing
channel used in the paper "Password Interception in a SSL/TLS Channel"
by Vaudenay et. al. to attack SSL in certain fairly realistic use
scenarios.
|
| |
|
| |
|