From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id B55251FF2AD for ; Wed, 3 Jul 2024 11:20:33 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 821BD4B66; Wed, 3 Jul 2024 11:20:50 +0200 (CEST) Date: Wed, 3 Jul 2024 11:20:46 +0200 From: Wolfgang Bumiller To: Gabriel Goller Message-ID: References: <20240619101546.109271-1-g.goller@proxmox.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240619101546.109271-1-g.goller@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.087 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] applied: [PATCH proxmox-backup 2/2] backup_manager: use confirmation helper in wipe-disk command X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Cc: pbs-devel@lists.proxmox.com Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" applied, but restored the newline that was droppped with the patch On Wed, Jun 19, 2024 at 12:15:44PM GMT, Gabriel Goller wrote: > Use `Confirmation` helper in the wipe-disk command prompt. > > Improves: 887d83cb (cli: add interactive confirmation for block device wipe, 2023-11-29) > Cc: Markus Frank > Signed-off-by: Gabriel Goller > --- > src/bin/proxmox_backup_manager/disk.rs | 23 +++++++++++------------ > 1 file changed, 11 insertions(+), 12 deletions(-) > > diff --git a/src/bin/proxmox_backup_manager/disk.rs b/src/bin/proxmox_backup_manager/disk.rs > index 9c55a989..d0fdfc6f 100644 > --- a/src/bin/proxmox_backup_manager/disk.rs > +++ b/src/bin/proxmox_backup_manager/disk.rs > @@ -3,7 +3,7 @@ use serde_json::Value; > > use proxmox_router::{cli::*, ApiHandler, RpcEnvironment}; > use proxmox_schema::api; > -use std::io::{IsTerminal, Write}; > +use std::io::IsTerminal; > > use pbs_api_types::{ > ZfsCompressionType, ZfsRaidLevel, BLOCKDEVICE_DISK_AND_PARTITION_NAME_SCHEMA, > @@ -155,17 +155,16 @@ async fn wipe_disk(mut param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result< > > // If we're on a TTY, query the user > if std::io::stdin().is_terminal() { > - println!("You are about to wipe block device {}.", param["disk"]); > - print!("Are you sure you want to continue? (y/N): "); > - let _ = std::io::stdout().flush(); > - use std::io::{BufRead, BufReader}; > - let mut line = String::new(); > - match BufReader::new(std::io::stdin()).read_line(&mut line) { > - Ok(_) => match line.trim() { > - "y" | "Y" => (), // continue > - _ => bail!("Aborting."), > - }, > - Err(err) => bail!("Failed to read line - {err}."), > + let confirmation = Confirmation::query_with_default( > + format!( > + "You are about to wipe block device {}. Are you sure you want to continue?", > + param["disk"] > + ) > + .as_str(), > + Confirmation::No, > + )?; > + if confirmation.is_no() { > + bail!("Aborting."); > } > } > > -- > 2.43.0 > > > > _______________________________________________ > pbs-devel mailing list > pbs-devel@lists.proxmox.com > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel > > _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel