deprecate engine from public header files
authorPauli <paul.dale@oracle.com>
Mon, 13 Jul 2020 23:39:47 +0000 (09:39 +1000)
committerRichard Levitte <levitte@openssl.org>
Thu, 16 Jul 2020 07:12:27 +0000 (09:12 +0200)
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12226)

include/openssl/engine.h

index 17c5ebe1e49d6ad164e5c932c1e8a64ef11fcefc..76ab29815fa428f039ad1bea718fe74d098f91f9 100644 (file)
@@ -314,17 +314,17 @@ typedef int (*ENGINE_PKEY_ASN1_METHS_PTR) (ENGINE *, EVP_PKEY_ASN1_METHOD **,
  */
 
 /* Get the first/last "ENGINE" type available. */
-ENGINE *ENGINE_get_first(void);
-ENGINE *ENGINE_get_last(void);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_first(void))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_last(void))
 /* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */
-ENGINE *ENGINE_get_next(ENGINE *e);
-ENGINE *ENGINE_get_prev(ENGINE *e);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_next(ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_prev(ENGINE *e))
 /* Add another "ENGINE" type into the array. */
-int ENGINE_add(ENGINE *e);
+DEPRECATEDIN_3_0(int ENGINE_add(ENGINE *e))
 /* Remove an existing "ENGINE" type from the array. */
-int ENGINE_remove(ENGINE *e);
+DEPRECATEDIN_3_0(int ENGINE_remove(ENGINE *e))
 /* Retrieve an engine from the list by its unique "id" value. */
-ENGINE *ENGINE_by_id(const char *id);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_by_id(const char *id))
 
 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 #   define ENGINE_load_openssl() \
@@ -344,14 +344,14 @@ ENGINE *ENGINE_by_id(const char *id);
 #   define ENGINE_load_rdrand() \
         OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_RDRAND, NULL)
 #  endif
-void ENGINE_load_builtin_engines(void);
+DEPRECATEDIN_3_0(void ENGINE_load_builtin_engines(void))
 
 /*
  * Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation
  * "registry" handling.
  */
-unsigned int ENGINE_get_table_flags(void);
-void ENGINE_set_table_flags(unsigned int flags);
+DEPRECATEDIN_3_0(unsigned int ENGINE_get_table_flags(void))
+DEPRECATEDIN_3_0(void ENGINE_set_table_flags(unsigned int flags))
 
 /*- Manage registration of ENGINEs per "table". For each type, there are 3
  * functions;
@@ -361,41 +361,41 @@ void ENGINE_set_table_flags(unsigned int flags);
  * Cleanup is automatically registered from each table when required.
  */
 
-int ENGINE_register_RSA(ENGINE *e);
-void ENGINE_unregister_RSA(ENGINE *e);
-void ENGINE_register_all_RSA(void);
+DEPRECATEDIN_3_0(int ENGINE_register_RSA(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_RSA(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_RSA(void))
 
-int ENGINE_register_DSA(ENGINE *e);
-void ENGINE_unregister_DSA(ENGINE *e);
-void ENGINE_register_all_DSA(void);
+DEPRECATEDIN_3_0(int ENGINE_register_DSA(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_DSA(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_DSA(void))
 
-int ENGINE_register_EC(ENGINE *e);
-void ENGINE_unregister_EC(ENGINE *e);
-void ENGINE_register_all_EC(void);
+DEPRECATEDIN_3_0(int ENGINE_register_EC(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_EC(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_EC(void))
 
-int ENGINE_register_DH(ENGINE *e);
-void ENGINE_unregister_DH(ENGINE *e);
-void ENGINE_register_all_DH(void);
+DEPRECATEDIN_3_0(int ENGINE_register_DH(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_DH(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_DH(void))
 
-int ENGINE_register_RAND(ENGINE *e);
-void ENGINE_unregister_RAND(ENGINE *e);
-void ENGINE_register_all_RAND(void);
+DEPRECATEDIN_3_0(int ENGINE_register_RAND(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_RAND(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_RAND(void))
 
-int ENGINE_register_ciphers(ENGINE *e);
-void ENGINE_unregister_ciphers(ENGINE *e);
-void ENGINE_register_all_ciphers(void);
+DEPRECATEDIN_3_0(int ENGINE_register_ciphers(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_ciphers(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_ciphers(void))
 
-int ENGINE_register_digests(ENGINE *e);
-void ENGINE_unregister_digests(ENGINE *e);
-void ENGINE_register_all_digests(void);
+DEPRECATEDIN_3_0(int ENGINE_register_digests(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_digests(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_digests(void))
 
-int ENGINE_register_pkey_meths(ENGINE *e);
-void ENGINE_unregister_pkey_meths(ENGINE *e);
-void ENGINE_register_all_pkey_meths(void);
+DEPRECATEDIN_3_0(int ENGINE_register_pkey_meths(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_pkey_meths(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_pkey_meths(void))
 
-int ENGINE_register_pkey_asn1_meths(ENGINE *e);
-void ENGINE_unregister_pkey_asn1_meths(ENGINE *e);
-void ENGINE_register_all_pkey_asn1_meths(void);
+DEPRECATEDIN_3_0(int ENGINE_register_pkey_asn1_meths(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_unregister_pkey_asn1_meths(ENGINE *e))
+DEPRECATEDIN_3_0(void ENGINE_register_all_pkey_asn1_meths(void))
 
 /*
  * These functions register all support from the above categories. Note, use
@@ -403,8 +403,8 @@ void ENGINE_register_all_pkey_asn1_meths(void);
  * may not need. If you only need a subset of functionality, consider using
  * more selective initialisation.
  */
-int ENGINE_register_complete(ENGINE *e);
-int ENGINE_register_all_complete(void);
+DEPRECATEDIN_3_0(int ENGINE_register_complete(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_register_all_complete(void))
 
 /*
  * Send parameterised control commands to the engine. The possibilities to
@@ -416,7 +416,8 @@ int ENGINE_register_all_complete(void);
  * commands that require an operational ENGINE, and only use functional
  * references in such situations.
  */
-int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void));
+DEPRECATEDIN_3_0(int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p,
+                                 void (*f) (void)))
 
 /*
  * This function tests if an ENGINE-specific command is usable as a
@@ -424,7 +425,7 @@ int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void));
  * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to
  * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl().
  */
-int ENGINE_cmd_is_executable(ENGINE *e, int cmd);
+DEPRECATEDIN_3_0(int ENGINE_cmd_is_executable(ENGINE *e, int cmd))
 
 /*
  * This function works like ENGINE_ctrl() with the exception of taking a
@@ -432,8 +433,9 @@ int ENGINE_cmd_is_executable(ENGINE *e, int cmd);
  * commands. See the comment on ENGINE_ctrl_cmd_string() for an explanation
  * on how to use the cmd_name and cmd_optional.
  */
-int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,
-                    long i, void *p, void (*f) (void), int cmd_optional);
+DEPRECATEDIN_3_0(int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,
+                                     long i, void *p, void (*f) (void),
+                                     int cmd_optional))
 
 /*
  * This function passes a command-name and argument to an ENGINE. The
@@ -457,8 +459,8 @@ int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,
  * applications can work consistently with the same configuration for the
  * same ENGINE-enabled devices, across applications.
  */
-int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg,
-                           int cmd_optional);
+DEPRECATEDIN_3_0(int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name,
+                                            const char *arg, int cmd_optional))
 
 /*
  * These functions are useful for manufacturing new ENGINE structures. They
@@ -468,37 +470,43 @@ int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg,
  * These are also here so that the ENGINE structure doesn't have to be
  * exposed and break binary compatibility!
  */
-ENGINE *ENGINE_new(void);
-int ENGINE_free(ENGINE *e);
-int ENGINE_up_ref(ENGINE *e);
-int ENGINE_set_id(ENGINE *e, const char *id);
-int ENGINE_set_name(ENGINE *e, const char *name);
-int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth);
-int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth);
-int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ecdsa_meth);
-int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth);
-int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth);
-int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f);
-int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f);
-int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f);
-int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f);
-int ENGINE_set_load_privkey_function(ENGINE *e,
-                                     ENGINE_LOAD_KEY_PTR loadpriv_f);
-int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f);
-int ENGINE_set_load_ssl_client_cert_function(ENGINE *e,
-                                             ENGINE_SSL_CLIENT_CERT_PTR
-                                             loadssl_f);
-int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f);
-int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f);
-int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f);
-int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f);
-int ENGINE_set_flags(ENGINE *e, int flags);
-int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_new(void))
+DEPRECATEDIN_3_0(int ENGINE_free(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_up_ref(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_id(ENGINE *e, const char *id))
+DEPRECATEDIN_3_0(int ENGINE_set_name(ENGINE *e, const char *name))
+DEPRECATEDIN_3_0(int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth))
+DEPRECATEDIN_3_0(int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth))
+DEPRECATEDIN_3_0(int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ecdsa_meth))
+DEPRECATEDIN_3_0(int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth))
+DEPRECATEDIN_3_0(int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth))
+DEPRECATEDIN_3_0(int ENGINE_set_destroy_function
+                    (ENGINE *e,ENGINE_GEN_INT_FUNC_PTR destroy_f))
+DEPRECATEDIN_3_0(int ENGINE_set_init_function
+                    (ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f))
+DEPRECATEDIN_3_0(int ENGINE_set_finish_function
+                    (ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f))
+DEPRECATEDIN_3_0(int ENGINE_set_ctrl_function
+                    (ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f))
+DEPRECATEDIN_3_0(int ENGINE_set_load_privkey_function
+                    (ENGINE *e, ENGINE_LOAD_KEY_PTR loadpriv_f))
+DEPRECATEDIN_3_0(int ENGINE_set_load_pubkey_function
+                    (ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f))
+DEPRECATEDIN_3_0(int ENGINE_set_load_ssl_client_cert_function
+                    (ENGINE *e, ENGINE_SSL_CLIENT_CERT_PTR loadssl_f))
+DEPRECATEDIN_3_0(int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f))
+DEPRECATEDIN_3_0(int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f))
+DEPRECATEDIN_3_0(int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f))
+DEPRECATEDIN_3_0(int ENGINE_set_pkey_asn1_meths(ENGINE *e,
+                                                ENGINE_PKEY_ASN1_METHS_PTR f))
+DEPRECATEDIN_3_0(int ENGINE_set_flags(ENGINE *e, int flags))
+DEPRECATEDIN_3_0(int ENGINE_set_cmd_defns(ENGINE *e,
+                                          const ENGINE_CMD_DEFN *defns))
 /* These functions allow control over any per-structure ENGINE data. */
 #  define ENGINE_get_ex_new_index(l, p, newf, dupf, freef) \
     CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ENGINE, l, p, newf, dupf, freef)
-int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg);
-void *ENGINE_get_ex_data(const ENGINE *e, int idx);
+DEPRECATEDIN_3_0(int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg))
+DEPRECATEDIN_3_0(void *ENGINE_get_ex_data(const ENGINE *e, int idx))
 
 #  ifndef OPENSSL_NO_DEPRECATED_1_1_0
 /*
@@ -514,37 +522,44 @@ void *ENGINE_get_ex_data(const ENGINE *e, int idx);
  * which you obtained. Using the result for functional purposes if you only
  * obtained a structural reference may be problematic!
  */
-const char *ENGINE_get_id(const ENGINE *e);
-const char *ENGINE_get_name(const ENGINE *e);
-const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e);
-const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e);
-const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e);
-const DH_METHOD *ENGINE_get_DH(const ENGINE *e);
-const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e);
-ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e);
-ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e);
-ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e);
-ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e);
-ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e);
-ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e);
-ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE
-                                                               *e);
-ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e);
-ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e);
-ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e);
-ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e);
-const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid);
-const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid);
-const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid);
-const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid);
-const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e,
-                                                          const char *str,
-                                                          int len);
-const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe,
-                                                      const char *str,
-                                                      int len);
-const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e);
-int ENGINE_get_flags(const ENGINE *e);
+DEPRECATEDIN_3_0(const char *ENGINE_get_id(const ENGINE *e))
+DEPRECATEDIN_3_0(const char *ENGINE_get_name(const ENGINE *e))
+DEPRECATEDIN_3_0(const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e))
+DEPRECATEDIN_3_0(const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e))
+DEPRECATEDIN_3_0(const EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e))
+DEPRECATEDIN_3_0(const DH_METHOD *ENGINE_get_DH(const ENGINE *e))
+DEPRECATEDIN_3_0(const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e))
+DEPRECATEDIN_3_0(ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths
+                    (const ENGINE *e))
+DEPRECATEDIN_3_0(const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid))
+DEPRECATEDIN_3_0(const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid))
+DEPRECATEDIN_3_0(const EVP_PKEY_METHOD *ENGINE_get_pkey_meth
+                    (ENGINE *e, int nid))
+DEPRECATEDIN_3_0(const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth
+                    (ENGINE *e, int nid))
+DEPRECATEDIN_3_0(const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str
+                    (ENGINE *e, const char *str, int len))
+DEPRECATEDIN_3_0(const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str
+                    (ENGINE **pe, const char *str, int len))
+DEPRECATEDIN_3_0(const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_get_flags(const ENGINE *e))
 
 /*
  * FUNCTIONAL functions. These functions deal with ENGINE structures that
@@ -564,27 +579,29 @@ int ENGINE_get_flags(const ENGINE *e);
  * already in use). This will fail if the engine is not currently operational
  * and cannot initialise.
  */
-int ENGINE_init(ENGINE *e);
+DEPRECATEDIN_3_0(int ENGINE_init(ENGINE *e))
 /*
  * Free a functional reference to a engine type. This does not require a
  * corresponding call to ENGINE_free as it also releases a structural
  * reference.
  */
-int ENGINE_finish(ENGINE *e);
+DEPRECATEDIN_3_0(int ENGINE_finish(ENGINE *e))
 
 /*
  * The following functions handle keys that are stored in some secondary
  * location, handled by the engine.  The storage may be on a card or
  * whatever.
  */
-EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
-                                  UI_METHOD *ui_method, void *callback_data);
-EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id,
-                                 UI_METHOD *ui_method, void *callback_data);
-int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s,
-                                STACK_OF(X509_NAME) *ca_dn, X509 **pcert,
-                                EVP_PKEY **ppkey, STACK_OF(X509) **pother,
-                                UI_METHOD *ui_method, void *callback_data);
+DEPRECATEDIN_3_0(EVP_PKEY *ENGINE_load_private_key
+                    (ENGINE *e, const char *key_id, UI_METHOD *ui_method,
+                     void *callback_data))
+DEPRECATEDIN_3_0(EVP_PKEY *ENGINE_load_public_key
+                    (ENGINE *e, const char *key_id, UI_METHOD *ui_method,
+                     void *callback_data))
+DEPRECATEDIN_3_0(int ENGINE_load_ssl_client_cert
+                    (ENGINE *e, SSL *s, STACK_OF(X509_NAME) *ca_dn,
+                     X509 **pcert, EVP_PKEY **ppkey, STACK_OF(X509) **pother,
+                     UI_METHOD *ui_method, void *callback_data))
 
 /*
  * This returns a pointer for the current ENGINE structure that is (by
@@ -592,20 +609,20 @@ int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s,
  * incremented reference, so it should be free'd (ENGINE_finish) before it is
  * discarded.
  */
-ENGINE *ENGINE_get_default_RSA(void);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_default_RSA(void))
 /* Same for the other "methods" */
-ENGINE *ENGINE_get_default_DSA(void);
-ENGINE *ENGINE_get_default_EC(void);
-ENGINE *ENGINE_get_default_DH(void);
-ENGINE *ENGINE_get_default_RAND(void);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_default_DSA(void))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_default_EC(void))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_default_DH(void))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_default_RAND(void))
 /*
  * These functions can be used to get a functional reference to perform
  * ciphering or digesting corresponding to "nid".
  */
-ENGINE *ENGINE_get_cipher_engine(int nid);
-ENGINE *ENGINE_get_digest_engine(int nid);
-ENGINE *ENGINE_get_pkey_meth_engine(int nid);
-ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid);
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_cipher_engine(int nid))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_digest_engine(int nid))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_pkey_meth_engine(int nid))
+DEPRECATEDIN_3_0(ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid))
 
 /*
  * This sets a new default ENGINE structure for performing RSA operations. If
@@ -613,17 +630,17 @@ ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid);
  * its reference count up'd so the caller should still free their own
  * reference 'e'.
  */
-int ENGINE_set_default_RSA(ENGINE *e);
-int ENGINE_set_default_string(ENGINE *e, const char *def_list);
+DEPRECATEDIN_3_0(int ENGINE_set_default_RSA(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_string(ENGINE *e, const char *def_list))
 /* Same for the other "methods" */
-int ENGINE_set_default_DSA(ENGINE *e);
-int ENGINE_set_default_EC(ENGINE *e);
-int ENGINE_set_default_DH(ENGINE *e);
-int ENGINE_set_default_RAND(ENGINE *e);
-int ENGINE_set_default_ciphers(ENGINE *e);
-int ENGINE_set_default_digests(ENGINE *e);
-int ENGINE_set_default_pkey_meths(ENGINE *e);
-int ENGINE_set_default_pkey_asn1_meths(ENGINE *e);
+DEPRECATEDIN_3_0(int ENGINE_set_default_DSA(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_EC(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_DH(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_RAND(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_ciphers(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_digests(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_pkey_meths(ENGINE *e))
+DEPRECATEDIN_3_0(int ENGINE_set_default_pkey_asn1_meths(ENGINE *e))
 
 /*
  * The combination "set" - the flags are bitwise "OR"d from the
@@ -632,9 +649,9 @@ int ENGINE_set_default_pkey_asn1_meths(ENGINE *e);
  * application requires only specific functionality, consider using more
  * selective functions.
  */
-int ENGINE_set_default(ENGINE *e, unsigned int flags);
+DEPRECATEDIN_3_0(int ENGINE_set_default(ENGINE *e, unsigned int flags))
 
-void ENGINE_add_conf_module(void);
+DEPRECATEDIN_3_0(void ENGINE_add_conf_module(void))
 
 /* Deprecated functions ... */
 /* int ENGINE_clear_defaults(void); */
@@ -746,7 +763,7 @@ typedef int (*dynamic_bind_engine) (ENGINE *e, const char *id,
 void *ENGINE_get_static_state(void);
 
 #  if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
-DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void))
+DEPRECATEDIN_3_0(DEPRECATEDIN_1_1_0(void ENGINE_setup_bsd_cryptodev(void)))
 #  endif