/src/openssl/crypto/conf/conf_sap.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. |
3 | | * |
4 | | * Licensed under the OpenSSL license (the "License"). You may not use |
5 | | * this file except in compliance with the License. You can obtain a copy |
6 | | * in the file LICENSE in the source distribution or at |
7 | | * https://www.openssl.org/source/license.html |
8 | | */ |
9 | | |
10 | | #include <stdio.h> |
11 | | #include <openssl/crypto.h> |
12 | | #include "internal/cryptlib.h" |
13 | | #include "internal/conf.h" |
14 | | #include <openssl/x509.h> |
15 | | #include <openssl/asn1.h> |
16 | | #include <openssl/engine.h> |
17 | | |
18 | | #ifdef _WIN32 |
19 | | # define strdup _strdup |
20 | | #endif |
21 | | |
22 | | /* |
23 | | * This is the automatic configuration loader: it is called automatically by |
24 | | * OpenSSL when any of a number of standard initialisation functions are |
25 | | * called, unless this is overridden by calling OPENSSL_no_config() |
26 | | */ |
27 | | |
28 | | static int openssl_configured = 0; |
29 | | |
30 | | #if OPENSSL_API_COMPAT < 0x10100000L |
31 | | void OPENSSL_config(const char *appname) |
32 | 0 | { |
33 | 0 | OPENSSL_INIT_SETTINGS settings; |
34 | 0 |
|
35 | 0 | memset(&settings, 0, sizeof(settings)); |
36 | 0 | if (appname != NULL) |
37 | 0 | settings.appname = strdup(appname); |
38 | 0 | OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CONFIG, &settings); |
39 | 0 | } |
40 | | #endif |
41 | | |
42 | | void openssl_config_int(const char *appname) |
43 | 0 | { |
44 | 0 | if (openssl_configured) |
45 | 0 | return; |
46 | 0 | |
47 | 0 | OPENSSL_load_builtin_modules(); |
48 | 0 | #ifndef OPENSSL_NO_ENGINE |
49 | 0 | /* Need to load ENGINEs */ |
50 | 0 | ENGINE_load_builtin_engines(); |
51 | 0 | #endif |
52 | 0 | ERR_clear_error(); |
53 | 0 | #ifndef OPENSSL_SYS_UEFI |
54 | 0 | CONF_modules_load_file(NULL, appname, |
55 | 0 | CONF_MFLAGS_DEFAULT_SECTION | |
56 | 0 | CONF_MFLAGS_IGNORE_MISSING_FILE); |
57 | 0 | #endif |
58 | 0 | openssl_configured = 1; |
59 | 0 | } |
60 | | |
61 | | void openssl_no_config_int(void) |
62 | 0 | { |
63 | 0 | openssl_configured = 1; |
64 | 0 | } |