aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/eli/g_eli.c
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2012-07-04 17:54:17 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2012-07-04 17:54:17 +0000
commit457bbc4f3a0f94bd6f263050e13120666fbd9fc0 (patch)
tree0a5bb5233272b649315936b54ee7f4f174fcb7ec /sys/geom/eli/g_eli.c
parent3d47ea33246bc48dc71c18813b000126f972d9f8 (diff)
downloadsrc-457bbc4f3a0f94bd6f263050e13120666fbd9fc0.tar.gz
src-457bbc4f3a0f94bd6f263050e13120666fbd9fc0.zip
Use correct part of the Master-Key for generating encryption keys.
Before this change the IV-Key was used to generate encryption keys, which was incorrect, but safe - for the XTS mode this key was unused anyway and for CBC mode it was used differently to generate IV vectors, so there is no risk that IV vector collides with encryption key somehow. Bump version number and keep compatibility for older versions. MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=238116
Diffstat (limited to 'sys/geom/eli/g_eli.c')
-rw-r--r--sys/geom/eli/g_eli.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/geom/eli/g_eli.c b/sys/geom/eli/g_eli.c
index 72f93f42e01d..6819fcc44240 100644
--- a/sys/geom/eli/g_eli.c
+++ b/sys/geom/eli/g_eli.c
@@ -726,6 +726,8 @@ g_eli_create(struct gctl_req *req, struct g_class *mp, struct g_provider *bpp,
(sc->sc_flags & G_ELI_FLAG_AUTH) != 0) {
sc->sc_flags |= G_ELI_FLAG_FIRST_KEY;
}
+ if (md->md_version < G_ELI_VERSION_07)
+ sc->sc_flags |= G_ELI_FLAG_ENC_IVKEY;
sc->sc_ealgo = md->md_ealgo;
sc->sc_nkey = nkey;