From 47f4b05517677f4ca8d7d2782a66fc39909fbbca Mon Sep 17 00:00:00 2001 From: Andy Hsu Date: Thu, 15 Feb 2024 18:54:19 +0800 Subject: [PATCH] feat(sftp): allow ignore symlink error (close #6026) --- drivers/sftp/meta.go | 1 + drivers/sftp/types.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/drivers/sftp/meta.go b/drivers/sftp/meta.go index d77398f3..bdc3d827 100644 --- a/drivers/sftp/meta.go +++ b/drivers/sftp/meta.go @@ -11,6 +11,7 @@ type Addition struct { PrivateKey string `json:"private_key" type:"text"` Password string `json:"password"` driver.RootPath + IgnoreSymlinkError bool `json:"ignore_symlink_error" default:"false" info:"Ignore symlink error"` } var config = driver.Config{ diff --git a/drivers/sftp/types.go b/drivers/sftp/types.go index 70a03b98..493e884c 100644 --- a/drivers/sftp/types.go +++ b/drivers/sftp/types.go @@ -30,6 +30,14 @@ func (d *SFTP) fileToObj(f os.FileInfo, dir string) (model.Obj, error) { } _f, err := d.client.Stat(target) if err != nil { + if d.IgnoreSymlinkError { + return &model.Object{ + Name: f.Name(), + Size: f.Size(), + Modified: f.ModTime(), + IsFolder: f.IsDir(), + }, nil + } return nil, err } // set basic info