remove some of the bigger lies, as applicable to libressl.
Don't write out more than we have allocated in obj_txt, as the glory
that is OBJ_obj2txt() can return a larger value..
ok tedu@
no need for null check before free. from Brendan MacDonell
remove CONST_STRICT. ok beck deraadt
Rework parse_name() so that variable declaration is separate from function
based initialisation, use more readable variable names and use a goto
rather than duplicating the frees for the error and non-error paths...

ok beck@
While working on another diff I ended up looking to see why on earth the
DTLS code had a chunk that checked to see if the SSL version was *not*
DTLS. Turns out that this is inside a big #if 0 block with a comment
explaining why DTLS will never need this code...

The DTLS code was clearly written by wholesale copying the SSLv3 code.
Any code not applicable to DTLS was seemingly #if 0'd or commented out
and left for others to find.

d1_pkt.c is copied from s3_pkt.c and it has a do_dtls1_write() function
that has the same function signature as do_ssl3_write(), except that the
create_empty_fragement (yes, that is the spelling in ssl_locl.h) argument
is unused for DTLS (although there is code that pretends to use it) since
it uses explicit IV (as the comment notes).

Instead of leaving this turd lying around, nuke the #if 0'd code (along
with the check for *not* DTLS) and remove the pointless
create_empty_fragment argument given the only two do_dtls1_write() calls
specify zero.

This kind of thing also makes you wonder how much actual peer review
occurred before the code was initially committed...

ok beck@
more: no need for null check before free
ok tedu guenther
more: no need to null check before free; ok guenther
Fix some more nasty stringyness in here by using asprintf instead of cruft.
gets rid of the second last use of the awful DECIMAL_SIZE.
Make use of SSL_IS_DTLS, SSL_USE_EXPLICIT_IV, SSL_USE_SIGALGS and
SSL_USE_TLS1_2_CIPHERS.

Largely based on OpenSSL head.
remove some #if 0 code. we don't need any more reminders that we're using
a not quite appropriate data structure. ok jsing
More KNF.
Move the AES wrap test code into regress.
Move sha256 and sha512 tests to regress and wire them up.
Don't add potentially nasty stderr uses to dead CRYPTO_dbg_mem functions.
But do use the abort(), which we are hoping all future vendors will move
towards the more modern "do not flush streams"; hint hint, if you didn't
do that already, there are grave risks because much software brings risk
without that behaviour. We didn't cause the change.. POSIX did...
ok beck
initialize variable that can be used uninitialized

If EVP_DecryptInit_ex() returns NULL, j is incremented by a random amount.

clang warning:
pem/pem_lib.c:472:6: error: variable 'i' is used uninitialized whenever 'if' condition is false
      [-Werror,-Wsometimes-uninitialized]
        if (o)
            ^
pem/pem_lib.c:479:7: note: uninitialized use occurs here
        j += i;
             ^
pem/pem_lib.c:472:2: note: remove the 'if' if its condition is always true
        if (o)
        ^~~~~~
pem/pem_lib.c:446:7: note: initialize the variable 'i' to silence this warning
        int i, j, o, klen;
fix type string conversion warning

ASN1_STRING_data returns an unsigned char *, but strlcat's second
parameter is a const char *
remove unused static datastructures

Neither of these is used anywhere within their object files.
do not include public headers as though they are local

Avoid having to use -I trickery to find public header files included as
though they are private.
do not pretend to support -rand in apps

Remove support for parsing the unused -rand option and the unused random
buffer variables.