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 2F01AB04A for ; Fri, 8 Sep 2023 16:01:24 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 11F8313411 for ; Fri, 8 Sep 2023 16:01:24 +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 for ; Fri, 8 Sep 2023 16:01:23 +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 3505E4328E for ; Fri, 8 Sep 2023 16:01:23 +0200 (CEST) Message-ID: <9adb5b07-fa2c-7543-1c28-7dcb9b664b4f@proxmox.com> Date: Fri, 8 Sep 2023 16:01:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Content-Language: en-US To: Thomas Lamprecht , Proxmox Backup Server development discussion References: <20230821074010.17442-1-g.goller@proxmox.com> From: Gabriel Goller In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.324 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 NICE_REPLY_A -1.473 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: [pbs-devel] [PATCH proxmox-backup] close #3777: api: Add source information to backup logs 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, 08 Sep 2023 14:01:24 -0000 On 9/7/23 18:53, Thomas Lamprecht wrote: > On 21/08/2023 09:40, Gabriel Goller wrote: >> This will show the ip-address of the client creating >> the backup in the logs. For example it will output: >> "starting new backup on datastore 'test1' from ::ffff:192.168.1.192: >> "host/test/2023-08-21T07:28:10Z"". >> >> Signed-off-by: Gabriel Goller >> --- >> src/api2/backup/mod.rs | 19 +++++++++++++++---- >> 1 file changed, 15 insertions(+), 4 deletions(-) >> >> diff --git a/src/api2/backup/mod.rs b/src/api2/backup/mod.rs >> index 652d5baa..0c996e62 100644 >> --- a/src/api2/backup/mod.rs >> +++ b/src/api2/backup/mod.rs >> @@ -214,10 +214,21 @@ fn upgrade_to_backup_protocol( >> env.debug = debug; >> env.last_backup = last_backup; >> >> - env.log(format!( >> - "starting new {} on datastore '{}': {:?}", >> - worker_type, store, path >> - )); >> + match rpcenv.get_client_ip() { > > could do: > > if let Some(ip) = rpcenv.get_client_ip().map(|addr| addr.ip()) { > > This all feels a bit bloated for what it does, and even if it seems like nitpicking, > such things can add up and make maintainability harder in the long run. > > You could get the actual IP via a .map and work on that, i.e., I'd to something like > either: > > let msg = if let Some(ip) = rpcenv.get_client_ip().map(|addr| addr.ip()) { > format!("starting new {worker_type} on datastore '{store}' from {ip}: {path:?}") > } else { > format!("starting new {worker_type} on datastore '{store}': {path:?}") > }; > env.log(msg); > > > or: > > let origin = match rpcenv.get_client_ip().map(|addr| addr.ip()) { > Some(ip) => format!(" from {ip}"), > None => "".into(), > }; > env.log(format!("starting new {worker_type} on datastore '{store}'{origin}: {path:?}")); > > > Where the latter reads slightly nicer IMO but has two allocation, maybe you got a better > idea. Second one looks better I think. > Oh, and for quite a few users the IPv4 mapped as IPv6 notation looks odd, so dropping the > ::ffff: prefix might be worth it, but no hard feelings, we can always change that if there > are complaints.. Noticed that too, but IMO staying 'correct' is more important than making the output pretty. But we can always change it later... >> + Some(address) => { >> + env.log(format!( >> + "starting new {} on datastore '{}' from {}: {:?}", >> + worker_type, store, address.ip(), path >> + )); >> + }, >> + None => { >> + env.log(format!( >> + "starting new {} on datastore '{}': {:?}", >> + worker_type, store, path >> + )); >> + > extra empty line here.. >> + } >> + } >> >> let service = >> H2Service::new(env.clone(), worker.clone(), &BACKUP_API_ROUTER, debug); >> Submitted a new patch.