Correctly quote arguments to the installer in sipb-xen-vmcontrol
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-vmcontrol
index 1183134..6520940 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 # sipb-xen-vmcontrol MACHINE ACTION
 #
 # remctl should have already verified that the user is authorized to
@@ -19,18 +19,17 @@ case "$ACTION" in
        ;;
     destroy|shutdown)
        xm "$ACTION" "$MACHINE"
-       /usr/sbin/sipb-xen-update-conserver
+       /usr/sbin/sipb-xen-update-conserver </dev/null >/dev/null 2>&1 &
        ;;
     install|create|reboot)
-       ARG="$3"
-       shift; shift; shift; MOREARGS="$*"
+       shift; shift;
        if [ "$ACTION" = "reboot" ]; then
            xm destroy "$MACHINE" 2>/dev/null
        else
            xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
        fi
        if [ "$ACTION" = "install" ]; then
-           xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS"
+           xm create sipb-database machine_name="$ORIGMACHINE" installer_options="$(printf '%q ' "$@")"
 #      elif [ "$ACTION" = "copy" ]; then
 #           sipb-xen-duplicate ...etc...
        elif [ -n "$ARG" ]; then
@@ -38,7 +37,7 @@ case "$ACTION" in
        else
            xm create sipb-database machine_name="$ORIGMACHINE"
        fi
-       /usr/sbin/sipb-xen-update-conserver
+       (sleep 4; /usr/sbin/sipb-xen-update-conserver) </dev/null >/dev/null 2>&1 &
        ;;
     list-long)
        xm list --long "$MACHINE"