We used a hard-coded list of capabilities that we copied from containerd, but the new "capability" package allows use to have a maintained list of capabilities. There's likely still some improvements to be made; First of all, the capability package could provide a function to get the list of strings. On the completion-side, we need to consider what format is most convenient; currently we use the canonical name (uppercase and "CAP_" prefix), however, tab-completion is case-sensitive by default, so requires the user to type uppercase letters to filter the list of options. Bash completion provides a `completion-ignore-case on` option to make completion case-insensitive (https://askubuntu.com/a/87066), but it looks to be a global option; the current cobra.CompletionOptions also don't provide this as an option to be used in the generated completion-script. Fish completion has `smartcase` (by default?) which matches any case if all of the input is lowercase. Zsh does not have a dedicated option, but allows setting matching-rules (see https://superuser.com/a/1092328). Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
27 lines
529 B
Go
27 lines
529 B
Go
// Copyright 2023 The Capability Authors.
|
|
// Copyright 2013 Suryandaru Triandana <syndtr@gmail.com>
|
|
// All rights reserved.
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//go:build !linux
|
|
|
|
package capability
|
|
|
|
import "errors"
|
|
|
|
var errNotSup = errors.New("not supported")
|
|
|
|
func newPid(_ int) (Capabilities, error) {
|
|
return nil, errNotSup
|
|
}
|
|
|
|
func newFile(_ string) (Capabilities, error) {
|
|
return nil, errNotSup
|
|
}
|
|
|
|
func lastCap() (Cap, error) {
|
|
return -1, errNotSup
|
|
}
|