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 4C2C076890 for ; Fri, 23 Apr 2021 13:23:42 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3BA1028574 for ; Fri, 23 Apr 2021 13:23:42 +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 928282856A for ; Fri, 23 Apr 2021 13:23:41 +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 5C86A42BA4 for ; Fri, 23 Apr 2021 13:23:41 +0200 (CEST) Date: Fri, 23 Apr 2021 13:23:40 +0200 From: Wolfgang Bumiller To: Fabian =?utf-8?Q?Gr=C3=BCnbichler?= Cc: pbs-devel@lists.proxmox.com Message-ID: <20210423112340.lmstzf6rhu7x5qia@wobu-vie.proxmox.com> References: <20210423110047.1416950-1-f.gruenbichler@proxmox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210423110047.1416950-1-f.gruenbichler@proxmox.com> User-Agent: NeoMutt/20180716 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.038 Adjusted score from AWL reputation of From: address 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] file-restore: add context to b64-decode error 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: , X-List-Received-Date: Fri, 23 Apr 2021 11:23:42 -0000 applied and replaced the .clone() with a reference On Fri, Apr 23, 2021 at 01:00:47PM +0200, Fabian Grünbichler wrote: > to make the following cryptic error: > > proxmox-file-restore failed: Error: Invalid byte 46, offset 5. > > more understandable: > > proxmox-file-restore failed: Error: Failed base64-decoding path '/root.pxar.didx' - Invalid byte 46, offset 5. > > when a user passes in a non-base64 path but sets `--base64`. > > Signed-off-by: Fabian Grünbichler > --- > > Notes: > this can happen via the PVE integration, which always sets the base64 flag > except for the special value '/'. > > src/bin/proxmox-file-restore.rs | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/src/bin/proxmox-file-restore.rs b/src/bin/proxmox-file-restore.rs > index 3d750152..bb8261bb 100644 > --- a/src/bin/proxmox-file-restore.rs > +++ b/src/bin/proxmox-file-restore.rs > @@ -47,7 +47,8 @@ enum ExtractPath { > > fn parse_path(path: String, base64: bool) -> Result { > let mut bytes = if base64 { > - base64::decode(path)? > + base64::decode(path.clone()) decode takes a `T: AsRef<[u8]>` which works fine for references, so this can just be base64::decode(&path) > + .map_err(|err| format_err!("Failed base64-decoding path '{}' - {}", path, err))? > } else { > path.into_bytes() > }; > -- > 2.20.1