openssl/doc
Richard Levitte f7397f0d58 Fix EVP_Cipher() for provided cipher implementations
EVP_Cipher() would return whatever ctx->cipher->ccipher() returned
with no regard for historical semantics.

We change this to first look if there is a ctx->cipher->ccipher(), and
in that case we treat the implementation as one with a custom cipher,
and "translate" it's return value like this: 0 => -1, 1 => outl, where
|outl| is the output length.

If there is no ctx->cipher->ccipher, we treat the implementation as
one without a custom cipher, call ctx->cipher->cupdate or
ctx->cipher->cfinal depending on input, and return whatever they
return (0 or 1).

Furthermore, we add a small hack in EVP_CIPHER_flags() to check if the
cipher is a provided one, and add EVP_CIPH_FLAG_CUSTOM_CIPHER to the
flags to be returned if there is a cipher->ccipher.  That way,
provided implementations never have to set that flag themselves, all
they need to do is to include a OSSL_FUNC_CIPHER_CIPHER function.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10137)
2019-10-11 15:55:36 +02:00
..
HOWTO Fix errors found by new find-doc-nits 2019-10-03 10:33:54 +10:00
internal POD: stop abusing comment 2019-10-11 15:30:57 +02:00
man1 POD: stop abusing comment 2019-10-11 15:30:57 +02:00
man3 Fix EVP_Cipher() for provided cipher implementations 2019-10-11 15:55:36 +02:00
man5 Deprecate NCONF_WIN32() function 2019-10-06 10:55:02 +02:00
man7 POD: stop abusing comment 2019-10-11 15:30:57 +02:00
dir-locals.example.el
fingerprints.txt
openssl-c-indent.el
README

README  This file

fingerprints.txt
        PGP fingerprints of authorised release signers

standards.txt
        Moved to the web, https://www.openssl.org/docs/standards.html

HOWTO/
        A few how-to documents; not necessarily up-to-date

man1/
        The openssl command-line tools; start with openssl.pod

man3/
        The SSL library and the crypto library

man5/
        File formats

man7/
        Overviews; start with crypto.pod and ssl.pod, for example
        Algorithm specific EVP_PKEY documentation.

Formatted versions of the manpages (apps,ssl,crypto) can be found at
        https://www.openssl.org/docs/manpages.html