9b6b2f8608
- crypto_apply() is only used for reading a buffer to compute a digest, so change the data pointer to a const pointer. - To better match m_apply(), change the data pointer type to void * and the length from uint16_t to u_int. The length field in particular matters as none of the apply logic was splitting requests larger than UINT16_MAX. - Adjust the auth_xform Update callback to match the function prototype passed to crypto_apply() and crypto_apply_buf(). This removes the needs for casts when using the Update callback. - Change the Reinit and Setkey callbacks to also use a u_int length instead of uint16_t. - Update auth transforms for the changes. While here, use C99 initializers for auth_hash structures and avoid casts on callbacks. Reviewed by: cem Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25171
47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
#include <sys/cdefs.h>
|
|
__FBSDID("$FreeBSD$");
|
|
|
|
#include <opencrypto/cbc_mac.h>
|
|
#include <opencrypto/xform_auth.h>
|
|
|
|
/* Authentication instances */
|
|
struct auth_hash auth_hash_ccm_cbc_mac_128 = {
|
|
.type = CRYPTO_AES_CCM_CBC_MAC,
|
|
.name = "CBC-CCM-AES-128",
|
|
.keysize = AES_128_CBC_MAC_KEY_LEN,
|
|
.hashsize = AES_CBC_MAC_HASH_LEN,
|
|
.ctxsize = sizeof(struct aes_cbc_mac_ctx),
|
|
.blocksize = CCM_CBC_BLOCK_LEN,
|
|
.Init = AES_CBC_MAC_Init,
|
|
.Setkey = AES_CBC_MAC_Setkey,
|
|
.Reinit = AES_CBC_MAC_Reinit,
|
|
.Update = AES_CBC_MAC_Update,
|
|
.Final = AES_CBC_MAC_Final,
|
|
};
|
|
struct auth_hash auth_hash_ccm_cbc_mac_192 = {
|
|
.type = CRYPTO_AES_CCM_CBC_MAC,
|
|
.name = "CBC-CCM-AES-192",
|
|
.keysize = AES_192_CBC_MAC_KEY_LEN,
|
|
.hashsize = AES_CBC_MAC_HASH_LEN,
|
|
.ctxsize = sizeof(struct aes_cbc_mac_ctx),
|
|
.blocksize = CCM_CBC_BLOCK_LEN,
|
|
.Init = AES_CBC_MAC_Init,
|
|
.Setkey = AES_CBC_MAC_Setkey,
|
|
.Reinit = AES_CBC_MAC_Reinit,
|
|
.Update = AES_CBC_MAC_Update,
|
|
.Final = AES_CBC_MAC_Final,
|
|
};
|
|
struct auth_hash auth_hash_ccm_cbc_mac_256 = {
|
|
.type = CRYPTO_AES_CCM_CBC_MAC,
|
|
.name = "CBC-CCM-AES-256",
|
|
.keysize = AES_256_CBC_MAC_KEY_LEN,
|
|
.hashsize = AES_CBC_MAC_HASH_LEN,
|
|
.ctxsize = sizeof(struct aes_cbc_mac_ctx),
|
|
.blocksize = CCM_CBC_BLOCK_LEN,
|
|
.Init = AES_CBC_MAC_Init,
|
|
.Setkey = AES_CBC_MAC_Setkey,
|
|
.Reinit = AES_CBC_MAC_Reinit,
|
|
.Update = AES_CBC_MAC_Update,
|
|
.Final = AES_CBC_MAC_Final,
|
|
};
|