Update pkg/xattr to v0.2.0
This commit is contained in:
parent
3bbcf89105
commit
88e8eaa575
7 changed files with 56 additions and 56 deletions
4
vendor/manifest
vendored
4
vendor/manifest
vendored
|
@ -52,8 +52,8 @@
|
||||||
{
|
{
|
||||||
"importpath": "github.com/pkg/xattr",
|
"importpath": "github.com/pkg/xattr",
|
||||||
"repository": "https://github.com/pkg/xattr",
|
"repository": "https://github.com/pkg/xattr",
|
||||||
"revision": "b867675798fa7708a444945602b452ca493f2272",
|
"revision": "858d49c224b241ba9393e20f521f6a76f52dd482",
|
||||||
"branch": "master"
|
"branch": "HEAD"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"importpath": "github.com/restic/chunker",
|
"importpath": "github.com/restic/chunker",
|
||||||
|
|
4
vendor/src/github.com/pkg/xattr/README.md
vendored
4
vendor/src/github.com/pkg/xattr/README.md
vendored
|
@ -14,12 +14,12 @@ Extended attribute support for Go (linux + darwin + freebsd).
|
||||||
const path = "/tmp/myfile"
|
const path = "/tmp/myfile"
|
||||||
const prefix = "user."
|
const prefix = "user."
|
||||||
|
|
||||||
if err := xattr.Setxattr(path, prefix+"test", []byte("test-attr-value")); err != nil {
|
if err := xattr.Set(path, prefix+"test", []byte("test-attr-value")); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var data []byte
|
var data []byte
|
||||||
data, err = xattr.Getxattr(path, prefix+"test"); err != nil {
|
data, err = xattr.Get(path, prefix+"test"); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
6
vendor/src/github.com/pkg/xattr/xattr.go
vendored
6
vendor/src/github.com/pkg/xattr/xattr.go
vendored
|
@ -7,15 +7,15 @@ More details you can find here: https://en.wikipedia.org/wiki/Extended_file_attr
|
||||||
*/
|
*/
|
||||||
package xattr
|
package xattr
|
||||||
|
|
||||||
// XAttrError records an error and the operation, file path and attribute that caused it.
|
// Error records an error and the operation, file path and attribute that caused it.
|
||||||
type XAttrError struct {
|
type Error struct {
|
||||||
Op string
|
Op string
|
||||||
Path string
|
Path string
|
||||||
Name string
|
Name string
|
||||||
Err error
|
Err error
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *XAttrError) Error() string {
|
func (e *Error) Error() string {
|
||||||
return e.Op + " " + e.Path + " " + e.Name + ": " + e.Err.Error()
|
return e.Op + " " + e.Path + " " + e.Name + ": " + e.Err.Error()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
28
vendor/src/github.com/pkg/xattr/xattr_darwin.go
vendored
28
vendor/src/github.com/pkg/xattr/xattr_darwin.go
vendored
|
@ -2,32 +2,32 @@
|
||||||
|
|
||||||
package xattr
|
package xattr
|
||||||
|
|
||||||
// Getxattr retrieves extended attribute data associated with path.
|
// Get retrieves extended attribute data associated with path.
|
||||||
func Getxattr(path, name string) ([]byte, error) {
|
func Get(path, name string) ([]byte, error) {
|
||||||
// find size.
|
// find size.
|
||||||
size, err := getxattr(path, name, nil, 0, 0, 0)
|
size, err := getxattr(path, name, nil, 0, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"getxattr", path, name, err}
|
return nil, &Error{"xattr.Get", path, name, err}
|
||||||
}
|
}
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
buf := make([]byte, size)
|
buf := make([]byte, size)
|
||||||
// Read into buffer of that size.
|
// Read into buffer of that size.
|
||||||
read, err := getxattr(path, name, &buf[0], size, 0, 0)
|
read, err := getxattr(path, name, &buf[0], size, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"getxattr", path, name, err}
|
return nil, &Error{"xattr.Get", path, name, err}
|
||||||
}
|
}
|
||||||
return buf[:read], nil
|
return buf[:read], nil
|
||||||
}
|
}
|
||||||
return []byte{}, nil
|
return []byte{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listxattr retrieves a list of names of extended attributes associated
|
// List retrieves a list of names of extended attributes associated
|
||||||
// with the given path in the file system.
|
// with the given path in the file system.
|
||||||
func Listxattr(path string) ([]string, error) {
|
func List(path string) ([]string, error) {
|
||||||
// find size.
|
// find size.
|
||||||
size, err := listxattr(path, nil, 0, 0)
|
size, err := listxattr(path, nil, 0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"listxattr", path, "", err}
|
return nil, &Error{"xattr.List", path, "", err}
|
||||||
}
|
}
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
|
|
||||||
|
@ -35,25 +35,25 @@ func Listxattr(path string) ([]string, error) {
|
||||||
// Read into buffer of that size.
|
// Read into buffer of that size.
|
||||||
read, err := listxattr(path, &buf[0], size, 0)
|
read, err := listxattr(path, &buf[0], size, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"listxattr", path, "", err}
|
return nil, &Error{"xattr.List", path, "", err}
|
||||||
}
|
}
|
||||||
return nullTermToStrings(buf[:read]), nil
|
return nullTermToStrings(buf[:read]), nil
|
||||||
}
|
}
|
||||||
return []string{}, nil
|
return []string{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setxattr associates name and data together as an attribute of path.
|
// Set associates name and data together as an attribute of path.
|
||||||
func Setxattr(path, name string, data []byte) error {
|
func Set(path, name string, data []byte) error {
|
||||||
if err := setxattr(path, name, &data[0], len(data), 0, 0); err != nil {
|
if err := setxattr(path, name, &data[0], len(data), 0, 0); err != nil {
|
||||||
return &XAttrError{"setxattr", path, name, err}
|
return &Error{"xattr.Set", path, name, err}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Removexattr removes the attribute associated with the given path.
|
// Remove removes the attribute associated with the given path.
|
||||||
func Removexattr(path, name string) error {
|
func Remove(path, name string) error {
|
||||||
if err := removexattr(path, name, 0); err != nil {
|
if err := removexattr(path, name, 0); err != nil {
|
||||||
return &XAttrError{"removexattr", path, name, err}
|
return &Error{"xattr.Remove", path, name, err}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
30
vendor/src/github.com/pkg/xattr/xattr_freebsd.go
vendored
30
vendor/src/github.com/pkg/xattr/xattr_freebsd.go
vendored
|
@ -10,61 +10,61 @@ const (
|
||||||
EXTATTR_NAMESPACE_USER = 1
|
EXTATTR_NAMESPACE_USER = 1
|
||||||
)
|
)
|
||||||
|
|
||||||
// Getxattr retrieves extended attribute data associated with path.
|
// Get retrieves extended attribute data associated with path.
|
||||||
func Getxattr(path, name string) ([]byte, error) {
|
func Get(path, name string) ([]byte, error) {
|
||||||
// find size.
|
// find size.
|
||||||
size, err := extattr_get_file(path, EXTATTR_NAMESPACE_USER, name, nil, 0)
|
size, err := extattr_get_file(path, EXTATTR_NAMESPACE_USER, name, nil, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"extattr_get_file", path, name, err}
|
return nil, &Error{"xattr.Get", path, name, err}
|
||||||
}
|
}
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
buf := make([]byte, size)
|
buf := make([]byte, size)
|
||||||
// Read into buffer of that size.
|
// Read into buffer of that size.
|
||||||
read, err := extattr_get_file(path, EXTATTR_NAMESPACE_USER, name, &buf[0], size)
|
read, err := extattr_get_file(path, EXTATTR_NAMESPACE_USER, name, &buf[0], size)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"extattr_get_file", path, name, err}
|
return nil, &Error{"xattr.Get", path, name, err}
|
||||||
}
|
}
|
||||||
return buf[:read], nil
|
return buf[:read], nil
|
||||||
}
|
}
|
||||||
return []byte{}, nil
|
return []byte{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listxattr retrieves a list of names of extended attributes associated
|
// List retrieves a list of names of extended attributes associated
|
||||||
// with the given path in the file system.
|
// with the given path in the file system.
|
||||||
func Listxattr(path string) ([]string, error) {
|
func List(path string) ([]string, error) {
|
||||||
// find size.
|
// find size.
|
||||||
size, err := extattr_list_file(path, EXTATTR_NAMESPACE_USER, nil, 0)
|
size, err := extattr_list_file(path, EXTATTR_NAMESPACE_USER, nil, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"extattr_list_file", path, "", err}
|
return nil, &Error{"xattr.List", path, "", err}
|
||||||
}
|
}
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
buf := make([]byte, size)
|
buf := make([]byte, size)
|
||||||
// Read into buffer of that size.
|
// Read into buffer of that size.
|
||||||
read, err := extattr_list_file(path, EXTATTR_NAMESPACE_USER, &buf[0], size)
|
read, err := extattr_list_file(path, EXTATTR_NAMESPACE_USER, &buf[0], size)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"extattr_list_file", path, "", err}
|
return nil, &Error{"xattr.List", path, "", err}
|
||||||
}
|
}
|
||||||
return attrListToStrings(buf[:read]), nil
|
return attrListToStrings(buf[:read]), nil
|
||||||
}
|
}
|
||||||
return []string{}, nil
|
return []string{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setxattr associates name and data together as an attribute of path.
|
// Set associates name and data together as an attribute of path.
|
||||||
func Setxattr(path, name string, data []byte) error {
|
func Set(path, name string, data []byte) error {
|
||||||
written, err := extattr_set_file(path, EXTATTR_NAMESPACE_USER, name, &data[0], len(data))
|
written, err := extattr_set_file(path, EXTATTR_NAMESPACE_USER, name, &data[0], len(data))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &XAttrError{"extattr_set_file", path, name, err}
|
return &Error{"xattr.Set", path, name, err}
|
||||||
}
|
}
|
||||||
if written != len(data) {
|
if written != len(data) {
|
||||||
return &XAttrError{"extattr_set_file", path, name, syscall.E2BIG}
|
return &Error{"xattr.Set", path, name, syscall.E2BIG}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Removexattr removes the attribute associated with the given path.
|
// Remove removes the attribute associated with the given path.
|
||||||
func Removexattr(path, name string) error {
|
func Remove(path, name string) error {
|
||||||
if err := extattr_delete_file(path, EXTATTR_NAMESPACE_USER, name); err != nil {
|
if err := extattr_delete_file(path, EXTATTR_NAMESPACE_USER, name); err != nil {
|
||||||
return &XAttrError{"extattr_delete_file", path, name, err}
|
return &Error{"xattr.Remove", path, name, err}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
28
vendor/src/github.com/pkg/xattr/xattr_linux.go
vendored
28
vendor/src/github.com/pkg/xattr/xattr_linux.go
vendored
|
@ -4,58 +4,58 @@ package xattr
|
||||||
|
|
||||||
import "syscall"
|
import "syscall"
|
||||||
|
|
||||||
// Getxattr retrieves extended attribute data associated with path.
|
// Get retrieves extended attribute data associated with path.
|
||||||
func Getxattr(path, name string) ([]byte, error) {
|
func Get(path, name string) ([]byte, error) {
|
||||||
// find size.
|
// find size.
|
||||||
size, err := syscall.Getxattr(path, name, nil)
|
size, err := syscall.Getxattr(path, name, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"getxattr", path, name, err}
|
return nil, &Error{"xattr.Get", path, name, err}
|
||||||
}
|
}
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
data := make([]byte, size)
|
data := make([]byte, size)
|
||||||
// Read into buffer of that size.
|
// Read into buffer of that size.
|
||||||
read, err := syscall.Getxattr(path, name, data)
|
read, err := syscall.Getxattr(path, name, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"getxattr", path, name, err}
|
return nil, &Error{"xattr.Get", path, name, err}
|
||||||
}
|
}
|
||||||
return data[:read], nil
|
return data[:read], nil
|
||||||
}
|
}
|
||||||
return []byte{}, nil
|
return []byte{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listxattr retrieves a list of names of extended attributes associated
|
// List retrieves a list of names of extended attributes associated
|
||||||
// with the given path in the file system.
|
// with the given path in the file system.
|
||||||
func Listxattr(path string) ([]string, error) {
|
func List(path string) ([]string, error) {
|
||||||
// find size.
|
// find size.
|
||||||
size, err := syscall.Listxattr(path, nil)
|
size, err := syscall.Listxattr(path, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"listxattr", path, "", err}
|
return nil, &Error{"xattr.List", path, "", err}
|
||||||
}
|
}
|
||||||
if size > 0 {
|
if size > 0 {
|
||||||
buf := make([]byte, size)
|
buf := make([]byte, size)
|
||||||
// Read into buffer of that size.
|
// Read into buffer of that size.
|
||||||
read, err := syscall.Listxattr(path, buf)
|
read, err := syscall.Listxattr(path, buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &XAttrError{"listxattr", path, "", err}
|
return nil, &Error{"xattr.List", path, "", err}
|
||||||
}
|
}
|
||||||
return nullTermToStrings(buf[:read]), nil
|
return nullTermToStrings(buf[:read]), nil
|
||||||
}
|
}
|
||||||
return []string{}, nil
|
return []string{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setxattr associates name and data together as an attribute of path.
|
// Set associates name and data together as an attribute of path.
|
||||||
func Setxattr(path, name string, data []byte) error {
|
func Set(path, name string, data []byte) error {
|
||||||
if err := syscall.Setxattr(path, name, data, 0); err != nil {
|
if err := syscall.Setxattr(path, name, data, 0); err != nil {
|
||||||
return &XAttrError{"setxattr", path, name, err}
|
return &Error{"xattr.Set", path, name, err}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Removexattr removes the attribute associated
|
// Remove removes the attribute associated
|
||||||
// with the given path.
|
// with the given path.
|
||||||
func Removexattr(path, name string) error {
|
func Remove(path, name string) error {
|
||||||
if err := syscall.Removexattr(path, name); err != nil {
|
if err := syscall.Removexattr(path, name); err != nil {
|
||||||
return &XAttrError{"removexattr", path, name, err}
|
return &Error{"xattr.Remove", path, name, err}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,12 @@ func Test_setxattr(t *testing.T) {
|
||||||
}
|
}
|
||||||
defer os.Remove(tmp.Name())
|
defer os.Remove(tmp.Name())
|
||||||
|
|
||||||
err = Setxattr(tmp.Name(), UserPrefix+"test", []byte("test-attr-value"))
|
err = Set(tmp.Name(), UserPrefix+"test", []byte("test-attr-value"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
list, err := Listxattr(tmp.Name())
|
list, err := List(tmp.Name())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ func Test_setxattr(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var data []byte
|
var data []byte
|
||||||
data, err = Getxattr(tmp.Name(), UserPrefix+"test")
|
data, err = Get(tmp.Name(), UserPrefix+"test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ func Test_setxattr(t *testing.T) {
|
||||||
t.Fail()
|
t.Fail()
|
||||||
}
|
}
|
||||||
|
|
||||||
err = Removexattr(tmp.Name(), UserPrefix+"test")
|
err = Remove(tmp.Name(), UserPrefix+"test")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue