From 8392dfe41f76538aec79231855fd9a952963bdf8 Mon Sep 17 00:00:00 2001 From: "Joe Richey joerichey@google.com" Date: Wed, 21 Jun 2017 10:27:59 -0700 Subject: cmd/fscrypt: add metadata command This command adds in the "fscrypt metadata" command. This command allows advanced users to manipulate the metadata directly instead of just creating a policy or protector as an option when encrypting a directory. As some of these methods will require certain flags, error handling for this case is also added. As the change passphrase method must indicate when a old vs new password is necessary, additional KeyFuncs are added which add this indicator. Change-Id: Ibc92872088fae078df3c0eebd4f0cfcb7252d781 --- cmd/fscrypt/errors.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'cmd/fscrypt/errors.go') diff --git a/cmd/fscrypt/errors.go b/cmd/fscrypt/errors.go index aa2f2ab..272160a 100644 --- a/cmd/fscrypt/errors.go +++ b/cmd/fscrypt/errors.go @@ -186,3 +186,15 @@ func expectedArgsErr(c *cli.Context, expectedArgs int, atMost bool) error { func onUsageError(c *cli.Context, err error, _ bool) error { return &usageError{c, err.Error()} } + +// checkRequiredFlags makes sure that all of the specified string flags have +// been given nonempty values. Returns a usage error on failure. +func checkRequiredFlags(c *cli.Context, flags []*stringFlag) error { + for _, flag := range flags { + if flag.Value == "" { + message := fmt.Sprintf("required flag %s not provided", shortDisplay(flag)) + return &usageError{c, message} + } + } + return nil +} -- cgit v1.2.3