From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 710156A0CC for ; Thu, 29 Jul 2021 17:23:33 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 62C7D9AB7 for ; Thu, 29 Jul 2021 17:23:03 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id A1A269AAA for ; Thu, 29 Jul 2021 17:23:01 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 777DA42C60 for ; Thu, 29 Jul 2021 17:23:01 +0200 (CEST) Message-ID: <71b9d5b9-6c4e-74b2-621e-40b141b79ea2@proxmox.com> Date: Thu, 29 Jul 2021 17:22:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.0 Content-Language: en-GB To: Proxmox VE development discussion , Lorenz Stechauner References: <20210628083709.2670310-1-l.stechauner@proxmox.com> Cc: =?UTF-8?Q?Fabian_Gr=c3=bcnbichler?= , Wolfgang Bumiller From: Thomas Lamprecht In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.525 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.277 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH storage] storage/plugin: factoring out regex for backup extension re X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jul 2021 15:23:33 -0000 On 22/07/2021 09:05, Lorenz Stechauner wrote: > ping > seems Ok in general, it's all a bit messy here with those different capture groups usage, but that was already the case before, just wishing a bit for redoing this the Nice Way™ with, from top of my head, no real idea about what that would look like ;P Any how, I'll leave that for Fabian or Wolfgang to look at.. > On 28.06.21 10:37, Lorenz Stechauner wrote: >> Signed-off-by: Lorenz Stechauner >> --- >>   PVE/Storage.pm        | 12 +++++++----- >>   PVE/Storage/Plugin.pm |  4 ++-- >>   2 files changed, 9 insertions(+), 7 deletions(-) >> >> diff --git a/PVE/Storage.pm b/PVE/Storage.pm >> index b8e6311..ec29b45 100755 >> --- a/PVE/Storage.pm >> +++ b/PVE/Storage.pm >> @@ -105,6 +105,8 @@ our $iso_extension_re = qr/\.(?:iso|img)/i; >>     our $vztmpl_extension_re = qr/\.tar\.([gx]z)/i; >>   +our $backup_extension_re = qr/\.(tgz|(?:(?:tar|vma)(?:\.(${\PVE::Storage::Plugin::COMPRESSOR_RE}))?))/i; >> + >>   #  PVE::Storage utility functions >>     sub config { >> @@ -583,7 +585,7 @@ sub path_to_volume_id { >>       } elsif ($path =~ m!^$privatedir/(\d+)$!) { >>           my $vmid = $1; >>           return ('rootdir', "$sid:rootdir/$vmid"); >> -    } elsif ($path =~ m!^$backupdir/([^/]+\.(?:tgz|(?:(?:tar|vma)(?:\.(?:${\PVE::Storage::Plugin::COMPRESSOR_RE}))?)))$!) { >> +    } elsif ($path =~ m!^$backupdir/([^/]+$backup_extension_re)$!) { >>           my $name = $1; >>           return ('backup', "$sid:backup/$name"); >>       } elsif ($path =~ m!^$snippetsdir/([^/]+)$!) { >> @@ -1468,15 +1470,15 @@ sub archive_info { >>       my $info; >>         my $volid = basename($archive); >> -    if ($volid =~ /^(vzdump-(lxc|openvz|qemu)-.+\.(tgz$|tar|vma)(?:\.(${\PVE::Storage::Plugin::COMPRESSOR_RE}))?)$/) { >> +    if ($volid =~ /^(vzdump-(lxc|openvz|qemu)-.+$backup_extension_re)$/) { >>       my $filename = "$1"; # untaint >> -    my ($type, $format, $comp) = ($2, $3, $4); >> -    my $format_re = defined($comp) ? "$format.$comp" : "$format"; >> +    my ($type, $extension, $comp) = ($2, $3, $4); >> +    (my $format = $extension) =~ s/\..*//; >>       $info = decompressor_info($format, $comp); >>       $info->{filename} = $filename; >>       $info->{type} = $type; >>   -    if ($volid =~ /^(vzdump-${type}-([1-9][0-9]{2,8})-(\d{4})_(\d{2})_(\d{2})-(\d{2})_(\d{2})_(\d{2}))\.${format_re}$/) { >> +    if ($volid =~ /^(vzdump-${type}-([1-9][0-9]{2,8})-(\d{4})_(\d{2})_(\d{2})-(\d{2})_(\d{2})_(\d{2}))\.${extension}$/) { >>           $info->{logfilename} = "$1.log"; >>           $info->{vmid} = int($2); >>           $info->{ctime} = timelocal($8, $7, $6, $5, $4 - 1, $3); >> diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm >> index b1865cb..9e7eb7d 100644 >> --- a/PVE/Storage/Plugin.pm >> +++ b/PVE/Storage/Plugin.pm >> @@ -522,7 +522,7 @@ sub parse_volname { >>       return ('vztmpl', $1); >>       } elsif ($volname =~ m!^rootdir/(\d+)$!) { >>       return ('rootdir', $1, $1); >> -    } elsif ($volname =~ m!^backup/([^/]+(?:\.(?:tgz|(?:(?:tar|vma)(?:\.(?:${\COMPRESSOR_RE}))?))))$!) { >> +    } elsif ($volname =~ m!^backup/([^/]+$PVE::Storage::backup_extension_re)$!) { >>       my $fn = $1; >>       if ($fn =~ m/^vzdump-(openvz|lxc|qemu)-(\d+)-.+/) { >>           return ('backup', $fn, $2); >> @@ -1055,7 +1055,7 @@ my $get_subdir_files = sub { >>           $info = { volid => "$sid:vztmpl/$1", format => "t$2" }; >>         } elsif ($tt eq 'backup') { >> -        next if $fn !~ m!/([^/]+\.(tgz|(?:(?:tar|vma)(?:\.(${\COMPRESSOR_RE}))?)))$!; >> +        next if $fn !~ m!/([^/]+$PVE::Storage::backup_extension_re)$!; >>           my $original = $fn; >>           my $format = $2; >>           $fn = $1; > > > _______________________________________________ > pve-devel mailing list > pve-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel > >