KNF.
More KNF.
Replace all use of ERR_add_error_data with ERR_asprintf_error_data.
This avoids a lot of ugly gymnastics to do snprintfs before sending the
bag of strings to ERR, and eliminates at least one place in dso_dlfctn.c
where it was being called with the incorrect number of arguments and
using random things off the stack as addresses of strings.
ok krw@, jsing@
Appease gcc3 -Wuninitialized.
import of OpenSSL 0.9.8h
import OpenSSL-1.0.1c
Fix leak last commit introduced. Spotted by Sebastian Kapfer.
We do not need a separate file for two compatibility wrapper functions.

ok miod@
Put explicit (void) in function declarations and shuffle keywords in some
declaration to pass -Wextra, should we want to add it to CFLAGS.
No binary change.
Unifdef -U OPENSSL_BUILD_SHLIBCRYPTO, since all it causes under Unix is to
redefine OPENSSL_EXTERN from `extern' to `extern'.
static const char * = "" -> static const char[] = "", to produce shorter code.
No functional change.
Use C99 initializers for the various FOO_METHOD structs. More readable, and
avoid unreadable/unmaintainable constructs like that:

const EVP_PKEY_ASN1_METHOD cmac_asn1_meth =
        {
        EVP_PKEY_CMAC,
        EVP_PKEY_CMAC,
        0,

        "CMAC",
        "OpenSSL CMAC method",

        0,0,0,0,

        0,0,0,

        cmac_size,
        0,
        0,0,0,0,0,0,0,

        cmac_key_free,
        0,
        0,0
        };

ok matthew@ deraadt@
Remove orphaned l2n6 and n2l6 macros.
typo in comment
import 0.9.7b (without idea and rc5)
Leftover includes and local declarations; from Gebruiker Schoot
Remove ending cplusplus guard followed by starting cplusplus guard; from
Gebruiker Schoot.
SSL_OP_ALL is supposed to be all options and workarounds that are safe,
but disabling attack mitigations is not safe. 0.9.6d contained a
workaround for an attack against CBC modes. 0.9.6e disabled it by default
because "some" implementations couldn't handle empty fragments. 12 years
have passed. Does anybody still care? Let's find out.
ok miod
use the correct algorithm mask. reported by satish lvr via
http://marc.info/?l=openssl-dev&m=139779977532459&w=2
ok miod
Remove WIN32, WIN64 and MINGW32 tentacles.
Also check for _LP64 rather than __arch64__ (the former being more reliable
than __LP64__ or __arch64__) to tell 64-bit int platforms apart from 32-bit
int platforms.

Loosely based upon a diff from Martijn van Duren on tech@