kopia lustrzana https://github.com/espressif/esp-idf
Merge branch 'fix/build_failure_when_hardware_gcm_is_disabled_v4.4' into 'release/v4.4'
fix(mbedtls/gcm): Fix build failure when config `MBEDTLS_HARDWARE_GCM` is disabled (v4.4) See merge request espressif/esp-idf!29070pull/13426/head
commit
1cf1f4ef9a
|
@ -177,7 +177,7 @@ if(CONFIG_MBEDTLS_HARDWARE_SHA)
|
|||
)
|
||||
endif()
|
||||
|
||||
if(CONFIG_MBEDTLS_HARDWARE_GCM OR (NOT CONFIG_SOC_AES_SUPPORT_GCM AND CONFIG_MBEDTLS_HARDWARE_AES))
|
||||
if(CONFIG_MBEDTLS_HARDWARE_GCM OR CONFIG_MBEDTLS_HARDWARE_AES)
|
||||
target_sources(mbedcrypto PRIVATE "${COMPONENT_DIR}/port/aes/esp_aes_gcm.c")
|
||||
endif()
|
||||
|
||||
|
|
|
@ -50,10 +50,6 @@
|
|||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
|
||||
#if SOC_AES_SUPPORT_GCM
|
||||
#include "aes/esp_aes_gcm.h"
|
||||
#endif
|
||||
|
||||
#if SOC_AES_GDMA
|
||||
#define AES_LOCK() esp_crypto_sha_aes_lock_acquire()
|
||||
#define AES_RELEASE() esp_crypto_sha_aes_lock_release()
|
||||
|
@ -470,7 +466,7 @@ cleanup:
|
|||
}
|
||||
|
||||
|
||||
#if SOC_AES_SUPPORT_GCM
|
||||
#if CONFIG_MBEDTLS_HARDWARE_GCM
|
||||
|
||||
/* Encrypt/decrypt with AES-GCM the input using DMA
|
||||
* The function esp_aes_process_dma_gcm zeroises the output buffer in the case of following conditions:
|
||||
|
@ -601,7 +597,7 @@ cleanup:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#endif //SOC_AES_SUPPORT_GCM
|
||||
#endif //CONFIG_MBEDTLS_HARDWARE_GCM
|
||||
|
||||
static int esp_aes_validate_input(esp_aes_context *ctx, const unsigned char *input,
|
||||
unsigned char *output )
|
||||
|
|
|
@ -391,7 +391,7 @@ int esp_aes_gcm_starts( esp_gcm_context *ctx,
|
|||
/* H and the lookup table are only generated once per ctx */
|
||||
if (ctx->gcm_state == ESP_AES_GCM_STATE_INIT) {
|
||||
/* Lock the AES engine to calculate ghash key H in hardware */
|
||||
#if SOC_AES_SUPPORT_GCM
|
||||
#if CONFIG_MBEDTLS_HARDWARE_GCM
|
||||
esp_aes_acquire_hardware();
|
||||
ctx->aes_ctx.key_in_hardware = aes_hal_setkey(ctx->aes_ctx.key, ctx->aes_ctx.key_bytes, mode);
|
||||
aes_hal_mode_init(ESP_AES_BLOCK_MODE_GCM);
|
||||
|
@ -508,7 +508,7 @@ int esp_aes_gcm_finish( esp_gcm_context *ctx,
|
|||
return esp_aes_crypt_ctr(&ctx->aes_ctx, tag_len, &nc_off, ctx->ori_j0, stream, ctx->ghash, tag);
|
||||
}
|
||||
|
||||
#if SOC_AES_SUPPORT_GCM
|
||||
#if CONFIG_MBEDTLS_HARDWARE_GCM
|
||||
/* Due to restrictions in the hardware (e.g. need to do the whole conversion in one go),
|
||||
some combinations of inputs are not supported */
|
||||
static bool esp_aes_gcm_input_support_hw_accel(size_t length, const unsigned char *aad, size_t aad_len,
|
||||
|
@ -581,7 +581,7 @@ int esp_aes_gcm_crypt_and_tag( esp_gcm_context *ctx,
|
|||
size_t tag_len,
|
||||
unsigned char *tag )
|
||||
{
|
||||
#if SOC_AES_SUPPORT_GCM
|
||||
#if CONFIG_MBEDTLS_HARDWARE_GCM
|
||||
int ret;
|
||||
lldesc_t aad_desc[2] = {};
|
||||
lldesc_t *aad_head_desc = NULL;
|
||||
|
|
Ładowanie…
Reference in New Issue