diff options
author | phk <phk@FreeBSD.org> | 2014-11-09 15:53:29 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2014-11-09 15:53:29 +0000 |
commit | 0f5b16fa3e559b1ede139871af2cf98dd9a9df7f (patch) | |
tree | 01f04b69cd6fe5df71f2322498e2920b906187b2 | |
parent | 60744bb25ff26a6076f7b82a8417f4d1ef0df814 (diff) | |
download | FreeBSD-src-0f5b16fa3e559b1ede139871af2cf98dd9a9df7f.zip FreeBSD-src-0f5b16fa3e559b1ede139871af2cf98dd9a9df7f.tar.gz |
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
-rw-r--r-- | sbin/gbde/gbde.8 | 16 | ||||
-rw-r--r-- | sbin/gbde/gbde.c | 7 |
2 files changed, 18 insertions, 5 deletions
diff --git a/sbin/gbde/gbde.8 b/sbin/gbde/gbde.8 index 7193767..0578287 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 b6baa95..3dca212 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) |