[pbs-devel] applied series: [PATCH proxmox-backup 1/3] pxar: fix anchored exclusion at archive root

Wolfgang Bumiller w.bumiller at proxmox.com
Thu Nov 12 11:31:52 CET 2020


applied series

On Thu, Nov 12, 2020 at 10:03:50AM +0100, Fabian Ebner wrote:
> There is no leading slash in an entry's full_path, causing an anchored
> exclude at the root level to fail, e.g. having "/name" as the content of the
> file archive/root/.pxarexclude didn't match the file archive/root/name
> 
> Fix this by prepending a leading slash before matching.
> 
> Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
> ---
>  src/pxar/create.rs | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/pxar/create.rs b/src/pxar/create.rs
> index a16005ce..7c8e3edb 100644
> --- a/src/pxar/create.rs
> +++ b/src/pxar/create.rs
> @@ -443,9 +443,10 @@ impl<'a, 'b> Archiver<'a, 'b> {
>                  Err(err) => bail!("stat failed on {:?}: {}", full_path, err),
>              };
>  
> +            let match_path = PathBuf::from("/").join(full_path.clone());
>              if self
>                  .patterns
> -                .matches(full_path.as_os_str().as_bytes(), Some(stat.st_mode as u32))
> +                .matches(match_path.as_os_str().as_bytes(), Some(stat.st_mode as u32))
>                  == Some(MatchType::Exclude)
>              {
>                  continue;
> -- 
> 2.20.1





More information about the pbs-devel mailing list