EVP_BytesToKey uses min() on a mixture of signed and unsigned
paramters. To avoid compiler warnings, use unsigned int for all
of the iv and key lengths in this function.
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
Some kernels define u8, u16 and u32 in their standard headers.
Redefining these symbols in hcrypto's own code prevents that code
from compiling on those kernels.
Instead, just replace all occurrences of u8, u16 and u32 with the
symbols that uint8_t, uint16_t and uint32_t that they were being
typedef'd as, anyway.
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
Some kernels #define u as a pointer to the current user structure.
This causes problems when trying to use hcrypto's hash routines in
those kernels, as they try to use 'u' as a variable name for a
structure pointer. Change this variable name to avoid the conflict.
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
If RANDFILE and HOME environment variables aren't defined, failover to
looking up the user's profile path. In particular, default to a file
named .rnd in the user's local (non-roamin) application data
directory.
During a test run, cross check the Windows exports list against the
version-script files. For the test to pass, all symbols on either
list should be accounted for.
If there are symbols that are specific to Windows or symbols that are
not included on Windows, they should be annotated in the .def file as
follows:
;! non_windows_symbol
common_symbol
windows_only_symbol ;!
Once DLLs and EXEs are built, they need to have their manifests
processed and signed. These steps are encapsulated in the EXEPREP and
DLLPREP Makefile macros. Use them instead of invoking each processing
macro individually.
rand.h doesn't require any symbols defined in bn.h, so don't
include bn.h in the header file. This makes it easier for applications
to include only the symmetric portions of libhcrypto.
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>