Skip to content

Commit fcf1ab0

Browse files
committed
🔒 Preserve encrypted asset access restrictions #18034
1 parent 0c25b9c commit fcf1ab0

4 files changed

Lines changed: 14 additions & 231 deletions

File tree

kernel/api/asset.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -478,13 +478,19 @@ func resolveAssetPath(c *gin.Context) {
478478
}
479479

480480
path := arg["path"].(string)
481-
p, err := model.PrepareAssetForOpen(path)
481+
p, err := model.GetAssetAbsPathInBox(path, "")
482482
if err != nil {
483483
ret.Code = -1
484484
ret.Msg = err.Error()
485485
ret.Data = map[string]any{"closeTimeout": 3000}
486486
return
487487
}
488+
if model.IsEncryptedAssetPath(p) {
489+
ret.Code = -1
490+
ret.Msg = model.Conf.Language(314)
491+
ret.Data = map[string]any{"closeTimeout": 3000}
492+
return
493+
}
488494
ret.Data = p
489495
return
490496
}

kernel/api/clipboard.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,20 @@ func writeFilePath(c *gin.Context) {
7272
return
7373
}
7474

75-
absPath, err := model.PrepareAssetForOpen(pathArg)
75+
absPath, err := model.GetAssetAbsPathInBox(pathArg, "")
7676
if err != nil {
7777
logging.LogErrorf("get asset [%s] abs path failed: %s", pathArg, err)
7878
ret.Code = -1
7979
ret.Msg = err.Error()
8080
ret.Data = map[string]any{"closeTimeout": 5000}
8181
return
8282
}
83+
if model.IsEncryptedAssetPath(absPath) {
84+
ret.Code = -1
85+
ret.Msg = model.Conf.Language(314)
86+
ret.Data = map[string]any{"closeTimeout": 5000}
87+
return
88+
}
8389

8490
if err = util.WriteFilePaths([]string{absPath}); err != nil {
8591
logging.LogErrorf("write file path to clipboard failed: %s", err)

kernel/model/asset_open.go

Lines changed: 0 additions & 117 deletions
This file was deleted.

kernel/model/asset_open_test.go

Lines changed: 0 additions & 112 deletions
This file was deleted.

0 commit comments

Comments
 (0)