Package: xen-utils-common
Version: 4.1.3~rc1+hg-20120614.a9c0a89c08f2-2
Severity: important


Please modify the init scripts in a manner similar to the following to give
the correct SE Linux labels.  Failing to correctly label them may result in
Xen not working correctly when SE Linux is enabled.

--- /etc/init.d/xen.orig        2012-06-24 10:29:04.000000000 +1000
+++ /etc/init.d/xen     2012-06-24 10:29:54.000000000 +1000
@@ -182,6 +182,7 @@
        start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec 
"$XENSTORED" --test > /dev/null \
                || return 1
        [ -d "$XENSTORED_DIR" ] || mkdir -p "$XENSTORED_DIR"
+       [ -x /sbin/restorecon ] && /sbin/restorecon "$XENSTORED_DIR"
        export XENSTORED_ROOTDIR="$XENSTORED_DIR"
        start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec 
"$XENSTORED" -- \
                $XENSTORED_ARGS --pid-file="$XENSTORED_PIDFILE" \
--- /etc/init.d/xendomains.orig 2012-06-24 10:29:08.000000000 +1000
+++ /etc/init.d/xendomains      2012-06-24 10:30:05.000000000 +1000
@@ -152,6 +152,7 @@
 {
   [ -n "$XENDOMAINS_SAVE" ] || return
   [ -d "$XENDOMAINS_SAVE" ] || mkdir -m 0700 -p "$XENDOMAINS_SAVE"
+  [ -x /sbin/restorecon ] && /sbin/restorecon "$XENDOMAINS_SAVE"
 
   while read id name rest; do
     log_action_begin_msg "Saving Xen domain $name ($id)"

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages xen-utils-common depends on:
ii  gawk            1:4.0.1+dfsg-2
ii  lsb-base        4.1+Debian7
ii  python          2.7.3~rc2-1
ii  ucf             3.0025+nmu3
ii  udev            175-3.1
ii  xenstore-utils  4.1.3~rc1+hg-20120614.a9c0a89c08f2-2

xen-utils-common recommends no packages.

xen-utils-common suggests no packages.

-- Configuration Files:
/etc/init.d/xen changed:
. /lib/init/vars.sh
. /lib/lsb/init-functions
XENSTORED_DIR="/var/run/xenstored"
[ -r /etc/default/xen ] && . /etc/default/xen
[ -r /etc/default/xend ] && . /etc/default/xend
PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESC="Xen daemons"
ROOT=$(/usr/lib/xen-common/bin/xen-dir 2>/dev/null)
if [ $? -ne 0 ]; then
        log_warning_msg "Not running within Xen or no compatible utils"
        exit 0
fi
TOOLSTACK=$(/usr/lib/xen-common/bin/xen-toolstack 2>/dev/null)
if [ $? -ne 0 ]; then
        log_warning_msg "No usable Xen toolstack selected"
        exit 0
fi
[ -e "$ROOT"/bin/xend ] && XEND="$ROOT"/bin/xend
XENCONSOLED="$ROOT"/bin/xenconsoled
XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid"
XENSTORED="$ROOT"/bin/xenstored
XENSTORED_PIDFILE="/var/run/xenstore.pid"
modules_setup()
{
        modprobe xenfs 2>/dev/null
        modprobe xen-evtchn 2>/dev/null
        modprobe xen-gntdev 2>/dev/null
}
xenfs_setup()
{
        [ -e "/proc/xen/capabilities" ] && return 0
        log_progress_msg "xenfs"
        [ -d "/proc/xen" ] || return 1
        mount -t xenfs xenfs /proc/xen || return 1
        return 0
}
capability_check()
{
        [ -e "/proc/xen/capabilities" ] || return 1
        grep -q "control_d" /proc/xen/capabilities || return 1
        return 0
}
xend_start()
{
        if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
                return 0
        fi
        log_progress_msg "xend"
        xend_start_real
        return $?
}
xend_stop()
{
        if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
                return 0
        fi
        log_progress_msg "xend"
        xend_stop_real
        return $?
}
xend_restart()
{
        if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
                return 0
        fi
        log_progress_msg "xend"
        xend_stop_real
        case "$?" in
                0|1)
                xend_start_real
                case "$?" in
                        0) ;;
                        *) return 2 ;;
                esac
                ;;
                *) return 2 ;;
        esac
        return 0
}
xend_start_real()
{
        $XEND status && return 1
        $XEND start || return 2
        i=0
        while [ $i -lt 10 ]; do
                $XEND status && return 0 || true
                i=$(($i + 1))
                sleep 1
        done
        return 2
}
xend_stop_real()
{
        log_progress_msg "xend"
        $XEND status || return 0
        $XEND stop || return 1
}
xenconsoled_start()
{
        log_progress_msg "xenconsoled"
        xenconsoled_start_real
        return $?
}
xenconsoled_stop()
{
        log_progress_msg "xenconsoled"
        xenconsoled_stop_real
        return $?
}
xenconsoled_restart()
{
        log_progress_msg "xenconsoled"
        xenconsoled_stop_real
        case "$?" in
                0|1)
                xenconsoled_start_real
                case "$?" in
                        0) ;;
                        *) return 2 ;;
                esac
                ;;
                *) return 2 ;;
        esac
        return 0
}
xenconsoled_start_real()
{
        start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" 
--exec "$XENCONSOLED" --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" 
--exec "$XENCONSOLED" -- \
                $XENCONSOLED_ARGS --pid-file="$XENCONSOLED_PIDFILE" \
                || return 2
}
xenconsoled_stop_real()
{
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
"$XENCONSOLED_PIDFILE" --name xenconsoled
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
"$XENCONSOLED"
        [ "$?" = 2 ] && return 2
        rm -f $PIDFILE
        return "$RETVAL"
}
xenstored_start()
{
        log_progress_msg "xenstored"
        start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec 
"$XENSTORED" --test > /dev/null \
                || return 1
        [ -d "$XENSTORED_DIR" ] || mkdir -p "$XENSTORED_DIR"
        [ -x /sbin/restorecon ] && /sbin/restorecon "$XENSTORED_DIR"
        export XENSTORED_ROOTDIR="$XENSTORED_DIR"
        start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec 
"$XENSTORED" -- \
                $XENSTORED_ARGS --pid-file="$XENSTORED_PIDFILE" \
                || return 2
        xenstore-write "/local/domain/0/name" "Domain-0"
}
case "$1" in
  start)
        log_daemon_msg "Starting $DESC"
        modules_setup
        xenfs_setup
        case "$?" in
                0) ;;
                *) log_end_msg 1; exit ;;
        esac
        capability_check
        case "$?" in
                0) ;;
                *) log_end_msg 255; exit ;;
        esac
        xenstored_start
        case "$?" in
                0|1) ;;
                *) log_end_msg 1; exit ;;
        esac
        xenconsoled_start
        case "$?" in
                0|1) ;;
                *) log_end_msg 1; exit ;;
        esac
        xend_start
        case "$?" in
                0|1) ;;
                *) log_end_msg 1; exit ;;
        esac
        log_end_msg 0
        ;;
  stop)
        capability_check
        case "$?" in
                0) ;;
                *) exit ;;
        esac
        log_daemon_msg "Stopping $DESC"
        ret=0
        xend_stop
        case "$?" in
                0|1) ;;
                *) ret=1 ;;
        esac
        xenconsoled_stop
        case "$?" in
                0|1) ;;
                *) ret=1 ;;
        esac
        log_end_msg $ret
        ;;
  restart|force-reload)
        capability_check
        case "$?" in
                0) ;;
                *) exit ;;
        esac
        log_daemon_msg "Restarting $DESC"
        ret=0
        xend_restart
        case "$?" in
                0|1) ;;
                *) ret=1 ;;
        esac
        xenconsoled_restart
        case "$?" in
                0|1) ;;
                *) ret=1 ;;
        esac
        log_end_msg $ret
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac
exit 0

/etc/init.d/xendomains changed:
. /lib/init/vars.sh
. /lib/lsb/init-functions
xen list &> /dev/null
if test $? -ne 0
then
        exit 0;
fi
if ! [ -e /proc/xen/privcmd ]; then
        exit 0
fi
[ -r /etc/default/xendomains ] && . /etc/default/xendomains
shopt -s nullglob
check_config_name()
{
  xen create --quiet --dryrun --defconfig "$1" | sed -n 's/^.*(name 
\(.*\))$/\1/p'
}
check_running()
{
  xen domid "$1" > /dev/null 2>&1
  return $?
}
timeout_coproc()
{
  TIMEOUT="$1"
  for no in $(seq 0 $TIMEOUT); do
    if [ -z "$COPROC_PID" ]; then return 0; fi
    sleep 1
    log_action_cont_msg
  done
  kill -INT "$COPROC_PID" >/dev/null 2>&1
  wait $COPROC_PID
  return 1
}
timeout_domain()
{
  name="$1"
  TIMEOUT="$2"
  for no in $(seq 0 $TIMEOUT); do
    if ! check_running "$name"; then return 0; fi
    sleep 1
    log_action_cont_msg
  done
  return 1
}
do_start_restore()
{
  [ -n "$XENDOMAINS_SAVE" ] || return
  [ -d "$XENDOMAINS_SAVE" ] || return
  [ -n "$XENDOMAINS_RESTORE" ] || return
  for file in $XENDOMAINS_SAVE/*; do
    if [ -f $file ] ; then
      name="${file##*/}"
      log_action_begin_msg "Restoring Xen domain $name (from $file)"
      out=$(xen restore "$file" 2>&1 1>/dev/null)
      case "$?" in
        0) 
          rm "$file"
          domains[$name]='started'
          log_action_end_msg 0
          ;;
        *) 
          domains[$name]='failed'
          log_action_end_msg 1
          echo "$out"
          ;;
      esac
    fi
  done
}
do_start_auto()
{
  [ -n "$XENDOMAINS_AUTO" ] || return
  [ -d "$XENDOMAINS_AUTO" ] || return
  for file in $XENDOMAINS_AUTO/*; do
    name="$(check_config_name $file)"
    if [ "${domains[$name]}" = started ]; then
      :
    elif check_running "$name"; then
      log_action_msg "Xen domain $name already running"
    else
      log_action_begin_msg "Starting Xen domain $name (from $file)"
      if [ "${domains[$name]}" = failed ]; then
        log_action_end_msg 1 "restore failed"
      else
        out=$(xen create --quiet --defconfig "$file" 2>&1 1>/dev/null)
        case "$?" in
          0) 
            log_action_end_msg 0
            ;;
          *) 
            log_action_end_msg 1
            echo "$out"
            ;;
        esac
      fi
    fi
  done
}
do_start() 
{
  declare -A domains
  do_start_restore
  do_start_auto
}
do_stop_migrate()
{
  [ -n "$XENDOMAINS_MIGRATE" ] || return
  while read id name rest; do
    log_action_begin_msg "Migrating Xen domain $name ($id)"
    coproc xen migrate $id $XENDOMAINS_MIGRATE 2>&1 1>/dev/null
    timeout_coproc "$XENDOMAINS_STOP_MAXWAIT"
    log_action_end_msg $?
  done < <(/usr/lib/xen-common/bin/xen-init-list)
}
do_stop_save()
{
  [ -n "$XENDOMAINS_SAVE" ] || return
  [ -d "$XENDOMAINS_SAVE" ] || mkdir -m 0700 -p "$XENDOMAINS_SAVE"
  [ -x /sbin/restorecon ] && /sbin/restorecon "$XENDOMAINS_SAVE"
  while read id name rest; do
    log_action_begin_msg "Saving Xen domain $name ($id)"
    coproc xen save $id $XENDOMAINS_SAVE/$name 2>&1 1>/dev/null
    timeout_coproc "$XENDOMAINS_STOP_MAXWAIT"
    log_action_end_msg $?
  done < <(/usr/lib/xen-common/bin/xen-init-list)
}
do_stop_shutdown()
{
  while read id name rest; do
    log_action_begin_msg "Shutting down Xen domain $name ($id)"
    xen shutdown $id 2>&1 1>/dev/null
    timeout_domain "$name" "$XENDOMAINS_STOP_MAXWAIT"
    log_action_end_msg $?
  done < <(/usr/lib/xen-common/bin/xen-init-list)
}
do_stop()
{
  do_stop_migrate
  do_stop_save
  do_stop_shutdown
}
case "$1" in
  start)
    do_start
    ;;
  stop)
    do_stop
    ;;
  restart)
    do_stop
    do_start
    ;;
  reload|force-reload)
    do_stop
    do_start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|reload|force-reload}"
    exit 3
    ;;
esac
exit 0


-- debconf-show failed



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to