| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
static_cast or reinterpret_cast, as needed.
|
|
|
|
|
| |
just want access to the underlying data representation but don't care if
the return value is NULL terminated or not.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
under the name that the algorithm was originally requested by. This enables
proper caching for algorithm names which deref_alias fails to fully dereference
such as "HMAC(SHA-1)". The previous code had two major problems with names of
that type, firstly that the cache was effectively bypassed due to all prototype
objects in Algorithm_Cache_Impl being indexed by their canonical names rather
than the alias that they were requested under, and that there existed a race
condition where a prototype object might be deleted while in use in multithreaded
code.
The downside of this change is that using multiple names to refer to a single
algorithm causes multiple prototype objects to be created, one for each name
that is in use. However the memory overhead of this should be fairly minimal
and given the severity of the race condition this seems like a worthwhile tradeoff.
A more complete fix would be to fix deref_alias to properly derference all alias
names. That fix would be complimentary with this change in that if deref_alias
handled all names properly there would be a single prototype object and there
would then be no additional memory overhead to the cache.
|
| |
|
|
|
|
| |
of the line rather than the start.
|
|\
| |
| |
| |
| |
| | |
e92fe807f749c526669303bd1530dd76a4d10a86)
to branch 'net.randombit.botan' (head 04a56f961f413296df6637b77ec45aa444513cfc)
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
into
account endian differences.
The current code does not take advantage of the knowledge of which endianness
we are running on; an optimization suggested by Yves Jerschow is to use (unsafe)
casts to speed up the load/store operations. This turns out to provide large
performance increases (30% or more) in some cases.
Even without the unsafe casts, this version seems to average a few percent
faster, probably because the longer loading loops have been partially or
fully unrolled.
This also makes the code implementing low-level algorithms like ciphers and
hashes a bit more succint.
|
| | |
|
| |
| |
| |
| |
| | |
Seems to be about 2-3 times faster in the case where the key is smaller
than the hash's block size, which is almost always the case.
|
|\|
| |
| |
| |
| |
| | |
8a2b79c64a13d3f70b0211d4f985a678951a9663)
to branch 'net.randombit.botan' (head 677686443a5bb53b03d147999947448a9dc2679a)
|
| |
| |
| |
| | |
Studio users.
|
| |
| |
| |
| | |
fairly massive way.
|
| |
| |
| |
| | |
from a void* to a Memory_Block, so call the constructor explicitly.
|
| | |
|
| |
| |
| |
| |
| | |
These were allocated out of my IANA assigned arc, which is documented at
http://www.randombit.net/text/oids.html
|
| |
| |
| |
| |
| |
| | |
encode a public key that did not have an OID for its key format resulted
in a very confusing exception (thrown from char2digit) that was completely
meaningless to anyone.
|
| |
| |
| |
| |
| |
| |
| | |
a feeling I may want to perform automated source changes to the version
strings (eg, to insert a monotone revision ID), but I'd just as soon
perform such operations on as small a file as possible to limit any
damage that might occur due to a source code rewriting script gone awry.
|
| |
| |
| |
| |
| |
| | |
caller. The resulting code is longer and somewhat harder to read, but it's
giving 25-30% performance increases on my Core2, and something a bit
lower but still measurable on the P4.
|
| | |
|
| |
| |
| |
| | |
than using an unadorned buffer with the increment() function.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
how big q should be.
Add FIPS 186-3 DSA parameter generation, this allows for generating larger
(2048 and 3072 bit) DSA keys. At this time there do not seem to be official
test vectors for 186-3, and I have not checked against other implementations.
Tests will be constructed using the latest OpenSSL snapshot.
|
| |
| |
| |
| | |
current register size; reads return 0, writes extend the buffer.
|
| | |
|
| |
| |
| |
| | |
and actually reduced the total line count.
|
|\ \
| | |
| | |
| | | |
and 'e5ca819cb65b0c124d3ca9538d2e8bc0faa8ecb0'
|
| |\|
| | |
| | |
| | |
| | |
| | | |
fd0242cd1f44b6d9d0e526c778860fcded174d62)
to branch 'net.randombit.botan' (head 8a5aa356cb3aab0af22b09f51bfa5540fe890bdf)
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
global state pointer was set. Presumably I put that there for debugging
at some point and let it escape.
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
members of DL_Group (the only place they were called within the source, and
outside of some rather esoteric things probably the only place you would
ever need it).
|
| |
| |
| |
| | |
compiling under the Dinkumware libraries.
|
| |
| |
| |
| | |
needs to be rewritten.
|
| | |
|
|\ \
| |/
|/|
| |
| |
| | |
0f5f960e749e55bc7b457b944ec168184353c300)
to branch 'net.randombit.botan' (head 260d11a3da24886b3812b396413e6be768160d75)
|
| |
| |
| |
| |
| | |
When searching for last used, put the pointer into a Memory_Block
first. That avoids a bug in Visual Studio.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
newline should always be added, even if the output would normally fit
entirely on the current line. Monotone needs this for compatability with
the Crypto++ implementation of base64.
|
| | |
|
| | |
|
| |
| |
| |
| | |
mem_pool.cpp with debug enabled.
|
|/
|
|
|
| |
was causing failures on compilers that do not implement named return value
optimization.
|
| |
|
|
|
|
| |
it into an 8.3 format
|
|
|
|
|
| |
as I can tell) the last of the global data, with the exception of the single
global_lib_state pointer in libstate.cpp
|
| |
|