diff --git a/backend/dropbox/batcher.go b/backend/dropbox/batcher.go index e662faca4..098f0840c 100644 --- a/backend/dropbox/batcher.go +++ b/backend/dropbox/batcher.go @@ -12,8 +12,8 @@ import ( "sync" "time" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/async" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/files" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/async" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/files" "github.com/pkg/errors" "github.com/rclone/rclone/fs" "github.com/rclone/rclone/fs/fserrors" diff --git a/backend/dropbox/dropbox.go b/backend/dropbox/dropbox.go index 77274014a..8fd80f835 100755 --- a/backend/dropbox/dropbox.go +++ b/backend/dropbox/dropbox.go @@ -31,13 +31,13 @@ import ( "time" "unicode/utf8" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/auth" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/common" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/files" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/sharing" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/team" - "github.com/dropbox/dropbox-sdk-go-unofficial/dropbox/users" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/auth" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/common" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/files" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/sharing" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/team" + "github.com/dropbox/dropbox-sdk-go-unofficial/v6/dropbox/users" "github.com/pkg/errors" "github.com/rclone/rclone/backend/dropbox/dbhash" "github.com/rclone/rclone/fs" @@ -580,7 +580,7 @@ func NewFs(ctx context.Context, name, root string, m configmap.Mapper) (fs.Fs, e } // headerGenerator for dropbox sdk -func (f *Fs) headerGenerator(hostType string, style string, namespace string, route string) map[string]string { +func (f *Fs) headerGenerator(hostType string, namespace string, route string) map[string]string { if f.ns == "" { return map[string]string{} } @@ -794,7 +794,7 @@ func (f *Fs) listReceivedFiles(ctx context.Context) (entries fs.DirEntries, err fs: f, url: entry.PreviewUrl, remote: entryPath, - modTime: entry.TimeInvited, + modTime: *entry.TimeInvited, } if err != nil { return nil, err @@ -1169,14 +1169,7 @@ func (f *Fs) PublicLink(ctx context.Context, remote string, expire fs.Duration, } if expire < fs.DurationOff { expiryTime := time.Now().Add(time.Duration(expire)).UTC().Round(time.Second) - createArg.Settings.Expires = expiryTime - } - // FIXME note we can't set Settings for non enterprise dropbox - // because of https://github.com/dropbox/dropbox-sdk-go-unofficial/issues/75 - // however this only goes wrong when we set Expires, so as a - // work-around remove Settings unless expire is set. - if expire == fs.DurationOff { - createArg.Settings = nil + createArg.Settings.Expires = &expiryTime } var linkRes sharing.IsSharedLinkMetadata @@ -1750,7 +1743,8 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op commitInfo := files.NewCommitInfo(o.fs.opt.Enc.FromStandardPath(o.remotePath())) commitInfo.Mode.Tag = "overwrite" // The Dropbox API only accepts timestamps in UTC with second precision. - commitInfo.ClientModified = src.ModTime(ctx).UTC().Round(time.Second) + clientModified := src.ModTime(ctx).UTC().Round(time.Second) + commitInfo.ClientModified = &clientModified // Don't attempt to create filenames that are too long if cErr := checkPathLength(commitInfo.Path); cErr != nil { return cErr @@ -1775,7 +1769,7 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op // This will only happen if we are uploading async batches if entry == nil { o.bytes = size - o.modTime = commitInfo.ClientModified + o.modTime = *commitInfo.ClientModified o.hash = "" // we don't have this return nil } diff --git a/go.mod b/go.mod index 9c73ba916..7050bbdc1 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect github.com/dop251/scsu v0.0.0-20200422003335-8fadfb689669 - github.com/dropbox/dropbox-sdk-go-unofficial v1.0.1-0.20210114204226-41fdcdae8a53 + github.com/dropbox/dropbox-sdk-go-unofficial/v6 v6.0.3 github.com/form3tech-oss/jwt-go v3.2.5+incompatible // indirect github.com/gabriel-vasile/mimetype v1.3.1 github.com/go-chi/chi/v5 v5.0.3 diff --git a/go.sum b/go.sum index e6a4f4927..14bf5a934 100644 --- a/go.sum +++ b/go.sum @@ -173,8 +173,8 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/scsu v0.0.0-20200422003335-8fadfb689669 h1:e28M2/odOZjMc1J2ZZwgex6NM9+aqr1nMlTqPLayxbk= github.com/dop251/scsu v0.0.0-20200422003335-8fadfb689669/go.mod h1:Gth7Xev0h28tuTayG4HlTZy90IXhiDgV2+MLtJzjpP0= -github.com/dropbox/dropbox-sdk-go-unofficial v1.0.1-0.20210114204226-41fdcdae8a53 h1:HQ0F1AdtiOOtx4fv1bYYOBTrwQwxJh2tCWouwmvUjyo= -github.com/dropbox/dropbox-sdk-go-unofficial v1.0.1-0.20210114204226-41fdcdae8a53/go.mod h1:6zG+Yst2Q7BA8rp69tmHlCnt7BxeCyj3rno0B7hYq8k= +github.com/dropbox/dropbox-sdk-go-unofficial/v6 v6.0.3 h1:h71/Ky9+298V45NSkxjhFv0aGsFOtPvqr25vbr5yMB0= +github.com/dropbox/dropbox-sdk-go-unofficial/v6 v6.0.3/go.mod h1:rSS3kM9XMzSQ6pw91Qgd6yB5jdt70N4OdtrAf74As5M= github.com/dustin/go-humanize v0.0.0-20180421182945-02af3965c54e/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= @@ -787,7 +787,6 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=