Skip to content

Commit 46251bb

Browse files
committed
Fix issue with NO_DES3_TLS_SUITES
1 parent 74a4bcb commit 46251bb

File tree

3 files changed

+66
-48
lines changed

3 files changed

+66
-48
lines changed

examples/configs/user_settings_wolftpm.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ extern "C" {
187187
#define NO_PWDBASED
188188
#define NO_DSA
189189
#define NO_DES3
190+
#define NO_DES3_TLS_SUITES
190191
#define NO_RC4
191192
#define NO_PSK
192193
#define NO_MD4

wolfssl/wolfcrypt/settings.h

Lines changed: 64 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4803,170 +4803,186 @@ extern void uITRON4_free(void *p) ;
48034803

48044804
/* Dependency Rules (Feature X requires Feature Y) */
48054805
#if defined(WOLFSSL_SHA224) && defined(NO_SHA256)
4806-
#error "SHA-224 requires SHA-256"
4806+
#error "SHA-224 (WOLFSSL_SHA224) requires SHA-256"
48074807
#endif
48084808
#if defined(WOLFSSL_SM2) && !defined(HAVE_ECC)
4809-
#error "SM2 requires ECC"
4809+
#error "SM2 (WOLFSSL_SM2) requires ECC (HAVE_ECC)"
48104810
#endif
48114811
#if defined(HAVE_ECC_BRAINPOOL) && !defined(WOLFSSL_CUSTOM_CURVES)
4812-
#error "Brainpool curves require WOLFSSL_CUSTOM_CURVES"
4812+
#error "Brainpool curves (HAVE_ECC_BRAINPOOL) require WOLFSSL_CUSTOM_CURVES"
48134813
#endif
48144814
#if defined(FP_ECC) && !defined(HAVE_ECC)
4815-
#error "FP_ECC requires ECC"
4815+
#error "FP_ECC requires ECC (HAVE_ECC)"
48164816
#endif
48174817
#if defined(HAVE_ECC_ENCRYPT) && !defined(HAVE_ECC)
4818-
#error "ECC encrypt requires ECC"
4818+
#error "ECC encrypt (HAVE_ECC_ENCRYPT) requires ECC (HAVE_ECC)"
48194819
#endif
48204820
#if defined(HAVE_ECC_ENCRYPT) && !defined(HAVE_HKDF)
4821-
#error "ECC encrypt requires HKDF"
4821+
#error "ECC encrypt (HAVE_ECC_ENCRYPT) requires HKDF (HAVE_HKDF)"
48224822
#endif
48234823
#if defined(WOLFCRYPT_HAVE_ECCSI) && !defined(HAVE_ECC)
4824-
#error "ECCSI requires ECC"
4824+
#error "ECCSI (WOLFCRYPT_HAVE_ECCSI) requires ECC (HAVE_ECC)"
48254825
#endif
48264826
#if defined(WOLFCRYPT_HAVE_SAKKE) && !defined(HAVE_ECC)
4827-
#error "SAKKE requires ECC"
4827+
#error "SAKKE (WOLFCRYPT_HAVE_SAKKE) requires ECC (HAVE_ECC)"
48284828
#endif
48294829
#if !defined(WOLFCRYPT_ONLY) && defined(HAVE_ANON) && defined(NO_DH)
4830-
#error "Anonymous ciphers require DH"
4830+
#error "Anonymous ciphers (HAVE_ANON) require DH"
48314831
#endif
48324832
#if defined(FORTRESS) && defined(NO_AES)
4833-
#error "Fortress requires AES"
4833+
#error "Fortress (FORTRESS) requires AES"
48344834
#endif
48354835
#if defined(HAVE_AESGCM) && defined(NO_AES)
4836-
#error "AES-GCM requires AES"
4836+
#error "AES-GCM (HAVE_AESGCM) requires AES"
48374837
#endif
48384838
#if defined(HAVE_AESCCM) && defined(NO_AES)
4839-
#error "AES-CCM requires AES"
4839+
#error "AES-CCM (HAVE_AESCCM) requires AES"
48404840
#endif
48414841
#if defined(WOLFSSL_AES_COUNTER) && defined(NO_AES)
4842-
#error "AES-CTR requires AES"
4842+
#error "AES-CTR (WOLFSSL_AES_COUNTER) requires AES"
48434843
#endif
48444844
#if defined(HAVE_ED448) && !defined(WOLFSSL_SHA512)
4845-
#error "ED448 requires SHA-512"
4845+
#error "ED448 (HAVE_ED448) requires SHA-512 (WOLFSSL_SHA512)"
48464846
#endif
48474847
#if defined(WOLFSSL_SHAKE128) && !defined(WOLFSSL_SHA3)
4848-
#error "SHAKE128 requires SHA-3"
4848+
#error "SHAKE128 (WOLFSSL_SHAKE128) requires SHA-3 (WOLFSSL_SHA3)"
48494849
#endif
48504850
#if defined(WOLFSSL_SHAKE256) && !defined(WOLFSSL_SHA3)
4851-
#error "SHAKE256 requires SHA-3"
4851+
#error "SHAKE256 (WOLFSSL_SHAKE256) requires SHA-3 (WOLFSSL_SHA3)"
48524852
#endif
48534853
#if defined(HAVE_XCHACHA) && !defined(HAVE_CHACHA)
4854-
#error "XChaCha requires ChaCha"
4854+
#error "XChaCha (HAVE_XCHACHA) requires ChaCha (HAVE_CHACHA)"
48554855
#endif
48564856
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_REQUIRE_FFDHE) && \
48574857
defined(NO_DH)
4858-
#error "FFDHE-only requires DH"
4858+
#error "FFDHE-only (WOLFSSL_REQUIRE_FFDHE) requires DH"
48594859
#endif
48604860
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_REQUIRE_FFDHE) && \
48614861
!defined(HAVE_SUPPORTED_CURVES)
4862-
#error "FFDHE-only requires Supported Curves extension"
4862+
#error "FFDHE-only (WOLFSSL_REQUIRE_FFDHE) requires" \
4863+
" Supported Curves (HAVE_SUPPORTED_CURVES)"
48634864
#endif
48644865
#if defined(HAVE_SCRYPT) && defined(NO_PWDBASED)
4865-
#error "scrypt requires pwdbased"
4866+
#error "scrypt (HAVE_SCRYPT) requires pwdbased"
48664867
#endif
48674868
#if defined(HAVE_OCSP) && defined(NO_ASN)
4868-
#error "OCSP requires ASN"
4869+
#error "OCSP (HAVE_OCSP) requires ASN"
48694870
#endif
48704871
#if defined(HAVE_SMIME) && defined(NO_ASN)
4871-
#error "S/MIME requires ASN"
4872+
#error "S/MIME (HAVE_SMIME) requires ASN"
48724873
#endif
48734874
#if defined(HAVE_OCSP) && defined(NO_RSA) && !defined(HAVE_ECC)
4874-
#error "OCSP requires RSA or ECC"
4875+
#error "OCSP (HAVE_OCSP) requires RSA or ECC (HAVE_ECC)"
48754876
#endif
48764877
#if defined(HAVE_PKCS7) && defined(NO_RSA) && !defined(HAVE_ECC)
4877-
#error "PKCS7 requires RSA or ECC"
4878+
#error "PKCS7 (HAVE_PKCS7) requires RSA or ECC (HAVE_ECC)"
48784879
#endif
48794880
#if defined(HAVE_PKCS7) && defined(NO_SHA) && defined(NO_SHA256)
4880-
#error "PKCS7 requires SHA or SHA-256"
4881+
#error "PKCS7 (HAVE_PKCS7) requires SHA or SHA-256"
48814882
#endif
48824883
#if defined(WOLFSSL_HAVE_WOLFSCEP) && defined(NO_AES) && defined(NO_DES3)
4883-
#error "SCEP requires AES or 3DES"
4884+
#error "SCEP (WOLFSSL_HAVE_WOLFSCEP) requires AES or 3DES"
48844885
#endif
48854886
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_SNIFFER) && \
48864887
defined(NO_RSA) && !defined(HAVE_ECC) && !defined(HAVE_CURVE25519)
4887-
#error "Sniffer requires RSA, ECC, or Curve25519"
4888+
#error "Sniffer (WOLFSSL_SNIFFER) requires RSA," \
4889+
" ECC (HAVE_ECC), or Curve25519 (HAVE_CURVE25519)"
48884890
#endif
48894891
#if !defined(NO_RSA) && !defined(WOLFSSL_RSA_VERIFY_ONLY) && \
48904892
defined(NO_ASN) && !defined(WOLFCRYPT_ONLY)
4891-
#error "RSA requires ASN"
4893+
#error "RSA requires ASN (NO_ASN must not be defined)"
48924894
#endif
48934895
#if !defined(NO_DSA) && defined(NO_ASN)
4894-
#error "DSA requires ASN"
4896+
#error "DSA requires ASN (NO_ASN must not be defined)"
48954897
#endif
48964898
#if !defined(WOLFCRYPT_ONLY) && defined(NO_PSK) && defined(NO_ASN)
4897-
#error "Please enable PSK if disabling ASN"
4899+
#error "Enable PSK (NO_PSK must not be defined)" \
4900+
" if disabling ASN (NO_ASN)"
48984901
#endif
48994902
#if defined(WOLFSSL_WOLFSSH) && defined(NO_HMAC)
4900-
#error "WOLFSSH requires HMAC"
4903+
#error "WOLFSSH (WOLFSSL_WOLFSSH) requires HMAC"
49014904
#endif
49024905

49034906
/* Conflicting Feature Rules */
49044907
#if defined(WOLFSSL_SP_MATH) && !defined(WOLFSSL_SP_MATH_ALL)
49054908
#if defined(WOLFSSL_CUSTOM_CURVES)
4906-
#error "Cannot use single precision math and custom curves"
4909+
#error "Cannot use SP math (WOLFSSL_SP_MATH)" \
4910+
" with custom curves (WOLFSSL_CUSTOM_CURVES)"
49074911
#endif
49084912
#if !defined(NO_DSA)
4909-
#error "Cannot use single precision math and DSA"
4913+
#error "Cannot use single precision math (WOLFSSL_SP_MATH) and DSA"
49104914
#endif
49114915
#if defined(WOLFCRYPT_HAVE_SRP)
4912-
#error "Cannot use single precision math and SRP"
4916+
#error "Cannot use SP math (WOLFSSL_SP_MATH)" \
4917+
" with SRP (WOLFCRYPT_HAVE_SRP)"
49134918
#endif
49144919
#endif
49154920
#if defined(USE_INTEGER_HEAP_MATH) && defined(WOLFSSL_STATIC_MEMORY)
4916-
#error "Heap math is incompatible with static memory"
4921+
#error "Heap math (USE_INTEGER_HEAP_MATH) is incompatible" \
4922+
" with static memory (WOLFSSL_STATIC_MEMORY)"
49174923
#endif
49184924
#if defined(WC_16BIT_CPU) && \
49194925
(defined(WOLFSSL_SP_MATH) || defined(WOLFSSL_SP_MATH_ALL))
4920-
#error "16-bit build is not available with SP math"
4926+
#error "16-bit build (WC_16BIT_CPU) is not available with SP math"
49214927
#endif
49224928

49234929
/* Streaming Feature Rules */
49244930
#if defined(WOLFSSL_AESGCM_STREAM) && !defined(HAVE_AESGCM)
4925-
#error "AES-GCM streaming requires AES-GCM"
4931+
#error "AES-GCM streaming (WOLFSSL_AESGCM_STREAM)" \
4932+
" requires AES-GCM (HAVE_AESGCM)"
49264933
#endif
49274934
#if defined(WOLFSSL_AESXTS_STREAM) && !defined(WOLFSSL_AES_XTS)
4928-
#error "AES-XTS streaming requires AES-XTS"
4935+
#error "AES-XTS streaming (WOLFSSL_AESXTS_STREAM)" \
4936+
" requires AES-XTS (WOLFSSL_AES_XTS)"
49294937
#endif
49304938
#if defined(WOLFSSL_ED25519_STREAMING_VERIFY) && !defined(HAVE_ED25519)
4931-
#error "ED25519 streaming verify requires ED25519"
4939+
#error "ED25519 streaming verify" \
4940+
" (WOLFSSL_ED25519_STREAMING_VERIFY)" \
4941+
" requires ED25519 (HAVE_ED25519)"
49324942
#endif
49334943
#if defined(WOLFSSL_ED448_STREAMING_VERIFY) && !defined(HAVE_ED448)
4934-
#error "ED448 streaming verify requires ED448"
4944+
#error "ED448 streaming verify" \
4945+
" (WOLFSSL_ED448_STREAMING_VERIFY)" \
4946+
" requires ED448 (HAVE_ED448)"
49354947
#endif
49364948

49374949
/* QUIC Rules */
49384950
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_QUIC) && \
49394951
!defined(WOLFSSL_TLS13)
4940-
#error "QUIC requires TLS 1.3"
4952+
#error "QUIC (WOLFSSL_QUIC) requires TLS 1.3 (WOLFSSL_TLS13)"
49414953
#endif
49424954
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_QUIC) && \
49434955
!defined(HAVE_AESGCM)
4944-
#error "QUIC requires AES-GCM"
4956+
#error "QUIC (WOLFSSL_QUIC) requires AES-GCM (HAVE_AESGCM)"
49454957
#endif
49464958

49474959
/* Crypto Callback Rules */
49484960
#if defined(WC_TEST_NO_CRYPTOCB_SW_TEST) && !defined(WOLF_CRYPTO_CB)
4949-
#error "Crypto callback SW test requires WOLF_CRYPTO_CB"
4961+
#error "Crypto callback SW test" \
4962+
" (WC_TEST_NO_CRYPTOCB_SW_TEST)" \
4963+
" requires WOLF_CRYPTO_CB"
49504964
#endif
49514965
#if (defined(WOLF_CRYPTO_CB_COPY) || defined(WOLF_CRYPTO_CB_FREE)) && \
49524966
!defined(WOLF_CRYPTO_CB)
4953-
#error "Crypto callback utilities require WOLF_CRYPTO_CB"
4967+
#error "Crypto callback utilities" \
4968+
" (WOLF_CRYPTO_CB_COPY/WOLF_CRYPTO_CB_FREE)" \
4969+
" require WOLF_CRYPTO_CB"
49544970
#endif
49554971

49564972
/* Early Data / Session Rules */
49574973
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_EARLY_DATA) && \
49584974
!defined(WOLFSSL_TLS13)
4959-
#error "Early data requires TLS 1.3"
4975+
#error "Early data requires TLS 1.3 (WOLFSSL_TLS13)"
49604976
#endif
49614977
#if !defined(WOLFCRYPT_ONLY) && defined(WOLFSSL_EARLY_DATA) && \
49624978
!defined(HAVE_SESSION_TICKET) && defined(NO_PSK)
4963-
#error "Early data requires session tickets or PSK"
4979+
#error "Early data requires session tickets (HAVE_SESSION_TICKET) or PSK"
49644980
#endif
49654981

4966-
/* DES3 TLS Suite Rule */
4982+
/* DES3 TLS Suite Rule - auto-disable DES3 TLS suites when DES3 is disabled */
49674983
#if !defined(WOLFCRYPT_ONLY) && !defined(NO_DES3_TLS_SUITES) && \
49684984
defined(NO_DES3)
4969-
#error "DES3 TLS suites require DES3"
4985+
#define NO_DES3_TLS_SUITES
49704986
#endif
49714987

49724988
#if defined(NO_WOLFSSL_CLIENT) && defined(NO_WOLFSSL_SERVER) && \

wrapper/CSharp/user_settings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191

9292
/* Disable Algorithms */
9393
#define NO_DES3
94+
#define NO_DES3_TLS_SUITES
9495
#define NO_DSA
9596
#define NO_RC4
9697
#define NO_MD4

0 commit comments

Comments
 (0)