From: "Gabriel Goller" <g.goller@proxmox.com>
To: "Christian Ebner" <c.ebner@proxmox.com>,
"Proxmox Backup Server development discussion"
<pbs-devel@lists.proxmox.com>
Subject: Re: [pbs-devel] [PATCH v4 proxmox{, -backup} 0/2] close #4763: client: added command to forget backup group
Date: Thu, 18 Apr 2024 11:13:18 +0200 [thread overview]
Message-ID: <D0N4T5UHWJFU.3G9P11EB4ZNSH@proxmox.com> (raw)
In-Reply-To: <fdae22a8-7f9d-4a4e-a812-e06711f39ac5@proxmox.com>
On Wed Apr 17, 2024 at 4:15 PM CEST, Christian Ebner wrote:
> Hi,
> thanks for tackling this issue.
>
> The group forget command is something I missed quite a lot when doing
> testing on PBS with accumulating snapshots in a group an not wanting to
> fallback to the UI (I actually always went the route of deleting the
> snapshot folder).
>
> Tested the following:
> - Created a few backup snapshots, creating thereby a new backup group
> - Tried to delete the group while backup is running
> result was as expected: delete failed, missing lock error
> - Tried to delete the group while a restore is running
> result was as expected: delete failed, missing lock (although
> different from the previous one)
> - Tried to remove without any other task running
> result was as expected: group deleted, including the group folder in
> the datastore
> - Tried to delete empty group
> result was as expected: group deleted, including the group folder in
> the datastore
>
> Two further things I noticed:
>
> The confirmation dialog also allows me to type in `yolo` or any string
> starting with `yY` and nevertheless accepts this as valid confirmation
> input (similar for negation). Should we limit this further?
It seems 'apt' also matches just on the beginning character, but
nevertheless we can do this, wouldn't hurt restricting it more
I think adding a '$' on the regex should do the trick:
let no_regex: Regex = Regex::new("^[nN]$").unwrap();
> When one tries to delete a non existing group, the dialog asks me for
> confirmation, failing however afterwards with an error message, leaking
> also the datastore path to the client. While the former is not an issue
> and the intention is to be able to remove empty groups, the latter is
> not okay in my opinion.
> So either check if the group even exists before asking for confirmation,
> or map the error to not leak the datastore path.
The thing is that we don't differentiate between an empty group or a
nonexistent group — at least when using the api. This means that even
the list-groups api call will **not** return a group if it doesn't contain
any snapshots, but deleting it will succeed (because it still exists).
What we can do is obviously ignore the error message and simply return a
generic "failed to remove group" or "group not found" to avoid leaking
stuff. Although debugging a issue will be much harder with these vague
error messages.
IMO leaking the datastore is not a big issue, as the client can also
list task logs and the datastore path is going to be visible in there as
well.
> For the rest consider this:
>
> Tested-by: Christian Ebner <c.ebner@proxmox.com>
Thanks for testing this!
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next prev parent reply other threads:[~2024-04-18 9:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-07 12:51 Gabriel Goller
2023-12-07 12:51 ` [pbs-devel] [PATCH v4 proxmox 1/2] router: cli: added `ask_for_confirmation` helper Gabriel Goller
2023-12-07 12:51 ` [pbs-devel] [PATCH v4 proxmox-backup 2/2] close #4763: client: added command to forget backup group Gabriel Goller
2024-04-09 9:02 ` [pbs-devel] [PATCH v4 proxmox{, -backup} 0/2] " Gabriel Goller
2024-04-17 14:15 ` Christian Ebner
2024-04-17 14:26 ` Christian Ebner
2024-04-18 9:13 ` Gabriel Goller [this message]
2024-04-18 10:24 ` Christian Ebner
2024-04-18 11:49 ` Gabriel Goller
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=D0N4T5UHWJFU.3G9P11EB4ZNSH@proxmox.com \
--to=g.goller@proxmox.com \
--cc=c.ebner@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox