gpoulios opened a new pull request, #2878:
URL: https://github.com/apache/nuttx-apps/pull/2878

   ## Summary
   
   This is to patch upstream MbedTLS issue: 
https://github.com/Mbed-TLS/mbedtls/issues/9425 that triggers a -`Werror=undef` 
on `MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT` when `MBEDTLS_SSL_PROTO_DTLS` is 
undefined. There is no other way to silence that warning and it breaks builds 
in systems with `-Werror`. Once the upstream issue is resolved, this can be 
reverted.
   
   Given that NuttX might stay with this particular version of MbedTLS for a 
while (even if upstream fixes the issue and releases it), this patch seems like 
the best compromise (hopefully acceptable?) until it is resolved.
   
   ## Impact
   
   Said warning breaks builds in systems configured with `-Werror` and  
`CONFIG_MBEDTLS_SSL_PROTO_DTLS` not set, and there is no way to work around it 
other than:
    - Not using `-Werror` (might not be an option)
    - Enabling back `MBEDTLS_SSL_PROTO_DTLS` (might not be an option either due 
to code size)
   
   Other than that, the patch has no impact to functionality or even code 
(previously undefined macro would be evaluated to 0 anyways). Behaviour remains 
exactly the same.
   
   ## Testing
   
   <details>
     <summary>MbedTLS v3.6.2 self test output (30/30 passed)</summary>
   
   ```
   NuttShell (NSH) NuttX-12.7.0
   nsh> mbedselftest
   
     CALLOC(0,1): passed (distinct non-null)
     CALLOC(1,0): passed (distinct non-null)
     CALLOC(1): passed
     CALLOC(1 again): passed
   
     MD5 test #1: passed
     MD5 test #2: passed
     MD5 test #3: passed
     MD5 test #4: passed
     MD5 test #5: passed
     MD5 test #6: passed
     MD5 test #7: passed
   
     RIPEMD-160 test #1: passed
     RIPEMD-160 test #2: passed
     RIPEMD-160 test #3: passed
     RIPEMD-160 test #4: passed
     RIPEMD-160 test #5: passed
     RIPEMD-160 test #6: passed
     RIPEMD-160 test #7: passed
     RIPEMD-160 test #8: passed
   
     SHA-1 test #1: passed
     SHA-1 test #2: passed
     SHA-1 test #3: passed
   
     SHA-224 test #1: passed
     SHA-224 test #2: passed
     SHA-224 test #3: passed
   
     SHA-256 test #1: passed
     SHA-256 test #2: passed
     SHA-256 test #3: passed
   
     SHA-384 test #1: passed
     SHA-384 test #2: passed
     SHA-384 test #3: passed
   
     SHA-512 test #1: passed
     SHA-512 test #2: passed
     SHA-512 test #3: passed
   
     SHA3-224 test 0 passed
     SHA3-256 test 0 passed
     SHA3-384 test 0 passed
     SHA3-512 test 0 passed
     SHA3-224 test 1 passed
     SHA3-256 test 1 passed
     SHA3-384 test 1 passed
     SHA3-512 test 1 passed
     SHA3-224 long KAT test passed
     SHA3-256 long KAT test passed
     SHA3-384 long KAT test passed
     SHA3-512 long KAT test passed
   
     DES -ECB- 56 (dec): passed
     DES -ECB- 56 (enc): passed
     DES3-ECB-112 (dec): passed
     DES3-ECB-112 (enc): passed
     DES3-ECB-168 (dec): passed
     DES3-ECB-168 (enc): passed
   
     DES -CBC- 56 (dec): passed
     DES -CBC- 56 (enc): passed
     DES3-CBC-112 (dec): passed
     DES3-CBC-112 (enc): passed
     DES3-CBC-168 (dec): passed
     DES3-CBC-168 (enc): passed
   
     AES note: built-in implementation.
     AES-ECB-128 (dec): passed
     AES-ECB-128 (enc): passed
     AES-ECB-192 (dec): passed
     AES-ECB-192 (enc): passed
     AES-ECB-256 (dec): passed
     AES-ECB-256 (enc): passed
   
     AES-CBC-128 (dec): passed
     AES-CBC-128 (enc): passed
     AES-CBC-192 (dec): passed
     AES-CBC-192 (enc): passed
     AES-CBC-256 (dec): passed
     AES-CBC-256 (enc): passed
   
     AES-CFB128-128 (dec): passed
     AES-CFB128-128 (enc): passed
     AES-CFB128-192 (dec): passed
     AES-CFB128-192 (enc): passed
     AES-CFB128-256 (dec): passed
     AES-CFB128-256 (enc): passed
   
     AES-OFB-128 (dec): passed
     AES-OFB-128 (enc): passed
     AES-OFB-192 (dec): passed
     AES-OFB-192 (enc): passed
     AES-OFB-256 (dec): passed
     AES-OFB-256 (enc): passed
   
     AES-CTR-128 (dec): passed
     AES-CTR-128 (enc): passed
     AES-CTR-128 (dec): passed
     AES-CTR-128 (enc): passed
     AES-CTR-128 (dec): passed
     AES-CTR-128 (enc): passed
   
     AES-XTS-128 (dec): passed
     AES-XTS-128 (enc): passed
     AES-XTS-128 (dec): passed
     AES-XTS-128 (enc): passed
     AES-XTS-128 (dec): passed
     AES-XTS-128 (enc): passed
   
     GCM note: built-in implementation.
     AES-GCM-128 #0 (enc): passed
     AES-GCM-128 #0 (dec): passed
     AES-GCM-128 #0 split (enc): passed
     AES-GCM-128 #0 split (dec): passed
     AES-GCM-128 #1 (enc): passed
     AES-GCM-128 #1 (dec): passed
     AES-GCM-128 #1 split (enc): passed
     AES-GCM-128 #1 split (dec): passed
     AES-GCM-128 #2 (enc): passed
     AES-GCM-128 #2 (dec): passed
     AES-GCM-128 #2 split (enc): passed
     AES-GCM-128 #2 split (dec): passed
     AES-GCM-128 #3 (enc): passed
     AES-GCM-128 #3 (dec): passed
     AES-GCM-128 #3 split (enc): passed
     AES-GCM-128 #3 split (dec): passed
     AES-GCM-128 #4 (enc): passed
     AES-GCM-128 #4 (dec): passed
     AES-GCM-128 #4 split (enc): passed
     AES-GCM-128 #4 split (dec): passed
     AES-GCM-128 #5 (enc): passed
     AES-GCM-128 #5 (dec): passed
     AES-GCM-128 #5 split (enc): passed
     AES-GCM-128 #5 split (dec): passed
     AES-GCM-192 #0 (enc): passed
     AES-GCM-192 #0 (dec): passed
     AES-GCM-192 #0 split (enc): passed
     AES-GCM-192 #0 split (dec): passed
     AES-GCM-192 #1 (enc): passed
     AES-GCM-192 #1 (dec): passed
     AES-GCM-192 #1 split (enc): passed
     AES-GCM-192 #1 split (dec): passed
     AES-GCM-192 #2 (enc): passed
     AES-GCM-192 #2 (dec): passed
     AES-GCM-192 #2 split (enc): passed
     AES-GCM-192 #2 split (dec): passed
     AES-GCM-192 #3 (enc): passed
     AES-GCM-192 #3 (dec): passed
     AES-GCM-192 #3 split (enc): passed
     AES-GCM-192 #3 split (dec): passed
     AES-GCM-192 #4 (enc): passed
     AES-GCM-192 #4 (dec): passed
     AES-GCM-192 #4 split (enc): passed
     AES-GCM-192 #4 split (dec): passed
     AES-GCM-192 #5 (enc): passed
     AES-GCM-192 #5 (dec): passed
     AES-GCM-192 #5 split (enc): passed
     AES-GCM-192 #5 split (dec): passed
     AES-GCM-256 #0 (enc): passed
     AES-GCM-256 #0 (dec): passed
     AES-GCM-256 #0 split (enc): passed
     AES-GCM-256 #0 split (dec): passed
     AES-GCM-256 #1 (enc): passed
     AES-GCM-256 #1 (dec): passed
     AES-GCM-256 #1 split (enc): passed
     AES-GCM-256 #1 split (dec): passed
     AES-GCM-256 #2 (enc): passed
     AES-GCM-256 #2 (dec): passed
     AES-GCM-256 #2 split (enc): passed
     AES-GCM-256 #2 split (dec): passed
     AES-GCM-256 #3 (enc): passed
     AES-GCM-256 #3 (dec): passed
     AES-GCM-256 #3 split (enc): passed
     AES-GCM-256 #3 split (dec): passed
     AES-GCM-256 #4 (enc): passed
     AES-GCM-256 #4 (dec): passed
     AES-GCM-256 #4 split (enc): passed
     AES-GCM-256 #4 split (dec): passed
     AES-GCM-256 #5 (enc): passed
     AES-GCM-256 #5 (dec): passed
     AES-GCM-256 #5 split (enc): passed
     AES-GCM-256 #5 split (dec): passed
   
     CCM-AES #1: passed
     CCM-AES #2: passed
     CCM-AES #3: passed
   
     KW-AES-128  passed
     KW-AES-192  passed
     KW-AES-256  passed
     KWP-AES-128  passed
     KWP-AES-192  passed
     KWP-AES-256  passed
   
     AES 128 CMAC subkey #1: passed
     AES 128 CMAC subkey #2: passed
     AES 128 CMAC subkey #3: passed
     AES 128 CMAC subkey #4: passed
     AES 128 CMAC #1: passed
     AES 128 CMAC #2: passed
     AES 128 CMAC #3: passed
     AES 128 CMAC #4: passed
     AES 192 CMAC subkey #1: passed
     AES 192 CMAC subkey #2: passed
     AES 192 CMAC subkey #3: passed
     AES 192 CMAC subkey #4: passed
     AES 192 CMAC #1: passed
     AES 192 CMAC #2: passed
     AES 192 CMAC #3: passed
     AES 192 CMAC #4: passed
     AES 256 CMAC subkey #1: passed
     AES 256 CMAC subkey #2: passed
     AES 256 CMAC subkey #3: passed
     AES 256 CMAC subkey #4: passed
     AES 256 CMAC #1: passed
     AES 256 CMAC #2: passed
     AES 256 CMAC #3: passed
     AES 256 CMAC #4: passed
     3DES 2 key CMAC subkey #1: passed
     3DES 2 key CMAC subkey #2: passed
     3DES 2 key CMAC subkey #3: passed
     3DES 2 key CMAC subkey #4: passed
     3DES 2 key CMAC #1: passed
     3DES 2 key CMAC #2: passed
     3DES 2 key CMAC #3: passed
     3DES 2 key CMAC #4: passed
     3DES 3 key CMAC subkey #1: passed
     3DES 3 key CMAC subkey #2: passed
     3DES 3 key CMAC subkey #3: passed
     3DES 3 key CMAC subkey #4: passed
     3DES 3 key CMAC #1: passed
     3DES 3 key CMAC #2: passed
     3DES 3 key CMAC #3: passed
     3DES 3 key CMAC #4: passed
     AES CMAC 128 PRF #0: passed
     AES CMAC 128 PRF #1: passed
     AES CMAC 128 PRF #2: passed
   
     ChaCha20 test 0 passed
     ChaCha20 test 1 passed
   
     Poly1305 test 0 passed
     Poly1305 test 1 passed
   
     ChaCha20-Poly1305 test 0 passed
   
     Base64 encoding test: passed
     Base64 decoding test: passed
   
     MPI test #1 (mul_mpi): passed
     MPI test #2 (div_mpi): passed
     MPI test #3 (exp_mod): passed
     MPI test #4 (inv_mod): passed
     MPI test #5 (simple gcd): passed
   
     RSA key validation: passed
     PKCS#1 encryption : passed
     PKCS#1 decryption : passed
     PKCS#1 data sign  : passed
     PKCS#1 sig. verify: passed
   
     CAMELLIA-ECB-128 (dec): passed
     CAMELLIA-ECB-128 (enc): passed
     CAMELLIA-ECB-192 (dec): passed
     CAMELLIA-ECB-192 (enc): passed
     CAMELLIA-ECB-256 (dec): passed
     CAMELLIA-ECB-256 (enc): passed
   
     CAMELLIA-CBC-128 (dec): passed
     CAMELLIA-CBC-128 (enc): passed
     CAMELLIA-CBC-192 (dec): passed
     CAMELLIA-CBC-192 (enc): passed
     CAMELLIA-CBC-256 (dec): passed
     CAMELLIA-CBC-256 (enc): passed
   
     CAMELLIA-CTR-128 (dec): passed
     CAMELLIA-CTR-128 (enc): passed
     CAMELLIA-CTR-128 (dec): passed
     CAMELLIA-CTR-128 (enc): passed
     CAMELLIA-CTR-128 (dec): passed
     CAMELLIA-CTR-128 (enc): passed
   
     ARIA-ECB-128 (enc): passed
     ARIA-ECB-128 (dec): passed
     ARIA-ECB-192 (enc): passed
     ARIA-ECB-192 (dec): passed
     ARIA-ECB-256 (enc): passed
     ARIA-ECB-256 (dec): passed
   
     ARIA-CBC-128 (enc): passed
     ARIA-CBC-128 (dec): passed
     ARIA-CBC-192 (enc): passed
     ARIA-CBC-192 (dec): passed
     ARIA-CBC-256 (enc): passed
     ARIA-CBC-256 (dec): passed
   
     ARIA-CFB-128 (enc): passed
     ARIA-CFB-128 (dec): passed
     ARIA-CFB-192 (enc): passed
     ARIA-CFB-192 (dec): passed
     ARIA-CFB-256 (enc): passed
     ARIA-CFB-256 (dec): passed
   
     ARIA-CTR-128 (enc): passed
     ARIA-CTR-128 (dec): passed
     ARIA-CTR-192 (enc): passed
     ARIA-CTR-192 (dec): passed
     ARIA-CTR-256 (enc): passed
     ARIA-CTR-256 (dec): passed
   
     CTR_DRBG (PR = TRUE) : passed
     CTR_DRBG (PR = FALSE): passed
   
     HMAC_DRBG (PR = True) : passed
     HMAC_DRBG (PR = False) : passed
   
     ECP SW test #1 (constant op_count, base point G): passed
     ECP SW test #2 (constant op_count, other point): passed
     ECP Montgomery test (constant op_count): passed
   
     ECJPAKE test #0 (setup): passed
     ECJPAKE test #1 (random handshake): passed
     ECJPAKE test #2 (reference handshake): passed
   
     DHM parameter load: passed
   
     ENTROPY test: passed
   
     PBKDF2 (SHA1) #0: passed
     PBKDF2 (SHA1) #1: passed
     PBKDF2 (SHA1) #2: passed
     PBKDF2 (SHA1) #3: passed
     PBKDF2 (SHA1) #4: passed
     PBKDF2 (SHA1) #5: passed
   
     Executed 30 test suites
   
     [ All tests PASS ]
   ```
   </details>
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to