Update EVP_Cipher documentation some more.

It doesn't retain partial blocks but it DOES update internal cipher state. ssl/
depends on this property.

Change-Id: I1e44b612c2e1549e096de8b71726007dcbc68de3
Reviewed-on: https://boringssl-review.googlesource.com/2640
Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
David Benjamin 2014-12-17 05:16:16 -05:00 committed by Adam Langley
parent 1bea173fd4
commit cf70188d53

View File

@ -193,9 +193,12 @@ OPENSSL_EXPORT int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out,
int *out_len);
/* EVP_Cipher performs a one-shot encryption/decryption operation. No partial
* blocks etc are maintained between calls. It returns one on success and zero
* otherwise, unless |EVP_CIPHER_flags| has |EVP_CIPH_FLAG_CUSTOM_CIPHER|
* set. Then it returns the number of bytes written or -1 on error.
* blocks are maintained between calls. However, any internal cipher state is
* still updated. For CBC-mode ciphers, the IV is updated to the final
* ciphertext block. For stream ciphers, the stream is advanced past the bytes
* used. It returns one on success and zero otherwise, unless |EVP_CIPHER_flags|
* has |EVP_CIPH_FLAG_CUSTOM_CIPHER| set. Then it returns the number of bytes
* written or -1 on error.
*
* WARNING: this differs from the usual return value convention when using
* |EVP_CIPH_FLAG_CUSTOM_CIPHER|.