diff options
author | pjd <pjd@FreeBSD.org> | 2005-08-14 14:13:07 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2005-08-14 14:13:07 +0000 |
commit | f8b8e82885c0f48bb4d7fbe5ce85bcab7508533c (patch) | |
tree | 3b2cdbdca32944b82a1932fe94a014f63979a61d /sbin/geom | |
parent | a43c6eba96776482bfaf4580048b3acc60f9e314 (diff) | |
download | FreeBSD-src-f8b8e82885c0f48bb4d7fbe5ce85bcab7508533c.zip FreeBSD-src-f8b8e82885c0f48bb4d7fbe5ce85bcab7508533c.tar.gz |
When keys were configured without passphrase, number of iterations in
metadata is equal to -1. if we then wanted to attach provider (or change
keys) and forget about '-p' flag it failed on assertion (quite ok, without
assertion it could call PKCS#5v2 with 4294967295 iterations).
Instead of failing on assertion, remind about '-p' flag.
MFC after: 3 days
Diffstat (limited to 'sbin/geom')
-rw-r--r-- | sbin/geom/class/eli/geom_eli.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sbin/geom/class/eli/geom_eli.c b/sbin/geom/class/eli/geom_eli.c index f01f557..8d900f1 100644 --- a/sbin/geom/class/eli/geom_eli.c +++ b/sbin/geom/class/eli/geom_eli.c @@ -344,6 +344,10 @@ eli_genkey(struct gctl_req *req, struct g_eli_metadata *md, unsigned char *key, if (!*nopassphrase) { char buf1[BUFSIZ], buf2[BUFSIZ], *p; + if (!new && md->md_iterations == -1) { + gctl_error(req, "Missing -p flag."); + return (NULL); + } for (;;) { p = readpassphrase( new ? "Enter new passphrase:" : "Enter passphrase:", |