aboutsummaryrefslogtreecommitdiff
path: root/sbin/gbde
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2014-11-09 15:53:29 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2014-11-09 15:53:29 +0000
commit89cbe4e288af0b4155df15934f15edcb0232a5ee (patch)
tree01f04b69cd6fe5df71f2322498e2920b906187b2 /sbin/gbde
parentcd15a010918a4003cf31bc06741901deb7dca302 (diff)
downloadsrc-89cbe4e288af0b4155df15934f15edcb0232a5ee.tar.gz
src-89cbe4e288af0b4155df15934f15edcb0232a5ee.zip
Report the 1-based key numbers rather than the 0-based ones to be consistent.
Fix documentation for destroy command. Not sure how the wrong explanation happened. Spotted by: mwlucas
Notes
Notes: svn path=/head/; revision=274314
Diffstat (limited to 'sbin/gbde')
-rw-r--r--sbin/gbde/gbde.816
-rw-r--r--sbin/gbde/gbde.c7
2 files changed, 18 insertions, 5 deletions
diff --git a/sbin/gbde/gbde.8 b/sbin/gbde/gbde.8
index 71937679edfc..0578287f0256 100644
--- a/sbin/gbde/gbde.8
+++ b/sbin/gbde/gbde.8
@@ -233,9 +233,23 @@ pass-phrase:
.Pp
.Dl "gbde setkey ada0s1f -n 2 -P foo -L key2.lockfile"
.Pp
-To destroy all copies of the masterkey:
+To invalidate your own masterkey:
+.Pp
+.Dl "gbde nuke ada0s1f"
+.Pp
+This will overwrite your masterkey sector with zeros, and results in
+a diagnostic if you try to use the key again.
+You can also destroy the other three copies of the masterkey with the
+-n argument.
+.Pp
+You can also invalidate your masterkey without leaving a tell-tale sector
+full of zeros:
.Pp
.Dl "gbde destroy ada0s1f"
+.Pp
+This will overwrite the information fields in your masterkey sector,
+encrypt it and write it back.
+You get a (different) diagnostic if you try to use it.
.Sh SEE ALSO
.Xr gbde 4 ,
.Xr geom 4
diff --git a/sbin/gbde/gbde.c b/sbin/gbde/gbde.c
index b6baa95ab8c8..3dca2126a7ab 100644
--- a/sbin/gbde/gbde.c
+++ b/sbin/gbde/gbde.c
@@ -300,7 +300,6 @@ cmd_attach(const struct g_bde_softc *sc, const char *dest, const char *lfile)
gctl_ro_param(r, "key", 16, buf);
close(ffd);
}
- /* gctl_dump(r, stdout); */
errstr = gctl_issue(r);
if (errstr != NULL)
errx(1, "Attach to %s failed: %s", dest, errstr);
@@ -371,7 +370,7 @@ cmd_open(struct g_bde_softc *sc, int dfd , const char *l_opt, u_int *nkey)
if (error != 0)
errx(1, "Error %d decrypting lock", error);
if (nkey)
- printf("Opened with key %u\n", *nkey);
+ printf("Opened with key %u\n", 1 + *nkey);
return;
}
@@ -392,7 +391,7 @@ cmd_nuke(struct g_bde_key *gl, int dfd , int key)
free(sbuf);
if (i != (int)gl->sectorsize)
err(1, "write");
- printf("Nuked key %d\n", key);
+ printf("Nuked key %d\n", 1 + key);
}
static void
@@ -493,7 +492,7 @@ cmd_destroy(struct g_bde_key *gl, int nkey)
bzero(&gl->sector0, sizeof gl->sector0);
bzero(&gl->sectorN, sizeof gl->sectorN);
bzero(&gl->keyoffset, sizeof gl->keyoffset);
- bzero(&gl->flags, sizeof gl->flags);
+ gl->flags &= GBDE_F_SECT0;
bzero(gl->mkey, sizeof gl->mkey);
for (i = 0; i < G_BDE_MAXKEYS; i++)
if (i != nkey)