From e152db228c569413013b8230e8c4a194b622277d Mon Sep 17 00:00:00 2001 From: Shane Nehring Date: Fri, 21 Mar 2025 12:31:11 -0500 Subject: [PATCH] Adding quotes around escapechar in ipmitool.tmpl - Fixes: #1802 Signed-off-by: Shane Nehring --- CHANGELOG.md | 1 + internal/pkg/bmc/bmc_test.go | 2 +- lib/warewulf/bmc/ipmitool.tmpl | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63650bc2..9ce56f03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Handle missing ipmi fields during bmc commands. #1768 - Properly configure a default IPMI template during `wwctl upgrade nodes --add-defaults`. - Fixed display of dotted field names. #1825 +- Add single quote around escapechar in ipmitool template #1830 ### Changed diff --git a/internal/pkg/bmc/bmc_test.go b/internal/pkg/bmc/bmc_test.go index fd6ae9e6..bff2d657 100644 --- a/internal/pkg/bmc/bmc_test.go +++ b/internal/pkg/bmc/bmc_test.go @@ -41,7 +41,7 @@ func Test_Ipmitool(t *testing.T) { Password: "calvin", }, }, - cmdStr: `ipmitool -I lanplus -e ~ -p 687 -H 192.168.1.100 -U "root" -P "calvin" chassis power status`, + cmdStr: `ipmitool -I lanplus -e "~" -p 687 -H 192.168.1.100 -U "root" -P "calvin" chassis power status`, }, "nobmc PowerStatus full": { bmc: TemplateStruct{ diff --git a/lib/warewulf/bmc/ipmitool.tmpl b/lib/warewulf/bmc/ipmitool.tmpl index 33412df9..85dce638 100644 --- a/lib/warewulf/bmc/ipmitool.tmpl +++ b/lib/warewulf/bmc/ipmitool.tmpl @@ -1,6 +1,6 @@ {{ $cmd := "ipmitool" }} {{ if .Interface }}{{ $cmd = cat $cmd "-I" .Interface }}{{ end }} -{{ if .EscapeChar }}{{ $cmd = cat $cmd "-e" .EscapeChar }}{{ end }} +{{ if .EscapeChar }}{{ $cmd = cat $cmd "-e" (printf "\"%s\"" .EscapeChar) }}{{ end }} {{ if .Port }}{{ $cmd = cat $cmd "-p" .Port }}{{ end }} {{ if .Ipaddr }}{{ $cmd = cat $cmd "-H" .Ipaddr }}{{ end }} {{ if .UserName }}{{ $cmd = cat $cmd "-U" (printf "\"%s\"" .UserName) }}{{ end }}