From dc917cde8d06880110c8f8ee73c1043e3d054856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Tue, 13 Jul 2021 14:08:58 +0200 Subject: [PATCH] Use parent permissions when creating a directory --- pkg/storage/fs/owncloudsql/owncloudsql.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/storage/fs/owncloudsql/owncloudsql.go b/pkg/storage/fs/owncloudsql/owncloudsql.go index e89d7423ee8..862cfd837a4 100644 --- a/pkg/storage/fs/owncloudsql/owncloudsql.go +++ b/pkg/storage/fs/owncloudsql/owncloudsql.go @@ -941,11 +941,16 @@ func (fs *ocfs) CreateDir(ctx context.Context, sp string) (err error) { return err } mtime := time.Now().Unix() + + permissions := 31 // 1: READ, 2: UPDATE, 4: CREATE, 8: DELETE, 16: SHARE + if perm, err := fs.readPermissions(ctx, filepath.Dir(ip)); err == nil { + permissions = int(conversions.RoleFromResourcePermissions(perm).OCSPermissions()) // inherit permissions of parent + } data := map[string]interface{}{ "path": fs.toDatabasePath(ip), "etag": calcEtag(ctx, fi), "mimetype": "httpd/unix-directory", - "permissions": 31, // 1: READ, 2: UPDATE, 4: CREATE, 8: DELETE, 16: SHARE + "permissions": permissions, "mtime": mtime, "storage_mtime": mtime, }