From: Folke Gleumes <f.gleumes@proxmox.com>
To: Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH v4 many] fix #4995: Include symlinks in zip file restore
Date: Mon, 29 Jan 2024 13:44:15 +0100 [thread overview]
Message-ID: <014673339f88b31a362d2f0ee666453ac978865c.camel@proxmox.com> (raw)
In-Reply-To: <20240124101519.30079-1-f.schauer@proxmox.com>
On Wed, 2024-01-24 at 11:15 +0100, Filip Schauer wrote:
> Include symlinks when restoring files from a backup as a zip file.
>
> Resulting ZIP files were successfully tested on Linux with: zipinfo,
> unzip, unar
>
> On Windows the extracted symlinks show up as regular files containing
> the path to the destination. As far as I am aware Windows Explorer
> does
> not support symlinks in ZIP files.
>
> Changes since v3:
> * Move content to Regular FileType enum
> * Make ZipEntry private
> * Add take_reader function to FileType enum
>
> Changes since v2:
> * Add a FileType enum and embed the symlink target into the enum.
> * Add unit tests for ZipEncoder to the proxmox-compression crate
>
> Changes since v1:
> * Use P instead of &Path
> * Fix compile error due to misplaced comma
> * Check content before symlink_target, since regular files are more
> common than symlinks
>
> proxmox:
>
> Filip Schauer (3):
> compression: Refactor ZipEntry creation and add FileType enum
> compression: Add support for symlinks in zip files
> compression: Add unit tests for the ZipEncoder
>
> proxmox-compression/Cargo.toml | 2 +-
> proxmox-compression/src/zip.rs | 159 +++++++++++++++++++----------
> --
> proxmox-compression/tests/zip.rs | 123 ++++++++++++++++++++++++
> 3 files changed, 223 insertions(+), 61 deletions(-)
> create mode 100644 proxmox-compression/tests/zip.rs
>
> proxmox-backup:
>
> Filip Schauer (2):
> pxar: Adopt FileType enum when adding a zip entry
> fix #4995: pxar: Include symlinks in zip file creation
>
> pbs-client/src/pxar/extract.rs | 59 +++++++++++++++++++++-----------
> --
> 1 file changed, 36 insertions(+), 23 deletions(-)
>
Tested this with some handcrafted directory/symlink structures and my
home directory for some organic data. Restore was tested on Windows 11
and Debian 12.
Everything worked as intended.
Tested-by: Folke Gleumes <f.gleumes@proxmox.com>
prev parent reply other threads:[~2024-01-29 12:44 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 10:15 Filip Schauer
2024-01-24 10:15 ` [pbs-devel] [PATCH v4 proxmox 1/3] compression: Refactor ZipEntry creation and add FileType enum Filip Schauer
2024-01-24 10:15 ` [pbs-devel] [PATCH v4 proxmox 2/3] compression: Add support for symlinks in zip files Filip Schauer
2024-01-24 10:15 ` [pbs-devel] [PATCH v4 proxmox 3/3] compression: Add unit tests for the ZipEncoder Filip Schauer
2024-01-24 10:15 ` [pbs-devel] [PATCH v4 backup 1/2] pxar: Adopt FileType enum when adding a zip entry Filip Schauer
2024-01-24 10:15 ` [pbs-devel] [PATCH v4 backup 2/2] fix #4995: pxar: Include symlinks in zip file creation Filip Schauer
2024-01-29 12:44 ` Folke Gleumes [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=014673339f88b31a362d2f0ee666453ac978865c.camel@proxmox.com \
--to=f.gleumes@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.