X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fchcontext;h=9fa67cda3ac447c412ae9cf0e86ffe4a57a0e621;hb=faa778968d1a7dfeaebc9fe4b847e691dc62fd15;hp=a217646186f4a5eb44d2c1cddcf54f861687ee28;hpb=d8d67c780ee16f5ed0d815254b2dfd0b57b5bf65;p=util-vserver.git diff --git a/util-vserver/scripts/chcontext b/util-vserver/scripts/chcontext index a217646..9fa67cd 100755 --- a/util-vserver/scripts/chcontext +++ b/util-vserver/scripts/chcontext @@ -140,6 +140,9 @@ create_cmd=( $_VCONTEXT --create --silentexist chain_cmd=() +old_IFS=$IFS +IFS=,$IFS + test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \ chain_cmd=( "${chain_cmd[@]}" -- @@ -150,8 +153,8 @@ test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \ chain_cmd=( "${chain_cmd[@]}" -- $_VATTRIBUTE --set - ${OPT_CAPS:+--bcap "${OPT_CAPS[@]}"} - ${OPT_FLAGS:+--flag "${OPT_FLAGS[@]}"} + ${OPT_CAPS:+--bcap "${OPT_CAPS[*]}"} + ${OPT_FLAGS:+--flag "${OPT_FLAGS[*]}"} ${OPT_SECURE:+--secure} ) migrate_cmd=( $_VCONTEXT @@ -159,9 +162,15 @@ migrate_cmd=( $_VCONTEXT ${OPT_DISCONNECT:+--disconnect} $OPT_INITPID ) -"${create_cmd[@]}" "${chain_cmd[@]}" -- \ - "${migrate_cmd[@]}" --endsetup --migrate-self -- "$@" -rc=$? +IFS=$old_IFS + +if test -z "$OPT_CTX" || $_VSERVER_INFO -q "$OPT_CTX" XIDTYPE static; then + "${create_cmd[@]}" "${chain_cmd[@]}" -- \ + "${migrate_cmd[@]}" --endsetup --migrate-self -- "$@" + rc=$? +else + rc=254 +fi test "$rc" -ne 254 || exec "${migrate_cmd[@]}" --xid "$OPT_CTX" --migrate -- "$@" exit $rc