Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/safe/safe.c
Show First 20 Lines • Show All 1,311 Lines • ▼ Show 20 Lines | if (csp->csp_auth_alg == CRYPTO_SHA1_HMAC) { | ||||
re->re_sastate.sa_saved_indigest[0] = | re->re_sastate.sa_saved_indigest[0] = | ||||
bswap32(re->re_sastate.sa_saved_indigest[0]); | bswap32(re->re_sastate.sa_saved_indigest[0]); | ||||
re->re_sastate.sa_saved_indigest[1] = | re->re_sastate.sa_saved_indigest[1] = | ||||
bswap32(re->re_sastate.sa_saved_indigest[1]); | bswap32(re->re_sastate.sa_saved_indigest[1]); | ||||
re->re_sastate.sa_saved_indigest[2] = | re->re_sastate.sa_saved_indigest[2] = | ||||
bswap32(re->re_sastate.sa_saved_indigest[2]); | bswap32(re->re_sastate.sa_saved_indigest[2]); | ||||
} | } | ||||
if (crp->crp_op & CRYPTO_OP_VERIFY_DIGEST) { | if (crp->crp_op & CRYPTO_OP_SKIP_DIGEST) | ||||
/* NOP */; | |||||
else if (crp->crp_op & CRYPTO_OP_VERIFY_DIGEST) { | |||||
crypto_copydata(crp, crp->crp_digest_start, | crypto_copydata(crp, crp->crp_digest_start, | ||||
ses->ses_mlen, hash); | ses->ses_mlen, hash); | ||||
if (timingsafe_bcmp(re->re_sastate.sa_saved_indigest, | if (timingsafe_bcmp(re->re_sastate.sa_saved_indigest, | ||||
hash, ses->ses_mlen) != 0) | hash, ses->ses_mlen) != 0) | ||||
crp->crp_etype = EBADMSG; | crp->crp_etype = EBADMSG; | ||||
} else | } else | ||||
crypto_copyback(crp, crp->crp_digest_start, | crypto_copyback(crp, crp->crp_digest_start, | ||||
ses->ses_mlen, re->re_sastate.sa_saved_indigest); | ses->ses_mlen, re->re_sastate.sa_saved_indigest); | ||||
▲ Show 20 Lines • Show All 651 Lines • Show Last 20 Lines |