server(fs): keep file mode when extracting archive

This commit is contained in:
Matthew Penner
2021-07-15 15:37:38 -06:00
parent f422081695
commit 31ff3f8b56
5 changed files with 23 additions and 10 deletions

View File

@@ -13,9 +13,11 @@ import (
"emperror.dev/errors"
"github.com/cenkalti/backoff/v4"
"github.com/pterodactyl/wings/server/filesystem"
"github.com/juju/ratelimit"
"github.com/pterodactyl/wings/config"
"github.com/pterodactyl/wings/remote"
)
@@ -114,7 +116,7 @@ func (s *S3Backup) Restore(ctx context.Context, r io.Reader, callback RestoreCal
return err
}
if header.Typeflag == tar.TypeReg {
if err := callback(header.Name, tr); err != nil {
if err := callback(header.Name, tr, header.FileInfo().Mode()); err != nil {
return err
}
}