From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 0FF531FF0AE for ; Tue, 29 Sep 2026 15:25:50 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 47F0521636; Tue, 29 Sep 2026 15:25:48 +0200 (CEST) From: Arthur Bied-Charreton To: pve-devel@lists.proxmox.com Subject: [PATCH pve-firewall v2] api: aliases: make 'cidr' optional when updating Date: Tue, 29 Sep 2026 15:25:16 +0200 Message-ID: <20260929132534.479718-1-a.bied-charreton@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1790688339720 X-SPAM-LEVEL: Spam detection results: 0 AWL 1.350 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: GYGMUOSQ6MSDCVAFXQ6YNCAK4OPXHQON X-Message-ID-Hash: GYGMUOSQ6MSDCVAFXQ6YNCAK4OPXHQON X-MailFrom: a.bied-charreton@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Updating an alias required passing its CIDR, even when only renaming it. Clients therefore had to fetch the alias first just to send back the currently configured CIDR. Make 'cidr' optional in PUT .../firewall/aliases/{name} and keep the existing CIDR if none is passed. Signed-off-by: Arthur Bied-Charreton --- changes since v1: - fix subject line src/PVE/API2/Firewall/Aliases.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/PVE/API2/Firewall/Aliases.pm b/src/PVE/API2/Firewall/Aliases.pm index 4f6960d..9fd1348 100644 --- a/src/PVE/API2/Firewall/Aliases.pm +++ b/src/PVE/API2/Firewall/Aliases.pm @@ -215,7 +215,7 @@ sub register_update_alias { $properties->{name} = $api_properties->{name}; $properties->{rename} = $api_properties->{rename}; - $properties->{cidr} = $api_properties->{cidr}; + $properties->{cidr} = { $api_properties->{cidr}->%*, optional => 1 }; $properties->{comment} = $api_properties->{comment}; $properties->{digest} = get_standard_option('pve-config-digest'); @@ -251,7 +251,10 @@ sub register_update_alias { raise_param_exc({ name => "no such alias" }) if !$aliases->{$name}; - my $data = { name => $param->{name}, cidr => $param->{cidr} }; + my $data = { + name => $param->{name}, + cidr => $param->{cidr} // $aliases->{$name}->{cidr}, + }; $data->{comment} = $param->{comment} if $param->{comment}; $aliases->{$name} = $data; -- 2.47.3