Changeset View
Changeset View
Standalone View
Standalone View
sys/opencrypto/cryptodev.c
Show First 20 Lines • Show All 639 Lines • ▼ Show 20 Lines | #endif | ||||
cse->key = key; | cse->key = key; | ||||
cse->mackey = mackey; | cse->mackey = mackey; | ||||
cse->cses = cses; | cse->cses = cses; | ||||
cse->txform = txform; | cse->txform = txform; | ||||
if (sop->maclen != 0) | if (sop->maclen != 0) | ||||
cse->hashsize = sop->maclen; | cse->hashsize = sop->maclen; | ||||
else if (thash != NULL) | else if (thash != NULL) | ||||
cse->hashsize = thash->hashsize; | cse->hashsize = thash->hashsize; | ||||
else if (csp.csp_cipher_alg == CRYPTO_AES_NIST_GCM_16) | else if (csp.csp_mode == CSP_MODE_AEAD) | ||||
cse->hashsize = AES_GMAC_HASH_LEN; | cse->hashsize = txform->macsize; | ||||
else if (csp.csp_cipher_alg == CRYPTO_AES_CCM_16) | |||||
cse->hashsize = AES_CBC_MAC_HASH_LEN; | |||||
else if (csp.csp_cipher_alg == CRYPTO_CHACHA20_POLY1305) | |||||
cse->hashsize = POLY1305_HASH_LEN; | |||||
cse->ivsize = csp.csp_ivlen; | cse->ivsize = csp.csp_ivlen; | ||||
mtx_lock(&fcr->lock); | mtx_lock(&fcr->lock); | ||||
TAILQ_INSERT_TAIL(&fcr->csessions, cse, next); | TAILQ_INSERT_TAIL(&fcr->csessions, cse, next); | ||||
cse->ses = fcr->sesn++; | cse->ses = fcr->sesn++; | ||||
mtx_unlock(&fcr->lock); | mtx_unlock(&fcr->lock); | ||||
sop->ses = cse->ses; | sop->ses = cse->ses; | ||||
▲ Show 20 Lines • Show All 775 Lines • Show Last 20 Lines |