X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fchcontext;h=dbb7ab43372dfaa5115232d25951acfaef64e505;hb=0478159dc2db320457f3d7da97a0d0dace0cce05;hp=3ec282e6637630cbafa3d4da63608c2ed558b498;hpb=4630c6af770b3765f72152da0d125320f854a014;p=util-vserver.git diff --git a/util-vserver/scripts/chcontext b/util-vserver/scripts/chcontext index 3ec282e..dbb7ab4 100755 --- a/util-vserver/scripts/chcontext +++ b/util-vserver/scripts/chcontext @@ -93,7 +93,7 @@ function showVersion() $"chcontext $PACKAGE_VERSION -- allocates/enters a security context This program is part of $PACKAGE_STRING -Copyright (C) 2003 Enrico Scholz +Copyright (C) 2004 Enrico Scholz This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty." exit $1 @@ -133,22 +133,28 @@ create_cmd=( $_VCONTEXT --create ${OPT_SILENT:+--silent} ${OPT_CTX:+--xid "$OPT_CTX"} ) -chain_cmd=( $_VATTRIBUTE -s - ${OPT_CAPS:+--cap "${OPT_CAPS[@]}"} - ${OPT_FLAGS:+--flag "${OPT_FLAGS[@]}"} - ${OPT_SECURE:+--secure} - - $_VUNAME -s - ${OPT_DOMAINNAME:+--domainname "$OPT_DOMAINNAME"} - ${OPT_HOSTNAME:+--nodename "$OPT_HOSTNAME"} ) - -migrate_cmd=( $_VCONTEXT --migrate-self +chain_cmd=() +test -z "$OPT_CAPS$OPT_FLAGS$OPT_SECURE" || \ + chain_cmd=( "${chain_cmd[@]}" + -- + $_VATTRIBUTE --set + ${OPT_CAPS:+--cap "${OPT_CAPS[@]}"} + ${OPT_FLAGS:+--flag "${OPT_FLAGS[@]}"} + ${OPT_SECURE:+--secure} ) + +test -z "$OPT_DOMAINNAME$OPT_HOSTNAME" || \ + chain_cmd=( "${chain_cmd[@]}" + -- + $_VUNAME -s + ${OPT_DOMAINNAME:+--domainname "$OPT_DOMAINNAME"} + ${OPT_HOSTNAME:+--nodename "$OPT_HOSTNAME"} ) + +migrate_cmd=( $_VCONTEXT ${OPT_SILENT:+--silent} - ${OPT_DISCONNECT:+--disconnect} - -- "$@" ) + ${OPT_DISCONNECT:+--disconnect} ) -"${create_cmd[@]}" "${chain_cmd[@]}" "${migrate_cmd[@]}" +"${create_cmd[@]}" "${chain_cmd[@]}" -- "${migrate_cmd[@]}" --migrate-self -- "$@" rc=$? -test "$rc" -ne 254 || exec "${migrate_cmd[@]}" +test "$rc" -ne 254 || exec "${migrate_cmd[@]}" --migrate -- "$@" exit $rc