Date: Mon, 30 Nov 2009 21:41:16 GMT From: Gleb Kurtsou <gk@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 171213 for review Message-ID: <200911302141.nAULfGfF021119@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/chv.cgi?CH=171213 Change 171213 by gk@gk_h1 on 2009/11/30 21:40:21 add -f option to *chain commands. to make'em work on unmounted filesystems add pefs.8 man page Affected files ... .. //depot/projects/soc2009/gk_pefs/sbin/pefs/Makefile#8 edit .. //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs.8#1 add .. //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_ctl.c#13 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sbin/pefs/Makefile#8 (text+ko) ==== @@ -8,7 +8,7 @@ SRCS+= hmac_sha512.c sha2.c SRCS+= pkcs5v2.c -NO_MAN= +MAN= pefs.8 CFLAGS+=-I${SYS} WARNS?= 6 ==== //depot/projects/soc2009/gk_pefs/sbin/pefs/pefs_ctl.c#13 (text+ko) ==== @@ -72,6 +72,8 @@ typedef int (*keyop_func_t)(struct pefs_keychain_head *kch, int fd, int verbose); +static int ignore_fscheck = 0; + struct command { const char *name; command_func_t func; @@ -113,6 +115,7 @@ pefs_getfsroot(const char *path, char *fsroot, size_t size) { struct statfs fs; + const char *realfsroot; int error; if (statfs(path, &fs) == -1) { @@ -121,13 +124,18 @@ return (error); } + realfsroot = fs.f_mntonname; if (strcmp(PEFS_FSTYPE, fs.f_fstypename) != 0) { - warnx("invalid filesystem type: %s", path); - return (EINVAL); + if (ignore_fscheck != 0) { + realfsroot = path; + } else { + warnx("invalid filesystem type: %s", path); + return (EINVAL); + } } if (fsroot != NULL) - strlcpy(fsroot, fs.f_mntonname, size); + strlcpy(fsroot, realfsroot, size); return (0); } @@ -547,11 +555,14 @@ pefs_keyparam_init(&p[0].kp); pefs_keyparam_init(&p[1].kp); - while ((i = getopt(argc, argv, "pPvZa:A:i:I:k:K:")) != -1) + while ((i = getopt(argc, argv, "a:A:i:I:k:K:fpPvZ")) != -1) switch(i) { case 'v': verbose = 1; break; + case 'f': + ignore_fscheck = 1; + break; case 'Z': zerochainedkey = 1; break; @@ -681,6 +692,7 @@ while ((i = getopt(argc, argv, "fvpi:k:")) != -1) switch(i) { case 'f': + ignore_fscheck = 1; force = 1; break; case 'v': @@ -748,8 +760,11 @@ int error, i; pefs_keyparam_init(&kp); - while ((i = getopt(argc, argv, "pi:k:")) != -1) + while ((i = getopt(argc, argv, "fpi:k:")) != -1) switch(i) { + case 'f': + ignore_fscheck = 1; + break; case 'p': kp.kp_nopassphrase = 1; break; @@ -808,6 +823,9 @@ case 'v': verbose = 1; break; + case 'f': + ignore_fscheck = 1; + break; case 'n': if ((nmin = atoi(optarg)) <= 0) { warnx("invalid lower bound argument: %s", @@ -885,11 +903,11 @@ " pefs delkey [-cCpv] [-i iterations] [-k keyfile] filesystem\n" " pefs flushkeys filesystem\n" " pefs showkeys [-t] filesystem\n" -" pefs addchain [-pPvZ] [-a alg] [-i iterations] [-k keyfile]\n" +" pefs addchain [-fpPvZ] [-a alg] [-i iterations] [-k keyfile]\n" " [-A alg] [-I iterations] [-K keyfile] filesystem\n" -" pefs delchain [-pv] [-i iterations] [-k keyfile] filesystem\n" -" pefs randomchain [-v] [-a alg] [-n min] [-N max] filesystem\n" -" pefs showchains [-p] [-i iterations] [-k keyfile] filesystem\n" +" pefs delchain [-fpv] [-i iterations] [-k keyfile] filesystem\n" +" pefs randomchain [-fv] [-n min] [-N max] filesystem\n" +" pefs showchains [-fp] [-i iterations] [-k keyfile] filesystem\n" " pefs showalgs\n" ); exit(EX_USAGE);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911302141.nAULfGfF021119>