[pve-devel] [PATCH installer] run env: do not store emtpy hostname

Stoiko Ivanov s.ivanov at proxmox.com
Thu Nov 16 20:59:47 CET 2023


without this patch the hostname ends up as the empty string in
run-env-info.json, which results in a parse-error in the TUI code
(an empty string is not None, but still too short as hostname)

Minimally tested on a VM.

Fixes: bda1cdf699a3fcfc1cf3cfa446b1493689fc8eb8
Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
---
 Proxmox/Install/RunEnv.pm | 4 +++-
 Proxmox/Sys/Net.pm        | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Proxmox/Install/RunEnv.pm b/Proxmox/Install/RunEnv.pm
index 5f68d82..2d91401 100644
--- a/Proxmox/Install/RunEnv.pm
+++ b/Proxmox/Install/RunEnv.pm
@@ -268,7 +268,9 @@ sub query_installation_environment : prototype() {
     };
 
     # Cannot be put directly in the above hash as it might return undef ..
-    $output->{network}->{hostname} = Proxmox::Sys::Net::get_dhcp_hostname();
+    if ( my $hostname = Proxmox::Sys::Net::get_dhcp_hostname()) {
+	$output->{network}->{hostname} = $hostname;
+    }
 
     # FIXME: move whatever makes sense over to Proxmox::Sys::Net:: and keep that as single source,
     # it can then use some different structure just fine (after adapting the GTK GUI to that) but
diff --git a/Proxmox/Sys/Net.pm b/Proxmox/Sys/Net.pm
index 35d2abd..7415bf9 100644
--- a/Proxmox/Sys/Net.pm
+++ b/Proxmox/Sys/Net.pm
@@ -211,7 +211,7 @@ sub get_dhcp_hostname : prototype() {
     }
 
     close($fh);
-    return $1 if defined($name) && $name =~ m/^([^\.]+)(?:\.(?:\S+))?$/;
+    return $name if defined($name) && $name =~ m/^([^\.]+)(?:\.(?:\S+))?$/;
 }
 
 1;
-- 
2.39.2






More information about the pve-devel mailing list