From ff2787b613a7db70b979ee09284bdc713681a1ec Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 19 Jan 2024 15:52:37 +0100 Subject: [vmware-common] Improve handling of syntax errors in vmx --- .../openslx/vmchooser/plugins/vmware/includes/parse_vmx.inc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/parse_vmx.inc b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/parse_vmx.inc index f8eb7d5d..e19d5a4e 100644 --- a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/parse_vmx.inc +++ b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/parse_vmx.inc @@ -7,14 +7,16 @@ parse_vmx() { # it before continuing with filling in the gaps local TMPTMPCONFIG="$(mktemp)" grep -E '^\s*(#|[^=]+=[^"]*"[^"]*"\s*$|[^=]+=[^"]+$|$)' "$TMPCONFIG" > "$TMPTMPCONFIG" - if ! diff -q "$TMPCONFIG" "$TMPTMPCONFIG"; then + if ! cmp -s "$TMPCONFIG" "$TMPTMPCONFIG"; then # file was corrupted, log it writelog "'$TMPCONFIG' had bad syntax and was pruned by the post-download sanitizer!" - slxlog -s "virt-vmware-vmx-corrupt" "Downloaded .vmx for '$IMGUUID' has a corrupted format!" "$TMPCONFIG" + slxlog -s "virt-vmware-vmx-corrupt" "Downloaded .vmx for '$IMGUUID' has lines with invalid syntax!" "$TMPCONFIG" + mv -f -- "$TMPTMPCONFIG" "$TMPCONFIG" + else + rm -f -- "$TMPTMPCONFIG" fi - mv -f -- "$TMPTMPCONFIG" "$TMPCONFIG" - writelog "Parsing virtual machine description file..." + writelog "Parsing virtual machine description file for hwVersion..." local -i HW_VERSION=$(grep -i -m1 '^virtualHW.version *= *' "${TMPCONFIG}" | awk -F '=' '{print $2}' | sed -r 's/[^0-9]//g') if notempty HW_VERSION; then declare -g VM_HW_VERSION="${HW_VERSION}" -- cgit v1.2.3-55-g7522