BIO_free() returns immediately when the sole input is NULL.
Remove unnecessary NULL check.

ok miod@
Add missing year to copyright.
Link dependencies on libssl and libcrypto were missing.
OPENSSL_NO_RC5 is #defined in the #includes, so it's not needed here.

ok deraadt@
remove non-portable __progname extern from arc4random unit test.

ok @deraadt
The RSA, DH, and ECDH temporary key callbacks expect the number of keybits
for the key (expressed in RSA key bits, which makes *no sense* for ECDH) as
their second argument, not zero.

(jsing@ notes that the RSA callback is only invoked for 'export' ciphers,
which have been removed from LibreSSL, and for the SSL_OP_EPHEMERAL_RSA
option, which is makes the application non-compliant.  More fuel for the
tedu fire...)

jasper@ noted the breakage and bisected it down to the diff that broke this
ok jsing@ miod@
Remove SRP code. It contains a bug (this should not surprise anyone), but
the details are under embargo. The original plan was to wait for the
embargo to lift, but we've been waiting for quite some time, and there's no
indication of when or even if it will end. No sense in dragging this out
any longer.

The SRP code has never been enabled in OpenBSD, though I understand it is
in use by some other people. However, in light of this and other issues,
we're officially saying SRP is outside the scope of libressl. (For now.)
digests: *_LONG_LOG2 is not used, stop talking about it

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
md32_common: allow digest to override Final function

Define HASH_NO_FINAL to let digest implementation to provide Hash_Final
function on its own.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Add GOST 28147-89 cipher implementation

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Add GOST 28147-89 MAC implementation

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Add GOSR R 34.11-94 message digest implementation

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Hook GOST 28147-89 cipher algorithms

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Hook GOST R 34.11-94 message digest algorithm

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Hook GOST 28147-89 MAC algorithm

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Enable GOST algorithms

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Add testsuite for GOST algorithms

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Hook GOST error handling and strings

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>