Lines Matching refs:sav

313 esp_schedule(const struct esp_algorithm *algo, struct secasvar *sav)  in esp_schedule()  argument
318 if (_KEYBITS(sav->key_enc) < algo->keymin || in esp_schedule()
319 _KEYBITS(sav->key_enc) > algo->keymax) { in esp_schedule()
322 "needs %d to %d bits\n", algo->name, _KEYBITS(sav->key_enc), in esp_schedule()
329 if (sav->sched && sav->schedlen != 0) { in esp_schedule()
335 if (((sav->flags & SADB_X_EXT_IIV) != 0) && in esp_schedule()
336 (sav->alg_enc != SADB_X_EALG_AES_GCM) && in esp_schedule()
337 (sav->alg_enc != SADB_X_EALG_CHACHA20POLY1305)) { in esp_schedule()
351 sav->schedlen = (*algo->schedlen)(algo); in esp_schedule()
352 if ((signed) sav->schedlen < 0) { in esp_schedule()
358 sav->sched = kalloc_data(sav->schedlen, Z_NOWAIT); in esp_schedule()
359 if (!sav->sched) { in esp_schedule()
360 sav->schedlen = 0; in esp_schedule()
365 error = (*algo->schedule)(algo, sav); in esp_schedule()
369 bzero(sav->sched, sav->schedlen); in esp_schedule()
370 kfree_data(sav->sched, sav->schedlen); in esp_schedule()
371 sav->sched = NULL; in esp_schedule()
372 sav->schedlen = 0; in esp_schedule()
380 __unused struct secasvar *sav) in esp_null_mature() argument
390 __unused struct secasvar *sav, in esp_null_decrypt() argument
402 __unused struct secasvar *sav, in esp_null_encrypt() argument
410 esp_descbc_mature(struct secasvar *sav) in esp_descbc_mature() argument
414 if (!(sav->flags & SADB_X_EXT_OLD) && (sav->flags & SADB_X_EXT_IV4B)) { in esp_descbc_mature()
420 if (!sav->key_enc) { in esp_descbc_mature()
425 algo = esp_algorithm_lookup(sav->alg_enc); in esp_descbc_mature()
432 if (_KEYBITS(sav->key_enc) < algo->keymin || in esp_descbc_mature()
433 _KEYBITS(sav->key_enc) > algo->keymax) { in esp_descbc_mature()
436 _KEYBITS(sav->key_enc))); in esp_descbc_mature()
441 if (des_is_weak_key((des_cblock *)_KEYBUF(sav->key_enc))) { in esp_descbc_mature()
453 struct secasvar *sav) in esp_descbc_ivlen() argument
455 if (!sav) { in esp_descbc_ivlen()
458 if ((sav->flags & SADB_X_EXT_OLD) && (sav->flags & SADB_X_EXT_IV4B)) { in esp_descbc_ivlen()
461 if (!(sav->flags & SADB_X_EXT_OLD) && (sav->flags & SADB_X_EXT_DERIV)) { in esp_descbc_ivlen()
477 struct secasvar *sav) in esp_des_schedule() argument
480 if (des_ecb_key_sched((des_cblock *)_KEYBUF(sav->key_enc), in esp_des_schedule()
481 (des_ecb_key_schedule *)sav->sched)) { in esp_des_schedule()
491 struct secasvar *sav, in esp_des_blockdecrypt() argument
498 (des_ecb_key_schedule *)sav->sched, DES_DECRYPT); in esp_des_blockdecrypt()
504 struct secasvar *sav, in esp_des_blockencrypt() argument
511 (des_ecb_key_schedule *)sav->sched, DES_ENCRYPT); in esp_des_blockencrypt()
515 esp_cbc_mature(struct secasvar *sav) in esp_cbc_mature() argument
520 if (sav->flags & SADB_X_EXT_OLD) { in esp_cbc_mature()
525 if (sav->flags & SADB_X_EXT_DERIV) { in esp_cbc_mature()
531 if (!sav->key_enc) { in esp_cbc_mature()
536 algo = esp_algorithm_lookup(sav->alg_enc); in esp_cbc_mature()
543 keylen = sav->key_enc->sadb_key_bits; in esp_cbc_mature()
547 algo->name, sav->key_enc->sadb_key_bits)); in esp_cbc_mature()
550 switch (sav->alg_enc) { in esp_cbc_mature()
553 if (des_is_weak_key((des_cblock *)_KEYBUF(sav->key_enc)) || in esp_cbc_mature()
554 des_is_weak_key((des_cblock *)(_KEYBUF(sav->key_enc) + 8)) || in esp_cbc_mature()
555 des_is_weak_key((des_cblock *)(_KEYBUF(sav->key_enc) + 16))) { in esp_cbc_mature()
577 esp_gcm_mature(struct secasvar *sav) in esp_gcm_mature() argument
582 if (sav->flags & SADB_X_EXT_OLD) { in esp_gcm_mature()
587 if (sav->flags & SADB_X_EXT_DERIV) { in esp_gcm_mature()
593 if (!sav->key_enc) { in esp_gcm_mature()
598 algo = esp_algorithm_lookup(sav->alg_enc); in esp_gcm_mature()
605 keylen = sav->key_enc->sadb_key_bits; in esp_gcm_mature()
609 algo->name, sav->key_enc->sadb_key_bits)); in esp_gcm_mature()
612 switch (sav->alg_enc) { in esp_gcm_mature()
624 "esp_gcm_mature %s: invalid algo %d.\n", algo->name, sav->alg_enc)); in esp_gcm_mature()
641 struct secasvar *sav) in esp_3des_schedule() argument
645 if (des3_ecb_key_sched((des_cblock *)_KEYBUF(sav->key_enc), in esp_3des_schedule()
646 (des3_ecb_key_schedule *)sav->sched)) { in esp_3des_schedule()
656 struct secasvar *sav, in esp_3des_blockdecrypt() argument
663 (des3_ecb_key_schedule *)sav->sched, DES_DECRYPT); in esp_3des_blockdecrypt()
669 struct secasvar *sav, in esp_3des_blockencrypt() argument
676 (des3_ecb_key_schedule *)sav->sched, DES_ENCRYPT); in esp_3des_blockencrypt()
682 __unused struct secasvar *sav) in esp_common_ivlen() argument
691 esp_cbc_decrypt(struct mbuf *m, size_t off, struct secasvar *sav, in esp_cbc_decrypt() argument
708 if (ivlen != sav->ivlen || ivlen > sizeof(iv)) { in esp_cbc_decrypt()
727 if (sav->flags & SADB_X_EXT_OLD) { in esp_cbc_decrypt()
734 if (sav->flags & SADB_X_EXT_DERIV) { in esp_cbc_decrypt()
876 (*algo->blockdecrypt)(algo, sav, sp, mtod(d, u_int8_t *) + dn); in esp_cbc_decrypt()
928 struct secasvar *sav, in esp_cbc_encrypt() argument
946 if (ivlen != sav->ivlen || ivlen > sizeof(iv)) { in esp_cbc_encrypt()
965 if (sav->flags & SADB_X_EXT_OLD) { in esp_cbc_encrypt()
972 if (sav->flags & SADB_X_EXT_DERIV) { in esp_cbc_encrypt()
994 bcopy(sav->iv, iv, ivlen); in esp_cbc_encrypt()
1128 (*algo->blockencrypt)(algo, sav, sp, mtod(d, u_int8_t *) + dn); in esp_cbc_encrypt()
1157 key_sa_stir_iv(sav); in esp_cbc_encrypt()
1173 struct secasvar *sav, in esp_auth() argument
1205 if (!sav) { in esp_auth()
1210 algo = ah_algorithm_lookup(sav->alg_auth); in esp_auth()
1214 sav->alg_auth)); in esp_auth()
1222 siz = (((*algo->sumsiz)(sav) + 3) & ~(4 - 1)); in esp_auth()
1246 error = (*algo->init)(&s, sav); in esp_auth()