Some KNF and fix the vairable spelling.
copy a comment placed in other files; req from miod
Add a comment documenting where libssl depends upon the current (objectionable)
behaviour of this code, to prevent people from blindly changing it.
BUF_MEM_grow_clean() takes a size_t as the size argument. Remove false comments
mentioning it's an int, bogus (int) casts and bounds checks against INT_MAX
(BUF_MEM_grow_clean has its own integer bounds checks).

ok deraadt@
Change the actual default for returned asn1 strings to be utf8 in the code,
rather than only in the config file, to trip people up later.
Found, and fix pleaded for by <spider@skuggor.se> who apparently
spent hours chasing it down.
ok miod@
annoying whitespace
Get the public headers from the official place with <openssl/ >
from Brent Cook
Use C99 initialisers for cipher_aliases. This improves readability,
removes the need for zero values to be specified (meaning that we usually
specify two fields instead of 12), makes the field names grepable and
protects from future field reordering/removal.

ok beck@ miod@
Clean up the tls1_change_cipher_state() key length handling and use a
single variable with a descriptive name, instead of two poorly named
variables.

Largely based on Adam Langley's chromium patches.

ok miod@
EBCDIC support died a while ago, except in a comment.
Avoid the use of an uninitialised variable. In reality, this is a non-issue
since the calculated value is not actually used in the uninitialised case.
Change the code so that we only do the calculation if we actually need it.

Issue detected by clang and reported by both brad@ and Brent Cook.
Add a deprecated attribute to all CRYPTO_dbg_ functions.
ok deraadt@
Remove __bio_h__attr__ wrapper around __attribute__, since earlier statements
in this file directly use __attribute__.

ok deraadt@
Commit this before the head-scratching leads to premature baldness:
    memset(a->data, 0, (unsigned int)a->max);
but the decl is:
    size_t max;
size_t could be larger than int, especially in some of the systems OpenSSL
purports to support.

How do _intentionally truncating_ casts like enter into a codebase?
Lack of understanding of C, at a minimum.  Generally the objects are
small, but this code is _intentionally unready_ for large objects.
ok miod
There is no need for is{upper,lower}() tests before to{lower,uppper}(),
since all other characters are mapped through transparently.
ok jsing
In tls1_setup_key_block(), use the correct IV length for GCM mode, which
results in the key block length calculation also being correct. Rename a
number of variables so that their purpose becomes clear and simplify some
of the code.

Inspired by Adam Langley's chromium diffs.

ok miod@
Overhaul the key block handling in tls1_change_cipher_state() - use
meaningful variable names with pointer arithmitic, rather than n, i, j
and p with array indexing.

Based on Adam Langley's chromium diffs.

ok miod@
Make usage for -quiet match the manpage and fix a misspelling
realloc with NULL is same as malloc
ok guenther
Clean up some of the nightmare of string and pointer arithmatic in
this nasty function.

This gets rid of the nasty tmp variables used to hold temporary strings
and the DECIMAL_SIZE hack. it gets rid of the rather pointless null checks
for buf (since the original code dereferences it before checking). It also
gets rid of the insane possibility this could return -1 when stuff is
using the return values to compute lengths All the failure cases now
return 0 and an empty string like the first error case in the original
code.
ok miod@ tedu@