Skip to content

Commit f810296

Browse files
committed
WL#16169: XDevAPI: Update allowed cipher list.
Change-Id: I9948aa3919ad0e7300d25cd4539148d9640c6a04
1 parent 1bd8d46 commit f810296

File tree

5 files changed

+314
-34
lines changed

5 files changed

+314
-34
lines changed

cdk/foundation/connection_openssl.cc

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -84,59 +84,58 @@ POP_SYS_WARNINGS_CDK
8484

8585

8686
/*
87-
Default list of ciphers. By default we allow only ciphers that are approved
88-
by the OSSA page (the link below). Lists of mandatory and approved ciphers
89-
defined below should be kept in sync with requirements on this
90-
page.
87+
The "tls_ciphers.h" header defines cipher list macros:
9188
92-
https://confluence.oraclecorp.com/confluence/display/GPS/Approved+Security+Technologies%3A+Standards+-+TLS+Ciphers+and+Versions
93-
*/
89+
- TLS_CIPHERS_MANDATORY(X)
90+
- TLS_CIPHERS_APPROVED(X)
91+
- TLS_CIPHERS_UNACCEPTABLE(X)
9492
95-
#define TLS_CIPHERS_MANDATORY(X) \
96-
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256") \
97-
X("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384") \
98-
X("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ECDHE-RSA-AES128-GCM-SHA256") \
93+
Each of these macros calls X(A,B) for each cipher in the list where A is
94+
the IANA name of the cipher while B is OpenSSL name of the same cipher (both
95+
A and B are string listerals). For example:
9996
100-
/*
101-
Note: Empty OpenSSL name means TLSv1.3+ cipher suite which is handled
102-
differently from pre-TLSv1.3 suites that have OpenSSL specific names.
97+
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256")
98+
99+
If there is no OpenSSL name for the cipher then B is the empty string "".
100+
101+
These list should be kept in sync with info given on the OSSA page [1].
102+
103+
[1] https://confluence.oraclecorp.com/confluence/display/GPS/Approved+Security+Technologies%3A+Standards+-+TLS+Ciphers+and+Versions
103104
*/
104105

105-
#define TLS_CIPHERS_APPROVED(X) \
106-
X("TLS_AES_128_GCM_SHA256", "") \
107-
X("TLS_AES_256_GCM_SHA384", "") \
108-
X("TLS_CHACHA20_POLY1305_SHA256", "") \
109-
X("TLS_AES_128_CCM_SHA256", "") \
110-
X("TLS_AES_128_CCM_8_SHA256", "") \
111-
X("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "ECDHE-RSA-AES256-GCM-SHA384") \
112-
X("TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "ECDHE-ECDSA-AES256-SHA384") \
113-
X("TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "ECDHE-RSA-AES256-SHA384") \
114-
X("TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "DHE-RSA-AES128-GCM-SHA256") \
115-
X("TLS_DHE_DSS_WITH_AES_128_GCM_SHA256", "DHE-DSS-AES128-GCM-SHA256") \
116-
X("TLS_DHE_RSA_WITH_AES_128_CBC_SHA256", "DHE-RSA-AES128-SHA256") \
117-
X("TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", "DHE-DSS-AES128-SHA256") \
118-
X("TLS_DHE_DSS_WITH_AES_256_GCM_SHA384", "DHE-DSS-AES256-GCM-SHA384") \
119-
X("TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "DHE-RSA-AES256-GCM-SHA384") \
120-
X("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305") \
121-
X("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-RSA-CHACHA20-POLY1305") \
106+
#include "tls_ciphers.h"
122107

123108

124109
// Note: these deprecated ciphers are temporarily allowed to make it possible
125110
// to connect to old servers based on YaSSL.
111+
// TODO: Remove this list
126112

127113
#define TLS_CIPHERS_COMPAT(X) \
128-
X("TLS_DH_DSS_WITH_AES_128_GCM_SHA256", "DH-DSS-AES128-GCM-SHA256") \
129114
X("TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256","ECDH-ECDSA-AES128-GCM-SHA256") \
130-
X("TLS_DH_DSS_WITH_AES_256_GCM_SHA384","DH-DSS-AES256-GCM-SHA384") \
131115
X("TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384","ECDH-ECDSA-AES256-GCM-SHA384") \
132-
X("TLS_DH_RSA_WITH_AES_128_GCM_SHA256","DH-RSA-AES128-GCM-SHA256") \
133116
X("TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256","ECDH-RSA-AES128-GCM-SHA256") \
134-
X("TLS_DH_RSA_WITH_AES_256_GCM_SHA384","DH-RSA-AES256-GCM-SHA384") \
135117
X("TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384","ECDH-RSA-AES256-GCM-SHA384") \
136118
X("TLS_DHE_RSA_WITH_AES_256_CBC_SHA", "DHE-RSA-AES256-SHA") \
137119
X("TLS_DHE_RSA_WITH_AES_128_CBC_SHA", "DHE-RSA-AES128-SHA") \
138120
X("TLS_RSA_WITH_AES_256_CBC_SHA", "AES256-SHA")
139121

122+
namespace
123+
{
124+
// Check that ciphers in the _COMPAT list are not listed as _UNACCEPTABLE.
125+
126+
constexpr bool compat_check(std::string_view cipher)
127+
{
128+
#define COMPAT_CHECK(X,...) if (cipher == X) return false;
129+
TLS_CIPHERS_COMPAT(COMPAT_CHECK)
130+
return true;
131+
}
132+
133+
#define COMPAT_CHECK1(X,...) \
134+
static_assert(compat_check(X), "bad compatibility cipher: " X);
135+
136+
TLS_CIPHERS_UNACCEPTABLE(COMPAT_CHECK1)
137+
}
138+
140139

141140
#define TLS_CIPHERS_DEFAULT(X) \
142141
TLS_CIPHERS_MANDATORY(X) \

cdk/foundation/tls_ciphers.h

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
// Generated from the OSSA cipher list
2+
// version: 3.3
3+
// date: 2024-01-10
4+
5+
#define TLS_CIPHERS_MANDATORY(X) \
6+
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256") \
7+
X("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384") \
8+
X("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ECDHE-RSA-AES128-GCM-SHA256") \
9+
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256") \
10+
X("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384") \
11+
X("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ECDHE-RSA-AES128-GCM-SHA256") \
12+
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256") \
13+
X("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384") \
14+
X("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ECDHE-RSA-AES128-GCM-SHA256") \
15+
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256") \
16+
X("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384") \
17+
X("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ECDHE-RSA-AES128-GCM-SHA256") \
18+
X("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256") \
19+
X("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384") \
20+
X("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "ECDHE-RSA-AES128-GCM-SHA256") \
21+
22+
#define TLS_CIPHERS_APPROVED(X) \
23+
X("TLS_AES_128_GCM_SHA256", "") \
24+
X("TLS_AES_256_GCM_SHA384", "") \
25+
X("TLS_CHACHA20_POLY1305_SHA256", "") \
26+
X("TLS_AES_128_CCM_SHA256", "") \
27+
X("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "ECDHE-RSA-AES256-GCM-SHA384") \
28+
X("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305") \
29+
X("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-RSA-CHACHA20-POLY1305") \
30+
X("TLS_ECDHE_ECDSA_WITH_AES_256_CCM", "ECDHE-ECDSA-AES256-CCM") \
31+
X("TLS_ECDHE_ECDSA_WITH_AES_128_CCM", "ECDHE-ECDSA-AES128-CCM") \
32+
X("TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "DHE-RSA-AES128-GCM-SHA256") \
33+
X("TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "DHE-RSA-AES256-GCM-SHA384") \
34+
X("TLS_DHE_RSA_WITH_AES_256_CCM", "DHE-RSA-AES256-CCM") \
35+
X("TLS_DHE_RSA_WITH_AES_128_CCM", "DHE-RSA-AES128-CCM") \
36+
X("TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "DHE-RSA-CHACHA20-POLY1305") \
37+
X("TLS_AES_128_GCM_SHA256", "") \
38+
X("TLS_AES_256_GCM_SHA384", "") \
39+
X("TLS_CHACHA20_POLY1305_SHA256", "") \
40+
X("TLS_AES_128_CCM_SHA256", "") \
41+
X("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "ECDHE-RSA-AES256-GCM-SHA384") \
42+
X("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305") \
43+
X("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-RSA-CHACHA20-POLY1305") \
44+
X("TLS_ECDHE_ECDSA_WITH_AES_256_CCM", "ECDHE-ECDSA-AES256-CCM") \
45+
X("TLS_ECDHE_ECDSA_WITH_AES_128_CCM", "ECDHE-ECDSA-AES128-CCM") \
46+
X("TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "DHE-RSA-AES128-GCM-SHA256") \
47+
X("TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "DHE-RSA-AES256-GCM-SHA384") \
48+
X("TLS_DHE_RSA_WITH_AES_256_CCM", "DHE-RSA-AES256-CCM") \
49+
X("TLS_DHE_RSA_WITH_AES_128_CCM", "DHE-RSA-AES128-CCM") \
50+
X("TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "DHE-RSA-CHACHA20-POLY1305") \
51+
X("TLS_AES_128_GCM_SHA256", "") \
52+
X("TLS_AES_256_GCM_SHA384", "") \
53+
X("TLS_CHACHA20_POLY1305_SHA256", "") \
54+
X("TLS_AES_128_CCM_SHA256", "") \
55+
X("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "ECDHE-RSA-AES256-GCM-SHA384") \
56+
X("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305") \
57+
X("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-RSA-CHACHA20-POLY1305") \
58+
X("TLS_ECDHE_ECDSA_WITH_AES_256_CCM", "ECDHE-ECDSA-AES256-CCM") \
59+
X("TLS_ECDHE_ECDSA_WITH_AES_128_CCM", "ECDHE-ECDSA-AES128-CCM") \
60+
X("TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "DHE-RSA-AES128-GCM-SHA256") \
61+
X("TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "DHE-RSA-AES256-GCM-SHA384") \
62+
X("TLS_DHE_RSA_WITH_AES_256_CCM", "DHE-RSA-AES256-CCM") \
63+
X("TLS_DHE_RSA_WITH_AES_128_CCM", "DHE-RSA-AES128-CCM") \
64+
X("TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "DHE-RSA-CHACHA20-POLY1305") \
65+
X("TLS_AES_128_GCM_SHA256", "") \
66+
X("TLS_AES_256_GCM_SHA384", "") \
67+
X("TLS_CHACHA20_POLY1305_SHA256", "") \
68+
X("TLS_AES_128_CCM_SHA256", "") \
69+
X("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "ECDHE-RSA-AES256-GCM-SHA384") \
70+
X("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305") \
71+
X("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-RSA-CHACHA20-POLY1305") \
72+
X("TLS_ECDHE_ECDSA_WITH_AES_256_CCM", "ECDHE-ECDSA-AES256-CCM") \
73+
X("TLS_ECDHE_ECDSA_WITH_AES_128_CCM", "ECDHE-ECDSA-AES128-CCM") \
74+
X("TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "DHE-RSA-AES128-GCM-SHA256") \
75+
X("TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "DHE-RSA-AES256-GCM-SHA384") \
76+
X("TLS_DHE_RSA_WITH_AES_256_CCM", "DHE-RSA-AES256-CCM") \
77+
X("TLS_DHE_RSA_WITH_AES_128_CCM", "DHE-RSA-AES128-CCM") \
78+
X("TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "DHE-RSA-CHACHA20-POLY1305") \
79+
X("TLS_AES_128_GCM_SHA256", "") \
80+
X("TLS_AES_256_GCM_SHA384", "") \
81+
X("TLS_CHACHA20_POLY1305_SHA256", "") \
82+
X("TLS_AES_128_CCM_SHA256", "") \
83+
X("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "ECDHE-RSA-AES256-GCM-SHA384") \
84+
X("TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-ECDSA-CHACHA20-POLY1305") \
85+
X("TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "ECDHE-RSA-CHACHA20-POLY1305") \
86+
X("TLS_ECDHE_ECDSA_WITH_AES_256_CCM", "ECDHE-ECDSA-AES256-CCM") \
87+
X("TLS_ECDHE_ECDSA_WITH_AES_128_CCM", "ECDHE-ECDSA-AES128-CCM") \
88+
X("TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", "DHE-RSA-AES128-GCM-SHA256") \
89+
X("TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", "DHE-RSA-AES256-GCM-SHA384") \
90+
X("TLS_DHE_RSA_WITH_AES_256_CCM", "DHE-RSA-AES256-CCM") \
91+
X("TLS_DHE_RSA_WITH_AES_128_CCM", "DHE-RSA-AES128-CCM") \
92+
X("TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256", "DHE-RSA-CHACHA20-POLY1305") \
93+
94+
#define TLS_CIPHERS_UNACCEPTABLE(X) \
95+
X("TLS_ECDH_anon_WITH_NULL_SHA", "AECDH-NULL-SHA") \
96+
X("TLS_ECDHE_RSA_WITH_NULL_SHA", "ECDHE-RSA-NULL-SHA") \
97+
X("TLS_ECDHE_ECDSA_WITH_NULL_SHA", "ECDHE-ECDSA-NULL-SHA") \
98+
X("TLS_GOSTR341001_WITH_NULL_GOSTR3411", "GOST94-NULL-GOST94") \
99+
X("TLS_GOSTR341094_WITH_NULL_GOSTR3411", "GOST2001-GOST89-GOST89") \
100+
X("TLS_ECDH_RSA_WITH_NULL_SHA", "ECDH-RSA-NULL-SHA") \
101+
X("TLS_ECDH_ECDSA_WITH_NULL_SHA", "ECDH-ECDSA-NULL-SHA") \
102+
X("TLS_RSA_WITH_NULL_SHA256", "NULL-SHA256") \
103+
X("TLS_RSA_WITH_NULL_SHA", "NULL-SHA") \
104+
X("TLS_RSA_WITH_NULL_MD5", "NULL-MD5") \
105+
X("TLS_ECDH_anon_WITH_AES_256_CBC_SHA", "AECDH-AES256-SHA") \
106+
X("TLS_DH_anon_WITH_AES_256_GCM_SHA384", "ADH-AES256-GCM-SHA384") \
107+
X("TLS_DH_anon_WITH_AES_256_CBC_SHA256", "ADH-AES256-SHA256") \
108+
X("TLS_DH_anon_WITH_AES_256_CBC_SHA", "ADH-AES256-SHA") \
109+
X("TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256", "ADH-CAMELLIA256-SHA256") \
110+
X("TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA", "ADH-CAMELLIA256-SHA") \
111+
X("TLS_ECDH_anon_WITH_AES_128_CBC_SHA", "AECDH-AES128-SHA") \
112+
X("TLS_DH_anon_WITH_AES_128_GCM_SHA256", "ADH-AES128-GCM-SHA256") \
113+
X("TLS_DH_anon_WITH_AES_128_CBC_SHA256", "ADH-AES128-SHA256") \
114+
X("TLS_DH_anon_WITH_AES_128_CBC_SHA", "ADH-AES128-SHA") \
115+
X("TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256", "ADH-CAMELLIA128-SHA256") \
116+
X("TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA", "AADH-CAMELLIA128-SHA") \
117+
X("TLS_ECDH_anon_WITH_RC4_128_SHA", "AECDH-RC4-SHA") \
118+
X("TLS_DH_anon_WITH_RC4_128_MD5", "ADH-RC4-MD5") \
119+
X("TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA", "AECDH-DES-CBC3-SHA") \
120+
X("TLS_DH_anon_WITH_3DES_EDE_CBC_SHA", "ADH-DES-CBC3-SHA") \
121+
X("TLS_DH_anon_WITH_DES_CBC_SHA", "ADH-DES-CBC-SHA") \
122+
X("SSL_RSA_EXPORT_WITH_RC4_40_MD5", "EXP-RC4-MD5") \
123+
X("SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5", "EXP-RC2-CBC-MD5") \
124+
X("SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", "EXP-DES-CBC-SHA") \
125+
X("SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA", "") \
126+
X("SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA", "") \
127+
X("TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA", "EXP-DH-DSS-DES-CBC-SHA") \
128+
X("TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA", "EXP-DH-RSA-DES-CBC-SHA") \
129+
X("SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", "EXP-EDH-DSS-DES-CBC-SHA") \
130+
X("SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", "EXP-EDH-RSA-DES-CBC-SHA") \
131+
X("SSL_DH_anon_EXPORT_WITH_RC4_40_MD5", "EXP-ADH-RC4-MD5") \
132+
X("SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA", "EXP-ADH-DES-CBC-SHA") \
133+
X("TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA", "EXP-KRB5-DES-CBC-SHA") \
134+
X("TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA", "EXP-KRB5-RC2-CBC-SHA") \
135+
X("TLS_KRB5_EXPORT_WITH_RC4_40_SHA", "EXP-KRB5-RC4-SHA") \
136+
X("TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5", "EXP-KRB5-DES-CBC-MD5") \
137+
X("TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5", "EXP-KRB5-RC2-CBC-MD5") \
138+
X("TLS_KRB5_EXPORT_WITH_RC4_40_MD5", "EXP-KRB5-RC4-MD5") \
139+
X("TLS_RSA_EXPORT_WITH_RC4_40_MD5", "EXP-RC4-MD5") \
140+
X("TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5", "EXP-RC2-CBC-MD5") \
141+
X("TLS_RSA_EXPORT_WITH_DES40_CBC_SHA", "") \
142+
X("TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", "EXP-EDH-DSS-DES-CBC-SHA") \
143+
X("TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", "EXP-EDH-RSA-DES-CBC-SHA") \
144+
X("TLS_DH_anon_EXPORT_WITH_RC4_40_MD5", "EXP-ADH-RC4-MD5") \
145+
X("TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA", "EXP-ADH-DES-CBC-SHA") \
146+
X("TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA", "EXP1024-DES-CBC-SHA") \
147+
X("TLS_RSA_EXPORT1024_WITH_RC4_56_SHA", "EXP1024-RC4-SHA") \
148+
X("TLS_RSA_EXPORT1024_WITH_RC4_56_MD5", "EXP1024-RC4-MD5") \
149+
X("TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5", "EXP1024-RC2-CBC-MD5") \
150+
X("TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA", "EXP1024-DHE-DSS-DES-CBC-SHA") \
151+
X("TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA", "EXP1024-DHE-DSS-RC4-SHA") \
152+
X("SSL_CK_RC4_128_EXPORT40_WITH_MD5", "EXP-RC4-MD5") \
153+
X("SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5", "EXP-RC2-CBC-MD5") \
154+
X("SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5", "EXP-RC2-MD5") \
155+
X("TLS_DHE_RSA_WITH_DES_CBC_SHA", "EDH-RSA-DES-CBC-SHA") \
156+
X("TLS_DHE_DSS_WITH_DES_CBC_SHA", "EDH-DSS-DES-CBC-SHA") \
157+
X("TLS_DH_anon_WITH_DES_CBC_SHA", "ADH-DES-CBC-SHA") \
158+
X("SL_CK_DES_64_CBC_WITH_SHA", "DES-CBC-SHA") \
159+
X("TLS_KRB5_WITH_DES_CBC_SHA", "KRB5-DES-CBC-SHA") \
160+
X("TLS_DH_anon_WITH_RC4_128_MD5", "ADH-RC4-MD5") \
161+
X("TLS_RSA_WITH_RC4_128_MD5", "RC4-MD5") \
162+
X("TLS_RSA_WITH_NULL_MD5", "NULL-MD5") \
163+
X("TLS_KRB5_WITH_DES_CBC_MD5", "KRB5-DES-CBC-MD5") \
164+
X("TLS_KRB5_WITH_RC4_128_MD5", "KRB5-RC4-MD5") \
165+
X("TLS_KRB5_WITH_IDEA_CBC_MD5", "KRB5-IDEA-CBC-MD5") \
166+
X("TLS_ECDHE_RSA_WITH_RC4_128_SHA", "ECDHE-RSA-RC4-SHA") \
167+
X("TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", "ECDHE-ECDSA-RC4-SHA") \
168+
X("TLS_ECDH_anon_WITH_RC4_128_SHA", "AECDH-RC4-SHA") \
169+
X("TLS_ECDH_RSA_WITH_RC4_128_SHA", "ECDH-RSA-RC4-SHA") \
170+
X("TLS_ECDH_ECDSA_WITH_RC4_128_SHA", "ECDH-ECDSA-RC4-SHA") \
171+
X("TLS_RSA_WITH_RC4_128_SHA", "RC4-SHA") \
172+
X("TLS_KRB5_WITH_RC4_128_SHA", "KRB5-RC4-SHA") \
173+
X("TLS_ECDH_anon_WITH_NULL_SHA", "AECDH-NULL-SHA") \
174+
X("TLS_ECDH_RSA_WITH_NULL_SHA", "ECDH-RSA-NULL-SHA") \
175+
X("TLS_ECDH_ECDSA_WITH_NULL_SHA", "ECDH-ECDSA-NULL-SHA") \
176+
X("TLS_PSK_WITH_AES_256_CBC_SHA", "PSK-AES256-CBC-SHA") \
177+
X("TLS_PSK_WITH_AES_128_CBC_SHA", "PSK-AES128-CBC-SHA") \
178+
X("TLS_PSK_WITH_3DES_EDE_CBC_SHA", "PSK-3DES-EDE-CBC-SHA") \
179+
X("TLS_PSK_WITH_RC4_128_SHA", "PSK-RC4-SHA") \
180+
X("TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5", "EXP-RC2-CBC-MD5") \
181+
X("TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA", "EXP-KRB5-RC2-CBC-SHA") \
182+
X("TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5", "EXP1024-RC2-CBC-MD5") \
183+
X("SSL_CK_RC2_128_CBC_WITH_MD5", "RC2-CBC-MD5") \
184+
X("SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5", "EXP-RC2-CBC-MD5") \
185+
X("TLS_DH_RSA_WITH_AES_128_CBC_SHA256", "DH-RSA-AES128-SHA256") \
186+
X("TLS_DH_RSA_WITH_AES_256_CBC_SHA256", "DH-RSA-AES256-SHA256") \
187+
X("TLS_DH_DSS_WITH_AES_128_CBC_SHA256", "DH-DSS-AES128-SHA256") \
188+
X("TLS_DH_DSS_WITH_AES_128_CBC_SHA", "DH-DSS-AES128-SHA") \
189+
X("TLS_DH_DSS_WITH_AES_256_CBC_SHA", "DH-DSS-AES256-SHA") \
190+
X("TLS_DH_DSS_WITH_AES_256_CBC_SHA256", "DH-DSS-AES256-SHA256") \
191+
X("TLS_DH_RSA_WITH_AES_128_CBC_SHA", "DH-RSA-AES128-SHA") \
192+
X("TLS_DH_RSA_WITH_AES_256_CBC_SHA", "DH-RSA-AES256-SHA") \
193+
X("TLS_DH_DSS_WITH_AES_128_GCM_SHA256", "DH-DSS-AES128-GCM-SHA256") \
194+
X("TLS_DH_DSS_WITH_AES_256_GCM_SHA384", "DH-DSS-AES256-GCM-SHA384") \
195+
X("TLS_DH_RSA_WITH_AES_128_GCM_SHA256", "DH-RSA-AES128-GCM-SHA256") \
196+
X("TLS_DH_RSA_WITH_AES_256_GCM_SHA384", "DH-RSA-AES256-GCM-SHA384") \
197+
X("TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA", "DH-DSS-DES-CBC3-SHA") \
198+
X("TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA", "DH-RSA-DES-CBC3-SHA") \
199+
X("TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", "EDH-DSS-DES-CBC3-SHA") \
200+
X("TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA", "EDH-RSA-DES-CBC3-SHA") \
201+
X("TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA", "ECDH-RSA-DES-CBC3-SHA") \
202+
X("TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA", "ECDH-ECDSA-DES-CBC3-SHA") \
203+
X("TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", "ECDHE-RSA-DES-CBC3-SHA") \
204+
X("TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", "ECDHE-ECDSA-DES-CBC3-SHA") \
205+
X("TLS_RSA_WITH_3DES_EDE_CBC_SHA", "DES-CBC3-SHA") \
206+
X("TLS_KRB5_WITH_3DES_EDE_CBC_SHA", "KRB5-DES-CBC3-SHA") \
207+
X("TLS_KRB5_WITH_3DES_EDE_CBC_MD5", "KRB5-DES-CBC3-MD5") \
208+
X("TLS_KRB5_WITH_IDEA_CBC_SHA", "KRB5-IDEA-CBC-SHA") \
209+
210+
// This comment is here to avoid "backslash-newline at end of file" compile warning.

devapi/tests/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
# are not good for building client code that uses the connector.
3232
#
3333

34+
get_filename_component(CDKDIR "${CMAKE_CURRENT_LIST_DIR}/../../cdk" ABSOLUTE)
35+
3436
set_property(
3537
DIRECTORY .
3638
PROPERTY COMPILE_DEFINITIONS ""
@@ -57,3 +59,16 @@ ADD_NG_TEST(devapi-t
5759
first-t.cc crud-t.cc types-t.cc batch-t.cc ddl-t.cc session-t.cc
5860
bugs-t.cc test.h
5961
)
62+
63+
set(TLS_CIPHERS_H "${CDKDIR}/foundation/tls_ciphers.h")
64+
65+
if(EXISTS ${TLS_CIPHERS_H})
66+
67+
message(STATUS "Using cipher list defined in: ${TLS_CIPHERS_H}")
68+
69+
include_directories("${CDKDIR}/foundation")
70+
add_compile_definitions(TLS_CIPHERS_H)
71+
72+
else()
73+
message(SEND_ERROR "The cipher list could not be found: ${TLS_CIPHERS_H}")
74+
endif()

0 commit comments

Comments
 (0)