1/*
2 * Copyright 1995-2018 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 "crypto/err.h"
12#include <openssl/asn1err.h>
13#include <openssl/bnerr.h>
14#include <openssl/ecerr.h>
15#include <openssl/buffererr.h>
16#include <openssl/bioerr.h>
17#include <openssl/comperr.h>
18#include <openssl/rsaerr.h>
19#include <openssl/dherr.h>
20#include <openssl/dsaerr.h>
21#include <openssl/evperr.h>
22#include <openssl/objectserr.h>
23#include <openssl/pemerr.h>
24#include <openssl/pkcs7err.h>
25#include <openssl/x509err.h>
26#include <openssl/x509v3err.h>
27#include <openssl/conferr.h>
28#include <openssl/pkcs12err.h>
29#include <openssl/randerr.h>
30#include "internal/dso.h"
31#include <openssl/engineerr.h>
32#include <openssl/uierr.h>
33#include <openssl/ocsperr.h>
34#include <openssl/err.h>
35#include <openssl/tserr.h>
36#include <openssl/cmserr.h>
37#include <openssl/cterr.h>
38#include <openssl/asyncerr.h>
39#include <openssl/kdferr.h>
40#include <openssl/storeerr.h>
41
42int err_load_crypto_strings_int(void)
43{
44    if (
45#ifndef OPENSSL_NO_ERR
46        ERR_load_ERR_strings() == 0 ||    /* include error strings for SYSerr */
47        ERR_load_BN_strings() == 0 ||
48# ifndef OPENSSL_NO_RSA
49        ERR_load_RSA_strings() == 0 ||
50# endif
51# ifndef OPENSSL_NO_DH
52        ERR_load_DH_strings() == 0 ||
53# endif
54        ERR_load_EVP_strings() == 0 ||
55        ERR_load_BUF_strings() == 0 ||
56        ERR_load_OBJ_strings() == 0 ||
57        ERR_load_PEM_strings() == 0 ||
58# ifndef OPENSSL_NO_DSA
59        ERR_load_DSA_strings() == 0 ||
60# endif
61        ERR_load_X509_strings() == 0 ||
62        ERR_load_ASN1_strings() == 0 ||
63        ERR_load_CONF_strings() == 0 ||
64        ERR_load_CRYPTO_strings() == 0 ||
65# ifndef OPENSSL_NO_COMP
66        ERR_load_COMP_strings() == 0 ||
67# endif
68# ifndef OPENSSL_NO_EC
69        ERR_load_EC_strings() == 0 ||
70# endif
71        /* skip ERR_load_SSL_strings() because it is not in this library */
72        ERR_load_BIO_strings() == 0 ||
73        ERR_load_PKCS7_strings() == 0 ||
74        ERR_load_X509V3_strings() == 0 ||
75        ERR_load_PKCS12_strings() == 0 ||
76        ERR_load_RAND_strings() == 0 ||
77        ERR_load_DSO_strings() == 0 ||
78# ifndef OPENSSL_NO_TS
79        ERR_load_TS_strings() == 0 ||
80# endif
81# ifndef OPENSSL_NO_ENGINE
82        ERR_load_ENGINE_strings() == 0 ||
83# endif
84# ifndef OPENSSL_NO_OCSP
85        ERR_load_OCSP_strings() == 0 ||
86# endif
87        ERR_load_UI_strings() == 0 ||
88# ifndef OPENSSL_NO_CMS
89        ERR_load_CMS_strings() == 0 ||
90# endif
91# ifndef OPENSSL_NO_CT
92        ERR_load_CT_strings() == 0 ||
93# endif
94        ERR_load_ASYNC_strings() == 0 ||
95#endif
96        ERR_load_KDF_strings() == 0 ||
97        ERR_load_OSSL_STORE_strings() == 0)
98        return 0;
99
100    return 1;
101}
102