From: Matt Joiner Date: Tue, 29 Apr 2025 02:01:10 +0000 (+1000) Subject: Extract file and dir perm constants X-Git-Tag: v1.59.0~184 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3517a7c15337f7fe72e007ae84abb6810b4e0cb4;p=btrtrc.git Extract file and dir perm constants --- diff --git a/storage/file.go b/storage/file.go index 2cacb1ac..d4df5511 100644 --- a/storage/file.go +++ b/storage/file.go @@ -186,9 +186,9 @@ func (fs *fileTorrentImpl) Close() error { } func fsync(filePath string) (err error) { - _ = os.MkdirAll(filepath.Dir(filePath), 0o777) + _ = os.MkdirAll(filepath.Dir(filePath), dirPerm) var f *os.File - f, err = os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, 0o666) + f, err = os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, filePerm) if err != nil { return err } @@ -212,7 +212,7 @@ func (fts *fileTorrentImpl) Flush() error { // writes will ever occur to them (no torrent data is associated with a zero-length file). The // caller should make sure the file name provided is safe/sanitized. func CreateNativeZeroLengthFile(name string) error { - os.MkdirAll(filepath.Dir(name), 0o777) + os.MkdirAll(filepath.Dir(name), dirPerm) var f io.Closer f, err := os.Create(name) if err != nil { @@ -274,9 +274,9 @@ func (fst fileTorrentImplIO) WriteAt(p []byte, off int64) (n int, err error) { // log.Printf("write at %v: %v bytes", off, len(p)) fst.fts.segmentLocater.Locate(segments.Extent{off, int64(len(p))}, func(i int, e segments.Extent) bool { name := fst.fts.files[i].safeOsPath - os.MkdirAll(filepath.Dir(name), 0o777) + os.MkdirAll(filepath.Dir(name), dirPerm) var f *os.File - f, err = os.OpenFile(name, os.O_WRONLY|os.O_CREATE, 0o666) + f, err = os.OpenFile(name, os.O_WRONLY|os.O_CREATE, filePerm) if err != nil { return false } diff --git a/storage/mmap.go b/storage/mmap.go index 1640a139..5c84f282 100644 --- a/storage/mmap.go +++ b/storage/mmap.go @@ -144,7 +144,7 @@ func mmapFile(name string, size int64) (_ FileMapping, err error) { return } var file *os.File - file, err = os.OpenFile(name, os.O_CREATE|os.O_RDWR, 0o666) + file, err = os.OpenFile(name, os.O_CREATE|os.O_RDWR, filePerm) if err != nil { return } diff --git a/storage/perms.go b/storage/perms.go new file mode 100644 index 00000000..f7c23cea --- /dev/null +++ b/storage/perms.go @@ -0,0 +1,11 @@ +package storage + +import ( + "os" +) + +// Default file permissions for writable OS files. +const ( + filePerm os.FileMode = 0o666 + dirPerm os.FileMode = 0o777 +)