From owner-p4-projects@FreeBSD.ORG Mon Nov 30 21:41:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 634B41065672; Mon, 30 Nov 2009 21:41:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F8F2106566C for ; Mon, 30 Nov 2009 21:41:17 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F21D18FC14 for ; Mon, 30 Nov 2009 21:41:16 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAULfGiv021121 for ; Mon, 30 Nov 2009 21:41:16 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAULfGfF021119 for perforce@freebsd.org; Mon, 30 Nov 2009 21:41:16 GMT (envelope-from gk@FreeBSD.org) Date: Mon, 30 Nov 2009 21:41:16 GMT Message-Id: <200911302141.nAULfGfF021119@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Nov 2009 21:41:17 -0000 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);