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