int CipherContext::updateAD(State & state, mbedtls_cipher_context_t * context){ Stack * stack = state.stack; if (stack->is<LUA_TSTRING>(1)){ const std::string ad = stack->toLString(1); stack->push<int>(mbedtls_cipher_update_ad(context, reinterpret_cast<const unsigned char*>(ad.c_str()), ad.length())); return 1; } return 0; }
int cipher_ctx_update_ad(cipher_ctx_t *ctx, const uint8_t *src, int src_len) { #ifdef HAVE_AEAD_CIPHER_MODES if (src_len > SIZE_MAX) { return 0; } if (!mbed_ok(mbedtls_cipher_update_ad(ctx, src, src_len))) { return 0; } return 1; #else /* ifdef HAVE_AEAD_CIPHER_MODES */ ASSERT(0); #endif /* HAVE_AEAD_CIPHER_MODES */ }