@@ -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 ) && \
0 commit comments