1/*
2 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (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/err.h>
12#include "crypto/err.h"
13#include "crypto/cryptoerr.h"
14#include "crypto/asn1err.h"
15#include "crypto/bnerr.h"
16#include "crypto/ecerr.h"
17#include "crypto/buffererr.h"
18#include "crypto/bioerr.h"
19#include "crypto/comperr.h"
20#include "crypto/rsaerr.h"
21#include "crypto/dherr.h"
22#include "crypto/dsaerr.h"
23#include "crypto/evperr.h"
24#include "crypto/objectserr.h"
25#include "crypto/pemerr.h"
26#include "crypto/pkcs7err.h"
27#include "crypto/x509err.h"
28#include "crypto/x509v3err.h"
29#include "crypto/conferr.h"
30#include "crypto/pkcs12err.h"
31#include "crypto/randerr.h"
32#include "internal/dsoerr.h"
33#include "crypto/engineerr.h"
34#include "crypto/uierr.h"
35#include "crypto/httperr.h"
36#include "crypto/ocsperr.h"
37#include "crypto/tserr.h"
38#include "crypto/cmserr.h"
39#include "crypto/crmferr.h"
40#include "crypto/cmperr.h"
41#include "crypto/cterr.h"
42#include "crypto/asyncerr.h"
43#include "crypto/storeerr.h"
44#include "crypto/esserr.h"
45#include "internal/propertyerr.h"
46#include "prov/proverr.h"
47
48int ossl_err_load_crypto_strings(void)
49{
50    if (0
51#ifndef OPENSSL_NO_ERR
52        || ossl_err_load_ERR_strings() == 0 /* include error strings for SYSerr */
53        || ossl_err_load_BN_strings() == 0
54        || ossl_err_load_RSA_strings() == 0
55# ifndef OPENSSL_NO_DH
56        || ossl_err_load_DH_strings() == 0
57# endif
58        || ossl_err_load_EVP_strings() == 0
59        || ossl_err_load_BUF_strings() == 0
60        || ossl_err_load_OBJ_strings() == 0
61        || ossl_err_load_PEM_strings() == 0
62# ifndef OPENSSL_NO_DSA
63        || ossl_err_load_DSA_strings() == 0
64# endif
65        || ossl_err_load_X509_strings() == 0
66        || ossl_err_load_ASN1_strings() == 0
67        || ossl_err_load_CONF_strings() == 0
68        || ossl_err_load_CRYPTO_strings() == 0
69# ifndef OPENSSL_NO_COMP
70        || ossl_err_load_COMP_strings() == 0
71# endif
72# ifndef OPENSSL_NO_EC
73        || ossl_err_load_EC_strings() == 0
74# endif
75        /* skip ossl_err_load_SSL_strings() because it is not in this library */
76        || ossl_err_load_BIO_strings() == 0
77        || ossl_err_load_PKCS7_strings() == 0
78        || ossl_err_load_X509V3_strings() == 0
79        || ossl_err_load_PKCS12_strings() == 0
80        || ossl_err_load_RAND_strings() == 0
81        || ossl_err_load_DSO_strings() == 0
82# ifndef OPENSSL_NO_TS
83        || ossl_err_load_TS_strings() == 0
84# endif
85# ifndef OPENSSL_NO_ENGINE
86        || ossl_err_load_ENGINE_strings() == 0
87# endif
88        || ossl_err_load_HTTP_strings() == 0
89# ifndef OPENSSL_NO_OCSP
90        || ossl_err_load_OCSP_strings() == 0
91# endif
92        || ossl_err_load_UI_strings() == 0
93# ifndef OPENSSL_NO_CMS
94        || ossl_err_load_CMS_strings() == 0
95# endif
96# ifndef OPENSSL_NO_CRMF
97        || ossl_err_load_CRMF_strings() == 0
98        || ossl_err_load_CMP_strings() == 0
99# endif
100# ifndef OPENSSL_NO_CT
101        || ossl_err_load_CT_strings() == 0
102# endif
103        || ossl_err_load_ESS_strings() == 0
104        || ossl_err_load_ASYNC_strings() == 0
105        || ossl_err_load_OSSL_STORE_strings() == 0
106        || ossl_err_load_PROP_strings() == 0
107        || ossl_err_load_PROV_strings() == 0
108#endif
109        )
110        return 0;
111
112    return 1;
113}
114