rest/rclone/s3/sftp/swift: move short file detection behind feature gate

These backends tend to use a large variety of server implementations.
Some of those implementations might prove problematic with the new
checks.
This commit is contained in:
Michael Eischer
2024-05-12 11:55:34 +02:00
parent 6328b7e1f5
commit 394c8ca3ed
4 changed files with 8 additions and 4 deletions

View File

@@ -17,6 +17,7 @@ import (
"github.com/restic/restic/internal/backend/util"
"github.com/restic/restic/internal/debug"
"github.com/restic/restic/internal/errors"
"github.com/restic/restic/internal/feature"
"github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials"
@@ -404,7 +405,7 @@ func (be *Backend) openReader(ctx context.Context, h backend.Handle, length int,
return nil, err
}
if length > 0 {
if feature.Flag.Enabled(feature.BackendErrorRedesign) && length > 0 {
if info.Size > 0 && info.Size != int64(length) {
_ = rd.Close()
return nil, minio.ErrorResponse{Code: "InvalidRange", Message: "restic-file-too-short"}