| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
and verifying.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1836439 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
segfault if the PRNG does not initialise.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1836438 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keep the root pool scope for things that need it only (global lists of drivers
or libs), but otherwise use the passed in pool (crypto libs, default PRNG,
errors).
This allows the caller to control the scope of initialization functions, and
for instance be able to re-initialize when apr_crypto is unloaded/reloaded from
a DSO attached to the passed-in pool (e.g. mod_ssl in httpd).
apu_dso_load() needs to return its handles when called multiple times (EINIT),
it's not the caller's job (like crypto drivers) to maintain them.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833525 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
While at it, also fix bad copy/paste function names for MSCNG/MSCAPI.
(BTW, those libs are totally ENOTIMPL/unplugged for now).
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833456 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833451 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833450 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crypto libs initialized on (and terminated with) the given pool, not
the root pool. The latter is used only to maintain the active libs.
This allows the users to control the scope of the lib, e.g. when itself
is called by dynamic linking or DSO.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833449 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Link underlying crypto libraries (openssl, nss, and commoncrypto) with libapr
when the corresponding --with is configured. This allows to initialize, terminate
or check whether initialized respectively with apr_crypto_lib_init(),
apr_crypto_lib_term() or apr_crypto_lib_is_initialized().
Users can now control the (un)initialization of those libraries, notably when
they also use them independently and that doing this multiple times can cause
leaks or unexpected behaviour.
The initialization code is moved from "apr_crypto_{openssl,nss,commoncrypto}.c"
where previously loaded dynamically (DSO) to "apr_crypto_internal.c" which is
linked with libapr.
Also apr_crypto_prng_init() can make sure the underlying crypto lib is ready.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833421 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New apr_crypto_prng API and apr_crypto[_thread]_random_bytes() functions.
Allows to generate cryptographically secure random bytes indefinitely
given an initial seed of APR_CRYPTO_PRNG_SEED_SIZE bytes (32), which
is either provided by the caller or automatically gathered from the system.
The CPRNG can also be re-seeded at any time, or after a process is fork()ed.
The internal key is renewed every APR_CRYPTO_PRNG_SEED_SIZE random
bytes produced and those data once returned to the caller are cleared from
the internal state, which ensures forward secrecy.
This CPRNG is fast, based on a stream cipher, and will never block besides
the initial seed or any reseed if it depends on the system entropy.
Finally, it can be used either globally (locked in multithread environment),
per-thread (a lock free instance is automatically created for each thread on
first use), or created as standalone instance (manageable independently).
For now it's only implemented with the OpenSSL library as underlying crypto,
that is --with-crypto --with-openssl needs to be configured, and the latter
links libcrypto with APR.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1833359 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
function.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1763669 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
compilers.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1763665 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
generated from a passphrase or a raw secret provided by the caller.
Deprecate apr_crypto_passphrase().
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1752008 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
stops the second and subsequent attempt to use the API from failing
claiming the library is not initialised.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1751806 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
| |
on error path.
Submitted by: Philip Martin <philip.martin wandisco.com>
Reviewed by: trawick
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1619438 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
PR: 55587
Submitted by: Carlo Bramini <carlo.bramix libero.it>
Reviewed by: trawick
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1529554 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1479836 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
where OpenSSL has been deprecated.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1394552 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
initialisation of each crypto driver works when the first driver
isn't in use.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1308318 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
compiled library is initialised for the first time.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1308131 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
has already been loaded. Fix ported from apr_dbd.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1308087 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
apr_crypto_init() to apr_crypto_get_driver(), so that we don't lose
the parameters.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1211987 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
which the memory was allocated from is cleaned up.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1210524 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1187932 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
the apr_dbd inspired string passing, and simplify configuration.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1187914 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1133587 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
apr_crypto_get_block_key_modes() to provide a way to programmatically
query what key types and modes are supported by a provider, either per
mode/type, or by iterating through a hashtable.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1129433 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
| |
passed.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1103382 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1103367 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@1103258 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
| |
complete types where only an incomplete type is available. Remove
the driver parameter from the apr_crypto API, the driver is now
wrapped inside the apr_crypto_t.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@899910 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@893012 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@892984 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@891841 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
| |
remains private. Correctly reference the apr_crypto_t context as a context
and not a factory.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@890579 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
| |
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@794523 13f79535-47bb-0310-9956-ffa450edef68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--disable-modular-dso:
* configure.in, Makefile.in: Use APR_DSO_MODULES for set of DSOs to
build.
* util-misc/apu_dso.c, include/private/apu_internal.h: Use macro
APR_HAVE_MODULAR_DSO to determine whether modular DSO build is used.
* build/dso.m4 (APR_MODULAR_DSO): Renamed from APU_CHECK_UTIL_DSO.
Define APR_HAVE_MODULAR_DSO if modular DSO biuld is used.
Add to LIBS not APRUTIL_LIBS. Rename configure flag to
--disable-modular-dso to disable modular DSO build.
* ldap/*.c, dbm/*.c, dbd/*.c, crypto/*.c: Adjust to use
APR_HAVE_MODULAR_DSO.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@757884 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@757729 13f79535-47bb-0310-9956-ffa450edef68
|