Skip to content

Commit 10a12b7

Browse files
Rust wrapper: support more wolfcrypt build configurations
1 parent 08f2b36 commit 10a12b7

19 files changed

Lines changed: 284 additions & 137 deletions

File tree

.github/workflows/rust-wrapper.yml

Lines changed: 34 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -36,43 +36,38 @@ jobs:
3636
config: [
3737
# Add new configs here
3838
'',
39-
'--enable-all --enable-asn=template',
40-
'--enable-all --enable-asn=original',
41-
'--enable-all --enable-asn=template CPPFLAGS=-DWOLFSSL_OLD_OID_SUM',
42-
'--enable-all --enable-asn=original CPPFLAGS=-DWOLFSSL_OLD_OID_SUM',
43-
'--enable-harden-tls',
44-
'--enable-tls13 --enable-session-ticket --enable-dtls --enable-dtls13
45-
--enable-opensslextra --enable-sessioncerts
46-
CPPFLAGS=''-DWOLFSSL_DTLS_NO_HVR_ON_RESUME -DHAVE_EXT_CACHE
47-
-DWOLFSSL_TICKET_HAVE_ID -DHAVE_EX_DATA -DSESSION_CACHE_DYNAMIC_MEM'' ',
48-
'--enable-all --enable-secure-renegotiation',
49-
'--enable-all --enable-haproxy --enable-quic',
50-
'--enable-dtls --enable-dtls13 --enable-earlydata
51-
--enable-session-ticket --enable-psk
52-
CPPFLAGS=''-DWOLFSSL_DTLS13_NO_HRR_ON_RESUME'' ',
53-
'--enable-experimental --enable-kyber --enable-dtls --enable-dtls13
54-
--enable-dtls-frag-ch',
55-
'--enable-all --enable-dtls13 --enable-dtls-frag-ch',
56-
'--enable-dtls --enable-dtls13 --enable-dtls-frag-ch
57-
--enable-dtls-mtu',
58-
'--enable-dtls --enable-dtlscid --enable-dtls13 --enable-secure-renegotiation
59-
--enable-psk --enable-aesccm --enable-nullcipher
60-
CPPFLAGS=-DWOLFSSL_STATIC_RSA',
61-
'--enable-ascon --enable-experimental',
62-
'--enable-ascon CPPFLAGS=-DWOLFSSL_ASCON_UNROLL --enable-experimental',
63-
'--enable-sniffer --enable-curve25519 --enable-curve448 --enable-enckeys
64-
CPPFLAGS=-DWOLFSSL_DH_EXTRA',
65-
'--enable-dtls --enable-dtls13 --enable-dtls-frag-ch
66-
--enable-dtls-mtu CPPFLAGS=-DWOLFSSL_DTLS_RECORDS_CAN_SPAN_DATAGRAMS',
67-
'--enable-opensslextra CPPFLAGS=''-DWOLFSSL_NO_CA_NAMES'' ',
68-
'--enable-opensslextra=x509small',
69-
'CPPFLAGS=''-DWOLFSSL_EXTRA'' ',
70-
'--enable-lms=small,verify-only --enable-xmss=small,verify-only',
71-
'--disable-sys-ca-certs',
72-
'--enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ',
73-
'--enable-coding=no',
74-
'--enable-dtls --enable-dtls13 --enable-ocspstapling --enable-ocspstapling2
75-
--enable-cert-setup-cb --enable-sessioncerts',
76-
'--disable-sni --disable-ecc --disable-tls13 --disable-secure-renegotiation-info',
77-
'CPPFLAGS=-DWOLFSSL_BLIND_PRIVATE_KEY',
39+
'--enable-all',
40+
'--enable-cryptonly --disable-examples',
41+
'--enable-cryptonly --disable-examples --disable-aes --disable-aesgcm',
42+
'--enable-cryptonly --disable-examples --disable-aescbc',
43+
'--enable-cryptonly --disable-examples --disable-aeseax',
44+
'--enable-cryptonly --disable-examples --disable-aesecb',
45+
'--enable-cryptonly --disable-examples --disable-aesccm',
46+
'--enable-cryptonly --disable-examples --disable-aescfb',
47+
'--enable-cryptonly --disable-examples --disable-aesctr',
48+
'--enable-cryptonly --disable-examples --disable-aescts',
49+
'--enable-cryptonly --disable-examples --disable-aesgcm',
50+
'--enable-cryptonly --disable-examples --disable-aesgcm-stream',
51+
'--enable-cryptonly --disable-examples --disable-aesofb',
52+
'--enable-cryptonly --disable-examples --disable-aesxts',
53+
'--enable-cryptonly --disable-examples --disable-cmac',
54+
'--enable-cryptonly --disable-examples --disable-dh',
55+
'--enable-cryptonly --disable-examples --disable-ecc',
56+
'--enable-cryptonly --disable-examples --disable-ed25519',
57+
'--enable-cryptonly --disable-examples --disable-ed25519-stream',
58+
'--enable-cryptonly --disable-examples --disable-ed448',
59+
'--enable-cryptonly --disable-examples --disable-ed448-stream',
60+
'--enable-cryptonly --disable-examples --disable-hkdf',
61+
'--enable-cryptonly --disable-examples --disable-hmac',
62+
'--enable-cryptonly --disable-examples --disable-rng',
63+
'--enable-cryptonly --disable-examples --disable-rsa',
64+
'--enable-cryptonly --disable-examples --disable-rsapss',
65+
'--enable-cryptonly --disable-examples --disable-sha224',
66+
'--enable-cryptonly --disable-examples --disable-sha3',
67+
'--enable-cryptonly --disable-examples --disable-sha384',
68+
'--enable-cryptonly --disable-examples --disable-sha512',
69+
'--enable-cryptonly --disable-examples --disable-shake128',
70+
'--enable-cryptonly --disable-examples --disable-shake256',
71+
'--enable-cryptonly --disable-examples --disable-srtp-kdf',
72+
'--enable-cryptonly --disable-examples --disable-x963kdf',
7873
]

wolfssl/wolfcrypt/sha512.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ struct wc_Sha512 {
229229

230230
#endif /* HAVE_FIPS */
231231

232-
#if defined(WOLFSSL_SHA512) || defined(WOLFSSL_SHA384)
232+
#if defined(WOLFSSL_SHA512)
233233

234234
#ifdef WOLFSSL_ARMASM
235235
#if !defined(WOLFSSL_ARMASM_NO_NEON)

wrapper/rust/wolfssl/build.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,15 +163,22 @@ fn scan_cfg() -> Result<()> {
163163
/* hkdf */
164164
check_cfg(&binding, "wc_HKDF_Extract_ex", "hkdf");
165165

166+
/* hmac */
167+
check_cfg(&binding, "wc_HmacSetKey", "hmac");
168+
166169
/* kdf */
167170
check_cfg(&binding, "wc_PBKDF2", "kdf_pbkdf2");
168171
check_cfg(&binding, "wc_PKCS12_PBKDF_ex", "kdf_pkcs12");
169172
check_cfg(&binding, "wc_SRTP_KDF", "kdf_srtp");
170173
check_cfg(&binding, "wc_SSH_KDF", "kdf_ssh");
171174
check_cfg(&binding, "wc_Tls13_HKDF_Extract_ex", "kdf_tls13");
172175

176+
/* prf */
177+
check_cfg(&binding, "wc_PRF", "prf");
178+
173179
/* random */
174180
check_cfg(&binding, "wc_RNG_DRBG_Reseed", "random_hashdrbg");
181+
check_cfg(&binding, "wc_InitRng", "random");
175182

176183
/* rsa */
177184
check_cfg(&binding, "wc_InitRsaKey", "rsa");
@@ -181,7 +188,9 @@ fn scan_cfg() -> Result<()> {
181188

182189
/* sha */
183190
check_cfg(&binding, "wc_InitSha", "sha");
191+
check_cfg(&binding, "wc_InitSha224", "sha224");
184192
check_cfg(&binding, "wc_InitSha256", "sha256");
193+
check_cfg(&binding, "wc_InitSha384", "sha384");
185194
check_cfg(&binding, "wc_InitSha512", "sha512");
186195
check_cfg(&binding, "wc_InitSha3_224", "sha3");
187196
check_cfg(&binding, "wc_InitShake128", "shake128");

0 commit comments

Comments
 (0)