aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ubsec/ubsec.c
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2006-04-10 18:37:46 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2006-04-10 18:37:46 +0000
commit483194fb9a1b16cc38630c0a22073d10207f3f23 (patch)
tree415b8871aee70dcaeb7372601763de6c8c123e96 /sys/dev/ubsec/ubsec.c
parent48b0f2e10f6847377eb0fd42e77c7d8845ff59a1 (diff)
Notes
Diffstat (limited to 'sys/dev/ubsec/ubsec.c')
-rw-r--r--sys/dev/ubsec/ubsec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ubsec/ubsec.c b/sys/dev/ubsec/ubsec.c
index 338ce6341d54..eec7d4895e94 100644
--- a/sys/dev/ubsec/ubsec.c
+++ b/sys/dev/ubsec/ubsec.c
@@ -1077,6 +1077,13 @@ ubsec_process(void *arg, struct cryptop *crp, int hint)
}
crd2 = crd1->crd_next;
+ if ((crd1->crd_flags & CRD_F_KEY_EXPLICIT) ||
+ (crd2 != NULL && (crd2->crd_flags & CRD_F_KEY_EXPLICIT))) {
+ ubsecstats.hst_badflags++;
+ err = EINVAL;
+ goto errout;
+ }
+
if (crd2 == NULL) {
if (crd1->crd_alg == CRYPTO_MD5_HMAC ||
crd1->crd_alg == CRYPTO_SHA1_HMAC) {