all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Dominik Csapak <d.csapak@proxmox.com>
To: Stefan Sterz <s.sterz@proxmox.com>,
	Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup] tape: fix anchoring of datastore map regex
Date: Wed, 29 Mar 2023 13:54:55 +0200	[thread overview]
Message-ID: <7a52e4c5-c8ca-e9e9-8a62-3aaa5a1d38f0@proxmox.com> (raw)
In-Reply-To: <70fec0a4-ebc6-f3f6-cd2c-60bf13df4d01@proxmox.com>

On 3/29/23 13:50, Stefan Sterz wrote:
> On 3/29/23 12:06, Dominik Csapak wrote:
>> was missing. In practice it was not doing any harm, since we always
>> checked for an existing datastore with the target name anyway, and
>> if the source did not exists, we could not restore from that anyway.
>>
>> Both the source datastore on the tape, as well as the existing
>> datastores have to adhere to the correct regex.
>>
>> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
>> ---
>>   pbs-api-types/src/datastore.rs | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/pbs-api-types/src/datastore.rs b/pbs-api-types/src/datastore.rs
>> index 72e8d1ee..7f8c1f09 100644
>> --- a/pbs-api-types/src/datastore.rs
>> +++ b/pbs-api-types/src/datastore.rs
>> @@ -34,7 +34,7 @@ const_regex! {
>>       pub SNAPSHOT_PATH_REGEX = concat!(r"^", SNAPSHOT_PATH_REGEX_STR!(), r"$");
>>       pub GROUP_OR_SNAPSHOT_PATH_REGEX = concat!(r"^", GROUP_OR_SNAPSHOT_PATH_REGEX_STR!(), r"$");
>>   
>> -    pub DATASTORE_MAP_REGEX = concat!(r"(:?", PROXMOX_SAFE_ID_REGEX_STR!(), r"=)?", PROXMOX_SAFE_ID_REGEX_STR!());
>> +    pub DATASTORE_MAP_REGEX = concat!(r"^(:?", PROXMOX_SAFE_ID_REGEX_STR!(), r"=)?", PROXMOX_SAFE_ID_REGEX_STR!(), r"$");
> 
> small question: should the `(:?` be a non-capturing group (`(?:`) here
> instead? or am i missing something? afaict this would allow colons at
> the beginning of the source datastore, creating a similar problem as was
> fixed here, i'd assume.

yep, you're right, should be '(?:' instead


at least 2 other regex also have this wrong:

----
pub BLOCKDEVICE_NAME_REGEX = r"^(:?(:?h|s|x?v)d[a-z]+)|(:?nvme\d+n\d+)$";
----

and

----
pub TAPE_RESTORE_SNAPSHOT_REGEX = concat!(r"^", PROXMOX_SAFE_ID_REGEX_STR!(), r"
----

will send a patch...
> 
>>   }
>>   
>>   pub const CHUNK_DIGEST_FORMAT: ApiStringFormat = ApiStringFormat::Pattern(&SHA256_HEX_REGEX);
> 





  reply	other threads:[~2023-03-29 11:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-29 10:06 Dominik Csapak
2023-03-29 10:08 ` Thomas Lamprecht
2023-03-29 11:50 ` Stefan Sterz
2023-03-29 11:54   ` Dominik Csapak [this message]
2023-03-29 12:07     ` Thomas Lamprecht

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=7a52e4c5-c8ca-e9e9-8a62-3aaa5a1d38f0@proxmox.com \
    --to=d.csapak@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    --cc=s.sterz@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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal