[efi] Disable EFI watchdog timer when shutting down to boot an OS
[ipxe.git] / src / config / config_crypto.c
1 /*
2 * This program is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU General Public License as
4 * published by the Free Software Foundation; either version 2 of the
5 * License, or (at your option) any later version.
6 *
7 * This program is distributed in the hope that it will be useful, but
8 * WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * General Public License for more details.
11 *
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15 * 02110-1301, USA.
16 *
17 * You can also choose to distribute this program under the terms of
18 * the Unmodified Binary Distribution Licence (as given in the file
19 * COPYING.UBDL), provided that you have satisfied its requirements.
20 */
21
22 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
23
24 #include <config/crypto.h>
25
26 /** @file
27 *
28 * Cryptographic configuration
29 *
30 * Cryptographic configuration is slightly messy since we need to drag
31 * in objects based on combinations of build options.
32 */
33
34 PROVIDE_REQUIRING_SYMBOL();
35
36 /* RSA */
37 #if defined ( CRYPTO_PUBKEY_RSA )
38 REQUIRE_OBJECT ( oid_rsa );
39 #endif
40
41 /* MD4 */
42 #if defined ( CRYPTO_DIGEST_MD4 )
43 REQUIRE_OBJECT ( oid_md4 );
44 #endif
45
46 /* MD5 */
47 #if defined ( CRYPTO_DIGEST_MD5 )
48 REQUIRE_OBJECT ( oid_md5 );
49 #endif
50
51 /* SHA-1 */
52 #if defined ( CRYPTO_DIGEST_SHA1 )
53 REQUIRE_OBJECT ( oid_sha1 );
54 #endif
55
56 /* SHA-224 */
57 #if defined ( CRYPTO_DIGEST_SHA224 )
58 REQUIRE_OBJECT ( oid_sha224 );
59 #endif
60
61 /* SHA-256 */
62 #if defined ( CRYPTO_DIGEST_SHA256 )
63 REQUIRE_OBJECT ( oid_sha256 );
64 #endif
65
66 /* SHA-384 */
67 #if defined ( CRYPTO_DIGEST_SHA384 )
68 REQUIRE_OBJECT ( oid_sha384 );
69 #endif
70
71 /* SHA-512 */
72 #if defined ( CRYPTO_DIGEST_SHA512 )
73 REQUIRE_OBJECT ( oid_sha512 );
74 #endif
75
76 /* SHA-512/224 */
77 #if defined ( CRYPTO_DIGEST_SHA512_224 )
78 REQUIRE_OBJECT ( oid_sha512_224 );
79 #endif
80
81 /* SHA-512/256 */
82 #if defined ( CRYPTO_DIGEST_SHA512_256 )
83 REQUIRE_OBJECT ( oid_sha512_256 );
84 #endif
85
86 /* RSA and MD5 */
87 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_MD5 )
88 REQUIRE_OBJECT ( rsa_md5 );
89 #endif
90
91 /* RSA and SHA-1 */
92 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA1 )
93 REQUIRE_OBJECT ( rsa_sha1 );
94 #endif
95
96 /* RSA and SHA-224 */
97 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA224 )
98 REQUIRE_OBJECT ( rsa_sha224 );
99 #endif
100
101 /* RSA and SHA-256 */
102 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA256 )
103 REQUIRE_OBJECT ( rsa_sha256 );
104 #endif
105
106 /* RSA and SHA-384 */
107 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA384 )
108 REQUIRE_OBJECT ( rsa_sha384 );
109 #endif
110
111 /* RSA and SHA-512 */
112 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA512 )
113 REQUIRE_OBJECT ( rsa_sha512 );
114 #endif
115
116 /* RSA, AES-CBC, and SHA-1 */
117 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_CIPHER_AES_CBC ) && \
118 defined ( CRYPTO_DIGEST_SHA1 )
119 REQUIRE_OBJECT ( rsa_aes_cbc_sha1 );
120 #endif
121
122 /* RSA, AES-CBC, and SHA-256 */
123 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_CIPHER_AES_CBC ) && \
124 defined ( CRYPTO_DIGEST_SHA256 )
125 REQUIRE_OBJECT ( rsa_aes_cbc_sha256 );
126 #endif