diff --git a/pkg/fileutil/fileutil.go b/pkg/fileutil/fileutil.go index 4cdb10d39..ee3acad96 100644 --- a/pkg/fileutil/fileutil.go +++ b/pkg/fileutil/fileutil.go @@ -25,9 +25,10 @@ import ( ) const ( - privateFileMode = 0600 - // owner can make/remove files inside the directory - privateDirMode = 0700 + // PrivateFileMode grants owner to read/write a file. + PrivateFileMode = 0600 + // PrivateDirMode grants owner to make/remove files inside the directory. + PrivateDirMode = 0700 ) var ( @@ -38,7 +39,7 @@ var ( // to dir. It returns nil if dir is writable. func IsDirWriteable(dir string) error { f := path.Join(dir, ".touch") - if err := ioutil.WriteFile(f, []byte(""), privateFileMode); err != nil { + if err := ioutil.WriteFile(f, []byte(""), PrivateFileMode); err != nil { return err } return os.Remove(f) @@ -62,7 +63,7 @@ func ReadDir(dirpath string) ([]string, error) { // TouchDirAll is similar to os.MkdirAll. It creates directories with 0700 permission if any directory // does not exists. TouchDirAll also ensures the given directory is writable. func TouchDirAll(dir string) error { - err := os.MkdirAll(dir, privateDirMode) + err := os.MkdirAll(dir, PrivateDirMode) if err != nil && err != os.ErrExist { return err } diff --git a/pkg/fileutil/lock_plan9.go b/pkg/fileutil/lock_plan9.go index 7432443bf..fee6a7c8f 100644 --- a/pkg/fileutil/lock_plan9.go +++ b/pkg/fileutil/lock_plan9.go @@ -21,7 +21,7 @@ import ( ) func TryLockFile(path string, flag int, perm os.FileMode) (*LockedFile, error) { - if err := os.Chmod(path, syscall.DMEXCL|0600); err != nil { + if err := os.Chmod(path, syscall.DMEXCL|PrivateFileMode); err != nil { return nil, err } f, err := os.Open(path, flag, perm) @@ -32,7 +32,7 @@ func TryLockFile(path string, flag int, perm os.FileMode) (*LockedFile, error) { } func LockFile(path string, flag int, perm os.FileMode) (*LockedFile, error) { - if err := os.Chmod(path, syscall.DMEXCL|0600); err != nil { + if err := os.Chmod(path, syscall.DMEXCL|PrivateFileMode); err != nil { return nil, err } for { diff --git a/pkg/fileutil/lock_test.go b/pkg/fileutil/lock_test.go index 2c4ed2da5..7c1dd8644 100644 --- a/pkg/fileutil/lock_test.go +++ b/pkg/fileutil/lock_test.go @@ -35,13 +35,13 @@ func TestLockAndUnlock(t *testing.T) { }() // lock the file - l, err := LockFile(f.Name(), os.O_WRONLY, 0600) + l, err := LockFile(f.Name(), os.O_WRONLY, PrivateFileMode) if err != nil { t.Fatal(err) } // try lock a locked file - if _, err = TryLockFile(f.Name(), os.O_WRONLY, 0600); err != ErrLocked { + if _, err = TryLockFile(f.Name(), os.O_WRONLY, PrivateFileMode); err != ErrLocked { t.Fatal(err) } @@ -51,7 +51,7 @@ func TestLockAndUnlock(t *testing.T) { } // try lock the unlocked file - dupl, err := TryLockFile(f.Name(), os.O_WRONLY, 0600) + dupl, err := TryLockFile(f.Name(), os.O_WRONLY, PrivateFileMode) if err != nil { t.Errorf("err = %v, want %v", err, nil) } @@ -59,7 +59,7 @@ func TestLockAndUnlock(t *testing.T) { // blocking on locked file locked := make(chan struct{}, 1) go func() { - bl, blerr := LockFile(f.Name(), os.O_WRONLY, 0600) + bl, blerr := LockFile(f.Name(), os.O_WRONLY, PrivateFileMode) if blerr != nil { t.Fatal(blerr) } diff --git a/pkg/fileutil/purge.go b/pkg/fileutil/purge.go index c051697e9..77d021a80 100644 --- a/pkg/fileutil/purge.go +++ b/pkg/fileutil/purge.go @@ -40,7 +40,7 @@ func PurgeFile(dirname string, suffix string, max uint, interval time.Duration, sort.Strings(newfnames) for len(newfnames) > int(max) { f := path.Join(dirname, newfnames[0]) - l, err := TryLockFile(f, os.O_WRONLY, 0600) + l, err := TryLockFile(f, os.O_WRONLY, PrivateFileMode) if err != nil { break } diff --git a/pkg/fileutil/purge_test.go b/pkg/fileutil/purge_test.go index 3cc622064..f3c10fc58 100644 --- a/pkg/fileutil/purge_test.go +++ b/pkg/fileutil/purge_test.go @@ -102,7 +102,7 @@ func TestPurgeFileHoldingLockFile(t *testing.T) { // create a purge barrier at 5 p := path.Join(dir, fmt.Sprintf("%d.test", 5)) - l, err := LockFile(p, os.O_WRONLY, 0600) + l, err := LockFile(p, os.O_WRONLY, PrivateFileMode) if err != nil { t.Fatal(err) }