sure
On Thu, Jan 13, 2011 at 06:51:18PM -0500, Ted Unangst wrote:
> If I type the wrong password into bioctl at boot, disks don't exist,
> filesystems don't get mounted, and generally lots of things go wrong. All
> I need is a second chance to remind me to type the right password.
>
> Index: bioctl.c
> ===================================================================
> RCS file: /home/tedu/cvs/src/sbin/bioctl/bioctl.c,v
> retrieving revision 1.98
> diff -u -r1.98 bioctl.c
> --- bioctl.c 1 Dec 2010 19:40:18 -0000 1.98
> +++ bioctl.c 13 Jan 2011 23:47:24 -0000
> @@ -699,6 +699,7 @@
> int rv, no_dev, fd;
> dev_t *dt;
> u_int16_t min_disks = 0;
> + int retry = 0;
>
> if (!dev_list)
> errx(1, "no devices specified");
> @@ -738,6 +739,7 @@
> if (level == 'C' && no_dev != min_disks)
> errx(1, "not exactly one partition");
>
> +again:
> memset(&create, 0, sizeof(create));
> create.bc_cookie = bl.bl_cookie;
> create.bc_level = level;
> @@ -802,8 +804,14 @@
> memset(&kdfinfo, 0, sizeof(kdfinfo));
> memset(&create, 0, sizeof(create));
> if (rv == -1) {
> - if (errno == EPERM)
> + if (errno == EPERM) {
> + if (!retry) {
> + warnx("Incorrect passphrase. Try again.");
> + retry = 1;
> + goto again;
> + }
> errx(1, "Incorrect passphrase");
> + }
> err(1, "BIOCCREATERAID");
> }