]> git.ipfire.org Git - thirdparty/strongswan.git/blob - src/libstrongswan/plugins/wolfssl/wolfssl_common.h
ed4099d5a1ac21a5ec705f49644f2b66641c9e23
[thirdparty/strongswan.git] / src / libstrongswan / plugins / wolfssl / wolfssl_common.h
1 /*
2 * Copyright (C) 2019 Sean Parkinson, wolfSSL Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 * THE SOFTWARE.
21 */
22
23 #ifndef WOLFSSL_PLUGIN_COMMON_H_
24 #define WOLFSSL_PLUGIN_COMMON_H_
25
26 #include <library.h>
27
28 /* Undefine these as they are enum entries in wolfSSL - same values */
29 #ifdef AES_BLOCK_SIZE
30 #undef AES_BLOCK_SIZE
31 #endif
32
33 #ifdef CAMELLIA_BLOCK_SIZE
34 #undef CAMELLIA_BLOCK_SIZE
35 #endif
36
37 #ifdef DES_BLOCK_SIZE
38 #undef DES_BLOCK_SIZE
39 #endif
40
41 #ifdef RSA_PSS_SALT_LEN_DEFAULT
42 #undef RSA_PSS_SALT_LEN_DEFAULT
43 #endif
44
45 /* PARSE_ERROR is an enum entry in wolfSSL - not used in this plugin */
46 #define PARSE_ERROR WOLFSSL_PARSE_ERROR
47
48 /* Remap unused enums from the OpenSSL compatibility layer to avoid conflicts */
49 #define ASN1_BOOLEAN REMAP_ASN1_BOOLEAN
50 #define ASN1_OID REMAP_ASN1_OID
51 #define ASN1_INTEGER REMAP_ASN1_INTEGER
52 #define ASN1_BIT_STRING REMAP_ASN1_BIT_STRING
53 #define ASN1_IA5STRING REMAP_ASN1_IA5STRING
54 #define ASN1_OCTET_STRING REMAP_ASN1_OCTET_STRING
55 #define ASN1_UTCTIME REMAP_ASN1_UTCTIME
56 #define ASN1_GENERALIZEDTIME REMAP_ASN1_GENERALIZEDTIME
57
58 #ifndef WOLFSSL_USER_SETTINGS
59 #include <wolfssl/options.h>
60 #endif
61 #include <wolfssl/ssl.h>
62
63 #undef PARSE_ERROR
64
65 #undef ASN1_BOOLEAN
66 #undef ASN1_OID
67 #undef ASN1_INTEGER
68 #undef ASN1_BIT_STRING
69 #undef ASN1_IA5STRING
70 #undef ASN1_OCTET_STRING
71 #undef ASN1_UTCTIME
72 #undef ASN1_GENERALIZEDTIME
73
74 /* Eliminate macro conflicts */
75 #undef RNG
76
77 #endif /* WOLFSSL_PLUGIN_COMMON_H_ */