[openssl] master update

Matt Caswell matt at openssl.org
Fri Jun 28 09:07:43 UTC 2019


The branch master has been updated
       via  0da1d43a94ffc8f2aaadcaa441f556ed54f0ecda (commit)
       via  70c35fd1f6467da5563c6cab3ea373e6359cf080 (commit)
       via  42738cdeaa1103c0bd1e7500cf64ac62a015b3a2 (commit)
      from  262c00882a2fd7cf16672bf467a86f75b4098a7c (commit)


- Log -----------------------------------------------------------------
commit 0da1d43a94ffc8f2aaadcaa441f556ed54f0ecda
Author: Matt Caswell <matt at openssl.org>
Date:   Mon Jun 24 17:47:04 2019 +0100

    Document EVP_CIPHER_up_ref()
    
    Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/9233)

commit 70c35fd1f6467da5563c6cab3ea373e6359cf080
Author: Matt Caswell <matt at openssl.org>
Date:   Mon Jun 24 17:38:01 2019 +0100

    Rename EVP_MD_upref/EVP_CIPHER_upref to EVP_MD_up_ref/EVP_CIPHER_up_ref
    
    All the other upref functions are spelled as "up_ref". These new functions
    should be consistent.
    
    Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/9233)

commit 42738cdeaa1103c0bd1e7500cf64ac62a015b3a2
Author: Matt Caswell <matt at openssl.org>
Date:   Mon Jun 24 17:34:14 2019 +0100

    Add documentation for EVP_CIPHER_fetch
    
    We extend the EVP_MD_fetch documentation to be more generic and to also
    cover EVP_CIPHER_fetch. We expect this to be further expanded with other
    "fetch" functions in the future.
    
    Reviewed-by: Shane Lontis <shane.lontis at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/9233)

-----------------------------------------------------------------------

Summary of changes:
 crypto/evp/cmeth_lib.c           |   2 +-
 crypto/evp/digest.c              |   8 +--
 crypto/evp/evp_enc.c             |   8 +--
 crypto/evp/evp_lib.c             |   2 +-
 doc/man3/EVP_CIPHER_meth_new.pod |   9 ++-
 doc/man3/EVP_MD_fetch.pod        | 128 ++++++++++++++++++++++++++++-----------
 doc/man3/EVP_MD_meth_new.pod     |  10 +--
 include/openssl/evp.h            |   4 +-
 test/evp_extra_test.c            |   4 +-
 util/libcrypto.num               |   4 +-
 util/missingcrypto.txt           |   2 -
 11 files changed, 123 insertions(+), 58 deletions(-)

diff --git a/crypto/evp/cmeth_lib.c b/crypto/evp/cmeth_lib.c
index 0520157..40aca34 100644
--- a/crypto/evp/cmeth_lib.c
+++ b/crypto/evp/cmeth_lib.c
@@ -60,7 +60,7 @@ void EVP_CIPHER_meth_free(EVP_CIPHER *cipher)
     }
 }
 
-int EVP_CIPHER_upref(EVP_CIPHER *cipher)
+int EVP_CIPHER_up_ref(EVP_CIPHER *cipher)
 {
     int ref = 0;
 
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c
index 9f19744..f26caed 100644
--- a/crypto/evp/digest.c
+++ b/crypto/evp/digest.c
@@ -422,7 +422,7 @@ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in)
     out->provctx = NULL;
 
     if (in->fetched_digest != NULL)
-        EVP_MD_upref(in->fetched_digest);
+        EVP_MD_up_ref(in->fetched_digest);
 
     out->provctx = in->digest->dupctx(in->provctx);
     if (out->provctx == NULL) {
@@ -665,9 +665,9 @@ static void *evp_md_from_dispatch(const OSSL_DISPATCH *fns,
     return md;
 }
 
-static int evp_md_upref(void *md)
+static int evp_md_up_ref(void *md)
 {
-    return EVP_MD_upref(md);
+    return EVP_MD_up_ref(md);
 }
 
 static void evp_md_free(void *md)
@@ -680,7 +680,7 @@ EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm,
 {
     EVP_MD *md =
         evp_generic_fetch(ctx, OSSL_OP_DIGEST, algorithm, properties,
-                          evp_md_from_dispatch, evp_md_upref,
+                          evp_md_from_dispatch, evp_md_up_ref,
                           evp_md_free);
 
 #ifndef FIPS_MODE
diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c
index 02f0e00..e7bebdc 100644
--- a/crypto/evp/evp_enc.c
+++ b/crypto/evp/evp_enc.c
@@ -1016,7 +1016,7 @@ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in)
     *out = *in;
     out->provctx = NULL;
 
-    if (in->fetched_cipher != NULL && !EVP_CIPHER_upref(in->fetched_cipher)) {
+    if (in->fetched_cipher != NULL && !EVP_CIPHER_up_ref(in->fetched_cipher)) {
         out->fetched_cipher = NULL;
         return 0;
     }
@@ -1179,9 +1179,9 @@ static void *evp_cipher_from_dispatch(const OSSL_DISPATCH *fns,
     return cipher;
 }
 
-static int evp_cipher_upref(void *cipher)
+static int evp_cipher_up_ref(void *cipher)
 {
-    return EVP_CIPHER_upref(cipher);
+    return EVP_CIPHER_up_ref(cipher);
 }
 
 static void evp_cipher_free(void *cipher)
@@ -1194,7 +1194,7 @@ EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm,
 {
     EVP_CIPHER *cipher =
         evp_generic_fetch(ctx, OSSL_OP_CIPHER, algorithm, properties,
-                          evp_cipher_from_dispatch, evp_cipher_upref,
+                          evp_cipher_from_dispatch, evp_cipher_up_ref,
                           evp_cipher_free);
 
 #ifndef FIPS_MODE
diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c
index faaa69d..8ed39cb 100644
--- a/crypto/evp/evp_lib.c
+++ b/crypto/evp/evp_lib.c
@@ -469,7 +469,7 @@ EVP_MD *EVP_MD_meth_dup(const EVP_MD *md)
     return to;
 }
 
-int EVP_MD_upref(EVP_MD *md)
+int EVP_MD_up_ref(EVP_MD *md)
 {
     int ref = 0;
 
diff --git a/doc/man3/EVP_CIPHER_meth_new.pod b/doc/man3/EVP_CIPHER_meth_new.pod
index c813838..3d4da9c 100644
--- a/doc/man3/EVP_CIPHER_meth_new.pod
+++ b/doc/man3/EVP_CIPHER_meth_new.pod
@@ -10,7 +10,8 @@ EVP_CIPHER_meth_set_set_asn1_params, EVP_CIPHER_meth_set_get_asn1_params,
 EVP_CIPHER_meth_set_ctrl, EVP_CIPHER_meth_get_init,
 EVP_CIPHER_meth_get_do_cipher, EVP_CIPHER_meth_get_cleanup,
 EVP_CIPHER_meth_get_set_asn1_params, EVP_CIPHER_meth_get_get_asn1_params,
-EVP_CIPHER_meth_get_ctrl - Routines to build up EVP_CIPHER methods
+EVP_CIPHER_meth_get_ctrl, EVP_CIPHER_up_ref
+- Routines to build up EVP_CIPHER methods
 
 =head1 SYNOPSIS
 
@@ -62,6 +63,8 @@ EVP_CIPHER_meth_get_ctrl - Routines to build up EVP_CIPHER methods
                                                            int type, int arg,
                                                            void *ptr);
 
+ int EVP_CIPHER_up_ref(EVP_CIPHER *cipher);
+
 =head1 DESCRIPTION
 
 The B<EVP_CIPHER> type is a structure for symmetric cipher method
@@ -223,6 +226,8 @@ EVP_CIPHER_meth_get_get_asn1_params() and EVP_CIPHER_meth_get_ctrl()
 are all used to retrieve the method data given with the
 EVP_CIPHER_meth_set_*() functions above.
 
+EVP_CIPHER_up_ref() increments the reference count for an EVP_CIPHER structure.
+
 =head1 RETURN VALUES
 
 EVP_CIPHER_meth_new() and EVP_CIPHER_meth_dup() return a pointer to a
@@ -231,6 +236,8 @@ All EVP_CIPHER_meth_set_*() functions return 1.
 All EVP_CIPHER_meth_get_*() functions return pointers to their
 respective B<cipher> function.
 
+EVP_CIPHER_up_ref() returns 1 for success or 0 otherwise.
+
 =head1 SEE ALSO
 
 L<EVP_EncryptInit>
diff --git a/doc/man3/EVP_MD_fetch.pod b/doc/man3/EVP_MD_fetch.pod
index cba3bc4..f229292 100644
--- a/doc/man3/EVP_MD_fetch.pod
+++ b/doc/man3/EVP_MD_fetch.pod
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-EVP_MD_fetch
+EVP_MD_fetch, EVP_CIPHER_fetch
 - Functions to explicitly fetch algorithm implementations
 
 =head1 SYNOPSIS
@@ -11,60 +11,106 @@ EVP_MD_fetch
 
  EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm,
                       const char *properties);
+ EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm,
+                              const char *properties);
 
 =head1 DESCRIPTION
 
-The B<EVP_MD> object is used for representing a digest method implementation.
+Cryptographic algorithms are represented by different OpenSSL objects depending
+on what type of algorithm it is. The following cryptographic algorithm types are
+supported.
 
-Having obtained a digest implementation as an B<EVP_MD> type it can be used to
-calculate the digest of input data using functions such as
-L<EVP_DigestInit_ex(3)>, L<EVP_DigestUpdate(3)> and L<EVP_DigestFinal_ex(3)>.
+=over 4
+
+=item B<EVP_MD>
+
+Represents a digest algorithm.
+
+=item B<EVP_CIPHER>
+
+Represents a symmetric cipher algorithm.
+
+=item B<EVP_MAC>
+
+Represents a Message Authentication Code algorithm.
+
+=item B<EVP_KDF>
+
+Represents a Key Derivation Function algorithm.
+
+=back
 
-Digest implementations may be obtained in one of three ways, i.e. implicit
-fetch, explicit fetch or user defined.
+The algorithm objects may or may not have an associated algorithm
+implementation.
+Cryptographic algorithms are implemented by providers.
+Any algorithm may be supported by zero or more providers.
+In order to use an algorithm an implementation must first be obtained.
+This can happen in one of three ways, i.e. implicit fetch, explicit fetch or
+user defined.
 
 =over 4
 
 =item Implicit Fetch
 
 With implicit fetch an application can use functions such as L<EVP_sha256(3)>,
-L<EVP_sha512(3)> or L<EVP_blake2b512(3)> to obtain an B<EVP_MD> object. When
-used in a function like L<EVP_DigestInit_ex(3)> the actual implementation to
-be used will be fetched implicitly using default search criteria. Typically,
-(unless the default search criteria have been changed and/or different providers
-have been loaded), this will return an implementation of the appropriate
-algorithm from the default provider.
+L<EVP_blake2b512(3)> or L<EVP_aes_128_cbc(3)> to obtain an algorithm object with
+no associated implementation.
+When used in a function like L<EVP_DigestInit_ex(3)> or L<EVP_CipherInit_ex(3)>
+the actual implementation to be used will be fetched implicitly using default
+search criteria.
+Typically, this will return an implementation of the appropriate algorithm from
+the default provider unless the default search criteria have been changed and/or
+different providers have been loaded.
 
 =item Explicit Fetch
 
-With explicit fetch an application uses the EVP_MD_fetch() function to obtain
-an algorithm implementation. An implementation with the given name and
-satisfying the search criteria specified in the B<properties> parameter
-combined with the default search criteria will be looked for within the
-available providers and returned.
+With explicit fetch an application uses one of the "fetch" functions to obtain
+an algorithm object with an associated implementation.
+An implementation with the given name that satisfies the search criteria
+specified in the B<properties> parameter combined with the default search
+criteria will be looked for within the available providers and returned.
 See L<EVP_set_default_properties(3)> for information on default search criteria
 and L<OSSL_PROVIDER(3)> for information about providers.
 
 =item User defined
 
-Using the user defined approach an application constructs its own EVP_MD object.
-See L<EVP_MD_meth_new(3)> for details.
+Using the user defined approach an application constructs its own algorithm
+object.
+See L<EVP_MD_meth_new(3)> and L<EVP_CIPHER_meth_new(3)> for details.
 
 =back
 
-The EVP_MD_fetch() function will look for an algorithm within the providers that
-have been loaded into the B<OPENSSL_CTX> given in the B<ctx> parameter. This
-parameter may be NULL in which case the default B<OPENSSL_CTX> will be used. See
-L<OPENSSL_CTX_new(3)> and L<OSSL_PROVIDER_load(3)> for further details.
+Having obtained an algorithm implementation as an algorithm object it can then
+be used to perform cryptographic operations.
+For example to calculate the digest of input data with an B<EVP_MD> algorithm
+object you can use functions such as L<EVP_DigestInit_ex(3)>,
+L<EVP_DigestUpdate(3)> and L<EVP_DigestFinal_ex(3)>.
+
+The fetch functions will look for an algorithm within the providers that
+have been loaded into the B<OPENSSL_CTX> given in the B<ctx> parameter.
+This parameter may be NULL in which case the default B<OPENSSL_CTX> will be
+used.
+See L<OPENSSL_CTX_new(3)> and L<OSSL_PROVIDER_load(3)> for further details.
 
 The B<algorithm> parameter gives the name of the algorithm to be looked up.
-Different algorithms can be made available by loading different providers. The
-built-in default provider algorithm implementation names are: SHA1, SHA224,
-SHA256, SHA384, SHA512, SHA512-224, SHA512-256,SHA3-224, SHA3-256, SHA3-384,
-SHA3-512, SHAKE128, SHAKE256, SM3, BLAKE2b512, BLAKE2s256 and MD5-SHA1.
+Different algorithms can be made available by loading different providers.
+
+The built-in default provider digest algorithm implementation names are: SHA1,
+SHA224, SHA256, SHA384, SHA512, SHA512-224, SHA512-256, SHA3-224, SHA3-256,
+SHA3-384, SHA3-512, SHAKE128, SHAKE256, SM3, BLAKE2b512, BLAKE2s256 and
+MD5-SHA1.
+
+The built-in default provider cipher algorithm implementation names are:
+AES-256-ECB, AES-192-ECB, AES-128-ECB, AES-256-CBC, AES-192-CBC, AES-128-CBC,
+AES-256-OFB, AES-192-OFB, AES-128-OFB, AES-256-CFB, AES-192-CFB, AES-128-CFB,
+AES-256-CFB1, AES-192-CFB1, AES-128-CFB1, AES-256-CFB8, AES-192-CFB8,
+AES-128-CFB8, AES-256-CTR, AES-192-CTR, AES-128-CTR, id-aes256-GCM,
+id-aes192-GCM and id-aes128-GCM.
 
 Additional algorithm implementations may be obtained by loading the "legacy"
-provider. The names of these algorithms are: RIPEMD160, MD2, MD4, MD5, MDC2 and
+provider.
+
+The legacy provider digest algorithms are: RIPEMD160, MD2, MD4, MD5, MDC2 and
 whirlpool.
 
 The B<properties> parameter specifies the search criteria that will be used to
@@ -82,8 +128,13 @@ NULL in which case any implementation from the available providers with the
 given algorithm name will be returned.
 
 The return value from a call to EVP_MD_fetch() must be freed by the caller using
-L<EVP_MD_meth_free(3)>. Note that EVP_MD objects are reference counted. See
-L<EVP_MD_upref(3)>.
+L<EVP_MD_meth_free(3)>.
+Note that EVP_MD objects are reference counted. See L<EVP_MD_up_ref(3)>.
+
+The return value from a call to EVP_CIPHER_fetch() must be freed by the caller
+using L<EVP_CIPHER_meth_free(3)>.
+Note that EVP_CIPHER objects are reference counted.
+See L<EVP_CIPHER_up_ref(3)>.
 
 =head1 NOTES
 
@@ -107,6 +158,14 @@ an EVP_MD object, or NULL on error.
 Fetch any available implementation of SHA256 in the default context:
 
  EVP_MD *md = EVP_MD_fetch(NULL, "SHA256", NULL);
+ ...
+ EVP_MD_meth_free(md);
+
+Fetch any available implementation of AES-128-CBC in the default context:
+
+ EVP_CIPHER *cipher = EVP_CIPHER_fetch(NULL, "AES-128-CBC", NULL);
+ ...
+ EVP_CIPHER_meth_free(cipher);
 
 Fetch an implementation of SHA256 from the default provider in the default
 context:
@@ -157,9 +216,10 @@ other providers:
 
 =head1 SEE ALSO
 
-L<EVP_DigestInit(3)>, L<EVP_MD_meth_new(3)>, L<EVP_MD_meth_free(3)>,
-L<EVP_MD_upref(3)>, L<OSSL_PROVIDER_load(3)>, L<OPENSSL_CTX(3)>,
-L<EVP_set_default_properties(3)>
+L<EVP_DigestInit_ex(3)>, L<EVP_EncryptInit_ex(3)>, L<EVP_MD_meth_new(3)>,
+L<EVP_MD_meth_free(3)>, L<EVP_CIPHER_meth_new(3)>, L<EVP_CIPHER_meth_free(3)>,
+L<EVP_MD_up_ref(3)>, L<EVP_CIPHER_up_ref(3)>, L<OSSL_PROVIDER_load(3)>,
+L<OPENSSL_CTX(3)>, L<EVP_set_default_properties(3)>
 
 =head1 HISTORY
 
diff --git a/doc/man3/EVP_MD_meth_new.pod b/doc/man3/EVP_MD_meth_new.pod
index 6269a05..5e35539 100644
--- a/doc/man3/EVP_MD_meth_new.pod
+++ b/doc/man3/EVP_MD_meth_new.pod
@@ -11,7 +11,7 @@ EVP_MD_meth_set_ctrl, EVP_MD_meth_get_input_blocksize,
 EVP_MD_meth_get_result_size, EVP_MD_meth_get_app_datasize,
 EVP_MD_meth_get_flags, EVP_MD_meth_get_init, EVP_MD_meth_get_update,
 EVP_MD_meth_get_final, EVP_MD_meth_get_copy, EVP_MD_meth_get_cleanup,
-EVP_MD_meth_get_ctrl, EVP_MD_upref
+EVP_MD_meth_get_ctrl, EVP_MD_up_ref
 - Routines to build up EVP_MD methods
 
 =head1 SYNOPSIS
@@ -54,7 +54,7 @@ EVP_MD_meth_get_ctrl, EVP_MD_upref
  int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
                                                int p1, void *p2);
 
- int EVP_MD_upref(EVP_MD *md);
+ int EVP_MD_up_ref(EVP_MD *md);
 
 =head1 DESCRIPTION
 
@@ -162,7 +162,7 @@ EVP_MD_meth_get_cleanup() and EVP_MD_meth_get_ctrl() are all used
 to retrieve the method data given with the EVP_MD_meth_set_*()
 functions above.
 
-EVP_MD_upref() increments the reference count for an EVP_MD structure.
+EVP_MD_up_ref() increments the reference count for an EVP_MD structure.
 
 =head1 RETURN VALUES
 
@@ -175,7 +175,7 @@ indicated sizes or flags.
 All other EVP_CIPHER_meth_get_*() functions return pointers to their
 respective B<md> function.
 
-EVP_MD_upref() returns 1 for success or 0 otherwise.
+EVP_MD_up_ref() returns 1 for success or 0 otherwise.
 
 =head1 SEE ALSO
 
@@ -184,7 +184,7 @@ L<EVP_DigestInit(3)>, L<EVP_SignInit(3)>, L<EVP_VerifyInit(3)>
 =head1 HISTORY
 
 The B<EVP_MD> structure was openly available in OpenSSL before version
-1.1.  EVP_MD_upref() was added in OpenSSL 3.0. All other functions described
+1.1.  EVP_MD_up_ref() was added in OpenSSL 3.0. All other functions described
 here were added in OpenSSL 1.1.
 
 =head1 COPYRIGHT
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
index 8195d11..2fb5fe2 100644
--- a/include/openssl/evp.h
+++ b/include/openssl/evp.h
@@ -80,7 +80,7 @@ int EVP_set_default_properties(OPENSSL_CTX *libctx, const char *propq);
 # ifndef EVP_MD
 EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type);
 EVP_MD *EVP_MD_meth_dup(const EVP_MD *md);
-int EVP_MD_upref(EVP_MD *md);
+int EVP_MD_up_ref(EVP_MD *md);
 void EVP_MD_meth_free(EVP_MD *md);
 
 int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize);
@@ -191,7 +191,7 @@ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
 EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
 EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher);
 void EVP_CIPHER_meth_free(EVP_CIPHER *cipher);
-int EVP_CIPHER_upref(EVP_CIPHER *cipher);
+int EVP_CIPHER_up_ref(EVP_CIPHER *cipher);
 
 int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len);
 int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags);
diff --git a/test/evp_extra_test.c b/test/evp_extra_test.c
index 48376a7..27ce98a 100644
--- a/test/evp_extra_test.c
+++ b/test/evp_extra_test.c
@@ -1150,8 +1150,8 @@ static int test_EVP_MD_fetch(int tst)
             || !TEST_int_eq(EVP_MD_block_size(md), SHA256_CBLOCK))
         goto err;
 
-    /* Also test EVP_MD_upref() while we're doing this */
-    if (!TEST_true(EVP_MD_upref(md)))
+    /* Also test EVP_MD_up_ref() while we're doing this */
+    if (!TEST_true(EVP_MD_up_ref(md)))
         goto err;
     /* Ref count should now be 2. Release both */
     EVP_MD_meth_free(md);
diff --git a/util/libcrypto.num b/util/libcrypto.num
index 40e80ff..69a1d50 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4783,12 +4783,12 @@ OSSL_PARAM_set_octet_ptr                4730	3_0_0	EXIST::FUNCTION:
 X509_set0_sm2_id                        4731	3_0_0	EXIST::FUNCTION:SM2
 X509_get0_sm2_id                        4732	3_0_0	EXIST::FUNCTION:SM2
 EVP_PKEY_get0_engine                    4733	3_0_0	EXIST::FUNCTION:ENGINE
-EVP_MD_upref                            4734	3_0_0	EXIST::FUNCTION:
+EVP_MD_up_ref                           4734	3_0_0	EXIST::FUNCTION:
 EVP_MD_fetch                            4735	3_0_0	EXIST::FUNCTION:
 EVP_set_default_properties              4736	3_0_0	EXIST::FUNCTION:
 OSSL_PARAM_construct_end                4737	3_0_0	EXIST::FUNCTION:
 EC_GROUP_check_named_curve              4738	3_0_0	EXIST::FUNCTION:EC
-EVP_CIPHER_upref                        4739	3_0_0	EXIST::FUNCTION:
+EVP_CIPHER_up_ref                       4739	3_0_0	EXIST::FUNCTION:
 EVP_CIPHER_fetch                        4740	3_0_0	EXIST::FUNCTION:
 EVP_CIPHER_mode                         4741	3_0_0	EXIST::FUNCTION:
 OPENSSL_info                            4742	3_0_0	EXIST::FUNCTION:
diff --git a/util/missingcrypto.txt b/util/missingcrypto.txt
index 0dc4379..a7cc467 100644
--- a/util/missingcrypto.txt
+++ b/util/missingcrypto.txt
@@ -496,11 +496,9 @@ EVP_CIPHER_CTX_set_num
 EVP_CIPHER_CTX_test_flags
 EVP_CIPHER_do_all
 EVP_CIPHER_do_all_sorted
-EVP_CIPHER_fetch
 EVP_CIPHER_get_asn1_iv
 EVP_CIPHER_impl_ctx_size
 EVP_CIPHER_set_asn1_iv
-EVP_CIPHER_upref
 EVP_Cipher
 EVP_MAC_do_all
 EVP_MAC_do_all_sorted


More information about the openssl-commits mailing list