From 729704bcb8f2b007111f31bdea9157e1c0ee3a50 Mon Sep 17 00:00:00 2001 From: Ivan Andreev Date: Thu, 7 Oct 2021 13:55:44 +0300 Subject: [PATCH] serve/docker: fix octal umask --- cmd/serve/docker/options.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmd/serve/docker/options.go b/cmd/serve/docker/options.go index 0c5dc6ae8..58c555d65 100644 --- a/cmd/serve/docker/options.go +++ b/cmd/serve/docker/options.go @@ -1,6 +1,7 @@ package docker import ( + "strconv" "strings" "github.com/rclone/rclone/cmd/mountlib" @@ -270,8 +271,14 @@ func getVFSOption(vfsOpt *vfscommon.Options, opt rc.Params, key string) (ok bool // unprefixed unix-only vfs options case "umask": - intVal, err = opt.GetInt64(key) - vfsOpt.Umask = int(intVal) + // GetInt64 doesn't support the `0octal` umask syntax - parse locally + var strVal string + if strVal, err = opt.GetString(key); err == nil { + var longVal int64 + if longVal, err = strconv.ParseInt(strVal, 0, 0); err == nil { + vfsOpt.Umask = int(longVal) + } + } case "uid": intVal, err = opt.GetInt64(key) vfsOpt.UID = uint32(intVal)