Ryan Murray <[EMAIL PROTECTED]> writes:

> I upgraded the packages in stable to the security versions, the daemons
> said that they restarted, but didn't.  Note that start-stop-daemon in
> unstable will work with this combination of options, but it will not in
> stable.  lsof is useful here, as is a /usr that is normally mounted
> read-only.  You can't remount it back to read-only until all the old
> binaries are no longer in use.

Aha.  start-stop-daemon working differently in etch than in sarge would
explain it.

Here's a proposed patch for stable.  Sam, what do you think?

=== krb5/debian/changelog
==================================================================
--- krb5/debian/changelog       (revision 2257)
+++ krb5/debian/changelog       (local)
@@ -1,3 +1,13 @@
+krb5 (1.3.6-2sarge4) stable-proposed-updates; urgency=low
+
+  * In the krb5-kdc and krb5-admin-server init scripts, call
+    start-stop-daemon with --startas --name instead of --exec.  With
+    --exec, the running daemons weren't being correctly stopped on package
+    upgrades since the binary on disk had changed.  Thanks to Ryan Murray
+    for the report.
+
+ -- Russ Allbery <[EMAIL PROTECTED]>  Sun,  3 Sep 2006 21:06:35 -0700
+
 krb5 (1.3.6-2sarge3) stable-security; urgency=high
 
   * Add error checking to setuid, setreuid  to avoid local privilege
=== krb5/debian/krb5-admin-server.init
==================================================================
--- krb5/debian/krb5-admin-server.init  (revision 2257)
+++ krb5/debian/krb5-admin-server.init  (local)
@@ -31,12 +31,13 @@
        echo -n "Starting $DESC: "
 
        if [ "x$RUN_KADMIND" = "xtrue" ] ; then
-           start-stop-daemon --start --quiet \
-               --exec /usr/sbin/kadmind
+           start-stop-daemon --start --quiet --startas /usr/sbin/kadmind \
+                --name kadmind
            echo -n "kadmind"
            fi
        if [ "x$RUN_V5PASSWDD" = "xtrue" ] ; then
-           start-stop-daemon --quiet --start --exec /usr/sbin/v5passwdd
+           start-stop-daemon --quiet --start --startas /usr/sbin/v5passwdd \
+                --name v5passwdd
            echo -n " v5passwdd"
            fi
        echo "."
@@ -44,12 +45,11 @@
   stop)
        echo -n "Stopping $DESC: "
         if [ "x$RUN_KADMIND" =  "xtrue" ] ; then
-           start-stop-daemon --stop --quiet \
-               --exec /usr/sbin/kadmind
+           start-stop-daemon --stop --quiet --name kadmind
            echo -n "kadmind"
            fi
        if [ "x$RUN_V5PASSWDD" = "xtrue" ] ;then 
-           start-stop-daemon --stop --quiet --exec /usr/sbin/v5passwdd
+           start-stop-daemon --stop --quiet --name v5passwdd
            echo -n " v5passwdd"
            fi
        echo "."
@@ -75,21 +75,21 @@
        #
        echo -n "Restarting $DESC: "
         if [ "x$RUN_KADMIND" =  "xtrue" ] ; then
-           start-stop-daemon --stop --quiet \
-               --exec /usr/sbin/kadmind
+           start-stop-daemon --stop --quiet --name kadmind
            echo -n "kadmind"
            fi
        if [ "x$RUN_V5PASSWDD" = "xtrue" ] ;then 
-           start-stop-daemon --stop --quiet --exec /usr/sbin/v5passwdd
+           start-stop-daemon --stop --quiet --name v5passwdd
            echo -n " v5passwdd"
            fi
        sleep 1
        if [ "x$RUN_KADMIND" = "xtrue" ] ; then
-           start-stop-daemon --start --quiet \
-               --exec /usr/sbin/kadmind
+           start-stop-daemon --start --quiet --startas /usr/sbin/kadmind \
+                --name kadmind
            fi
        if [ "x$RUN_V5PASSWDD" = "xtrue" ] ; then
-           start-stop-daemon --quiet --start --exec /usr/sbin/v5passwdd
+           start-stop-daemon --quiet --start --startas /usr/sbin/v5passwdd \
+                --name v5passwdd
            fi
        echo "."
        ;;
=== krb5/debian/krb5-kdc.init
==================================================================
--- krb5/debian/krb5-kdc.init   (revision 2257)
+++ krb5/debian/krb5-kdc.init   (local)
@@ -35,21 +35,21 @@
   start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet \
-               --exec $DAEMON -- $ARGS
+               --startas $DAEMON --name $NAME -- $ARGS
        echo -n "$NAME"
        if [ "x$RUN_KRB524D" = "xtrue" ] ; then
-           start-stop-daemon --quiet --start --exec /usr/sbin/krb524d -- -m
+           start-stop-daemon --quiet --start \
+                --startas /usr/sbin/krb524d --name krb524d -- -m
            echo -n " krb524d"
            fi
        echo "."
        ;;
   stop)
        echo -n "Stopping $DESC: "
-       start-stop-daemon --stop --quiet \
-               --exec $DAEMON
+       start-stop-daemon --stop --quiet --name $NAME
        echo -n "$NAME"
        if [ "x$RUN_KRB524D" = "xtrue" ] ;then 
-           start-stop-daemon  --stop --quiet --exec /usr/sbin/krb524d
+           start-stop-daemon  --stop --quiet --name krb524d
            echo -n " krb524d"
            fi
        echo "."
@@ -74,16 +74,16 @@
        #       just the same as "restart".
        #
        echo -n "Restarting $DESC: "
-       start-stop-daemon --stop --quiet  \
-                --exec $DAEMON
+       start-stop-daemon --stop --quiet --name $NAME
        if [ "x$RUN_KRB524D" = "xtrue" ] ;then 
-           start-stop-daemon  --stop --quiet --exec /usr/sbin/krb524d
+           start-stop-daemon --stop --quiet --name krb524d
            fi
        sleep 1
-       start-stop-daemon --start --quiet --pidfile \
-               /var/run/$NAME.pid --exec $DAEMON -- $ARGS
+       start-stop-daemon --start --quiet \
+           --startas $DAEMON --name $NAME -- $ARGS
        if [ "x$RUN_KRB524D" = "xtrue" ] ; then
-           start-stop-daemon --quiet --start --exec /usr/sbin/krb524d -- -m
+           start-stop-daemon --quiet --start \
+                --startas /usr/sbin/krb524d --name krb524d -- -m
            echo -n " krb524d"
            fi
        echo "$NAME."

-- 
Russ Allbery ([EMAIL PROTECTED])               <http://www.eyrie.org/~eagle/>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to