diff options
| author | Joe Richey joerichey@google.com <joerichey@google.com> | 2017-10-09 19:12:49 -0700 |
|---|---|---|
| committer | Joseph Richey <joerichey94@gmail.com> | 2017-10-19 02:22:24 -0700 |
| commit | 921f1c977c4e0704f61e3a7c092d3a4317ab278c (patch) | |
| tree | a3a2d3f089a19710b7ed0886ee8ba0ffb2bc4294 /cmd/errors.go | |
| parent | b96f72d63641c8dcfe5e142ecd5d6c9f9a7d5778 (diff) | |
Fixes
Diffstat (limited to 'cmd/errors.go')
| -rw-r--r-- | cmd/errors.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/cmd/errors.go b/cmd/errors.go new file mode 100644 index 0000000..07a1d05 --- /dev/null +++ b/cmd/errors.go @@ -0,0 +1,42 @@ +/* + * errors.go - Common errors and error handling + * + * Copyright 2017 Google Inc. + * Author: Joe Richey (joerichey@google.com) + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package cmd + +import ( + "github.com/pkg/errors" + + "github.com/google/fscrypt/util" +) + +// Common errors used across commands +var ( + ErrUnknownVersion = errors.New("unknown (missing version tag)") + ErrCanceled = errors.New("operation canceled by user") + ErrMustForce = errors.New("operation must be forced") + ErrNotRoot = errors.New("operation must be run as root") +) + +// CheckIfRoot returns an error if the current user is not the root user. +func CheckIfRoot() error { + if id := util.CurrentUserID(); id != 0 { + return errors.Wrapf(ErrNotRoot, "user %s", util.GetUser(id).Username) + } + return nil +} |