| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
configure.pl doesn't understand how to handle this yet (replace logic only
understands stuff in src, not how one module can replace another modules
src, or anything about prioritizing).
Move some hex and base64 stuff out of charset.cpp and into their
codec directories.
|
|
|
|
|
|
|
| |
module asn1
Move hex and base64 codecs into new codecs directory. Also move zlib and
bzip2 to codecs from compress.
|
| |
|
| |
|
|
|
|
|
|
| |
class).
Add many missing modinfo.txts that I had not checked in. Oops.
|
|
|
|
|
|
| |
the underlying implementation goop remains in the core library instead of
being shunted off, due to various dependencies it has (most of which it
shouldn't).
|
| |
|
|
|
|
|
|
| |
Correct the configure program so modules are not autoloaded if their
dependences are not available. (Eg, --no-module=mdx_hash will disable
MD4, MD5, SHA-1, etc rather than cause a compliation failure)
|
|
|
|
| |
code as well as the code for handling PKCS #10 requests.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a new option --disable-modules which allows for disabling any
set of modules that normally would be autoloaded.
Rename the Botan feature test macros from BOTAN_EXT_BLAH to BOTAN_HAS_BLAH,
which will be much more sensible especially when everything is done in this
fashion (eg, BOTAN_HAS_BLOWFISH or BOTAN_HAS_RSA, etc)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and the TLS v1.0 PRF. These were removed from Botan in v1.4.5.
Initially I had felt that since these protocols were specific to SSL/TLS they
should be placed in Ajisai (an SSL/TLS library based on Botan). However upon
further reflection I have realized it is quite possible that other alternate
implementations of SSL/TLS based on Botan would be quite desirable, and so
to make that (a very slightly bit) easier I am adding back the SSL/TLS
functions to Botan, so other SSL/TLS libs can use them directly.
|
|
|
|
|
|
|
|
|
| |
want to inline the CMAC computation in EAX mode.
Also optimize CMAC::final_result slightly. Only write to state directly,
instead of also the write buffer (this should help L1 data caching), and
avoid what was basically a no-op where we zeroized part of a buffer and
then xored it against another buffer.
|
| |
|
|
|
|
|
|
|
|
| |
Blowfish Sboxes into one 1024 word array and index into them at
offsets. On my x86-64 machine there is no real difference between the
two, but on register constrained processor like x86 it may make a large
difference, since the x86 has a much easier time indexing off a single
address held in a register rather than 4 distinct ones.
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations to class declarations that do not support copying (for
instance because of const members). Apparently at /W4 Visual C++ warns
unless this is the case, and it seems reasonably good practice to
disable copying on most of these objects anyway due to pointer and
reference aliasing.
Instead of adding an operator= to User_Interface, I made the member
preset_passphrase non-const. This seemed like a cleaner solution to me.
(It may also be the cleaner solution in the pubkey code)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
however now instead it takes a HashFunction pointer, which it deletes
in its destructor.
Why the change? For one, lookup.h, while seemingly a bunch of standalone
functions, actually calls into a large mass of global state (in short, it
is icky). I have a plan in mind for removing much of this while still
providing a high level interface (actually hopefully better than now),
here is just the start.
Now, calling clone() on a LubyRackoff object will now return a new object
with a clone() of the HashFunction. Previously we called get_hash on
the name, which goes through the whole global lookup bit. This is also
good since if you construct one with (say) an OpenSSL provided hash,
clones of it will now also use that implementation.
|
|
|
|
|
|
|
| |
on x86, x86-64, and m68k and not other platforms. Something about the
memory model I'm hitting? Valgrind shows nothing. Rather than struggle with
it further, for minimal gain, I'm reverting. If someone ever does
figure it out, this will be easy to reapply.
|
| |
|
| |
|
| |
|
|
|
|
| |
pointer used over and over again in MGF1::mask.
|
|
|
|
|
| |
move in there. Make it a subclass of std::bad_alloc instead of
Botan::Exception (this may prove to be a design mistake).
|
| |
|
| |
|
|
|
|
|
|
|
| |
bigint_simple_mul and bigint_simple_sqr. Examining these
functions made it clear inlining would be beneficial, so these two
functions have been moved from an anonymous namespace into mp_mulop.cpp
(to allow assembly versions).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
can easily perform the operation manually using get_reg), and InSiTo
wants to access it, so go ahead and make it public.
|
| |
|
| |
|
|
|
|
|
| |
words. BigInt::sig_words() was showing up very hot on valgrind runs, this
seems to reduce the usage substantially.
|
|
|
|
|
| |
pretty opaque; now use the easier to remember DL_Group::DSA_PARAMETERS
and DL_Group::DH_PARAMETERS
|
|
|
|
| |
of always converting to u64bit and passing to a non-inlined function.
|
|
|
|
|
|
| |
xor_buf.h. The optimization using reinterpret_cast previously
used in the amd64 module is now used directly in the stock header, as
long as BOTAN_TARGET_UNALIGNED_LOADSTOR_OK is set.
|
| |
|