diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/internal/conf.h | 5 | ||||
-rw-r--r-- | include/openssl/conf.h | 1 | ||||
-rw-r--r-- | include/openssl/crypto.h | 28 | ||||
-rw-r--r-- | include/openssl/ossl_typ.h | 1 |
4 files changed, 13 insertions, 22 deletions
diff --git a/include/internal/conf.h b/include/internal/conf.h index 3f1c30f3e1..3bd6069a59 100644 --- a/include/internal/conf.h +++ b/include/internal/conf.h @@ -46,6 +46,11 @@ extern "C" { #endif + +struct ossl_init_settings_st { + char *config_name; +}; + void openssl_config_internal(const char *config_name); void openssl_no_config_internal(void); diff --git a/include/openssl/conf.h b/include/openssl/conf.h index e16f97ca5e..e2c245c56f 100644 --- a/include/openssl/conf.h +++ b/include/openssl/conf.h @@ -139,6 +139,7 @@ int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); #if OPENSSL_API_COMPAT < 0x10100000L void OPENSSL_config(const char *config_name); + # define OPENSSL_no_config() \ OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL) #endif diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index d68551dd2b..f05fa1e186 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -575,34 +575,18 @@ int CRYPTO_memcmp(const volatile void * volatile in_a, OPENSSL_INIT_ENGINE_PADLOCK) - -/* Optional settings for initialisation */ -# define OPENSSL_INIT_SET_END 0 -# define OPENSSL_INIT_SET_CONF_FILENAME 1 - -typedef struct ossl_init_settings_st { - int name; - union { - int type_int; - long type_long; - int32_t type_int32_t; - uint32_t type_uint32_t; - int64_t type_int64_t; - uint64_t type_uint64_t; - size_t type_size_t; - const char *type_string; - void *type_void_ptr; - } value; -} OPENSSL_INIT_SETTINGS; - -typedef struct ossl_init_stop_st OPENSSL_INIT_STOP; - /* Library initialisation functions */ void OPENSSL_cleanup(void); int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); int OPENSSL_atexit(void (*handler)(void)); void OPENSSL_thread_stop(void); +/* Low-level control of initialization */ +OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); +void OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings, + const char *config_file); +void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings); + /* BEGIN ERROR CODES */ /* * The following lines are auto generated by the script mkerr.pl. Any changes diff --git a/include/openssl/ossl_typ.h b/include/openssl/ossl_typ.h index 6bf29a8446..d29be73134 100644 --- a/include/openssl/ossl_typ.h +++ b/include/openssl/ossl_typ.h @@ -172,6 +172,7 @@ typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; typedef struct v3_ext_ctx X509V3_CTX; typedef struct conf_st CONF; +typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS; typedef struct ui_st UI; typedef struct ui_method_st UI_METHOD; |