From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id CC6851FF173 for <inbox@lore.proxmox.com>; Mon, 27 Jan 2025 12:29:53 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3A30128540; Mon, 27 Jan 2025 12:29:33 +0100 (CET) From: Fiona Ebner <f.ebner@proxmox.com> To: pve-devel@lists.proxmox.com Date: Mon, 27 Jan 2025 12:29:13 +0100 Message-Id: <20250127112923.31703-7-f.ebner@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250127112923.31703-1-f.ebner@proxmox.com> References: <20250127112923.31703-1-f.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.044 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 T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pve-devel] [PATCH qemu-server v5 06/16] parse config: skip unknown sections and warn about their presence X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> Currently, keys in an unknown section will be interpreted as still belonging to the last section and might erroneously overwrite values in that way. Explicitly ignore unknown sections to avoid this while warning the user. Signed-off-by: Fiona Ebner <f.ebner@proxmox.com> --- PVE/QemuServer.pm | 8 ++++++++ test/parse-config-expected/unknown-sections.conf | 8 ++++---- .../unknown-sections.conf.strict.error | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d8bb21d6..e0cca0e4 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2251,8 +2251,16 @@ sub parse_vm_config { $finish_description->(); $conf = $res->{snapshots}->{$section->{name}} = {}; next; + } elsif ($line =~ m/^\[([^\]]*)\]\s*$/i) { + my $unknown_section = $1; + $section = undef; + $finish_description->(); + $handle_error->("vm $vmid - skipping unknown section: '$unknown_section'\n"); + next; } + next if !defined($section); + if ($line =~ m/^\#(.*)$/) { $descr = '' if !defined($descr); $descr .= PVE::Tools::decode_text($1) . "\n"; diff --git a/test/parse-config-expected/unknown-sections.conf b/test/parse-config-expected/unknown-sections.conf index 08f1a3e2..6329c33a 100644 --- a/test/parse-config-expected/unknown-sections.conf +++ b/test/parse-config-expected/unknown-sections.conf @@ -5,7 +5,7 @@ ide2: lvm:vm-120-cloudinit,media=cdrom ipconfig0: ip6=dhcp memory: 4096 meta: creation-qemu=9.0.2,ctime=1725975013 -name: foo +name: deb1223 net0: vmxnet3=BC:24:11:2C:69:EC,bridge=vnet0,firewall=1 numa: 0 ostype: l26 @@ -18,11 +18,11 @@ unused0: rbd:vm-120-disk-0 vmgenid: 7079e97c-50e3-4079-afe7-23e67566b946 [PENDING] -bios: seabios +bios: ovmf [special:cloudinit] ipconfig0: ip=dhcp,ip6=dhcp -name: bar +name: deb122 [foo] boot: order=scsi0 @@ -32,7 +32,7 @@ ide2: lvm:vm-120-cloudinit,media=cdrom ipconfig0: ip=dhcp,ip6=dhcp memory: 4096 meta: creation-qemu=9.0.2,ctime=1725975013 -name: baz +name: deb1223 net0: vmxnet3=BC:24:11:2C:69:EC,bridge=vnet0,firewall=1 numa: 0 ostype: l26 diff --git a/test/parse-config-expected/unknown-sections.conf.strict.error b/test/parse-config-expected/unknown-sections.conf.strict.error index e7004dc9..7f921a70 100644 --- a/test/parse-config-expected/unknown-sections.conf.strict.error +++ b/test/parse-config-expected/unknown-sections.conf.strict.error @@ -1 +1 @@ -vm 8006 - unable to parse config: [special:unknown123] +vm 8006 - skipping unknown section: 'special:unknown123' -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel