X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=rpcgssd.init;h=c39ec4e2d485ec4efa75c41c1a3269e05172b3c9;hb=a72845ed3d34e5439ea8696c85865556c64ca635;hp=cdf2d15379943ed8af7eb3186771c78ee55f65a4;hpb=e1c8bafb30e76657af56e3aa6344fbab3c32436f;p=packages%2Fnfs-utils.git diff --git a/rpcgssd.init b/rpcgssd.init index cdf2d15..c39ec4e 100644 --- a/rpcgssd.init +++ b/rpcgssd.init @@ -1,12 +1,10 @@ -#!/bin/bash +#!/bin/sh # -# rpcgssd Start up and shut down RPCSEC GSS daemon +# gssd Start up and shut down RPCSEC GSS daemon # -# Authors: Chuck Lever -# -# chkconfig: 345 15 81 -# description: Starts user-level daemon that manages RPCSEC GSS contexts \ -# for the NFSv4 client. +# chkconfig: 345 15 81 +# description: Starts user-level daemon that manages RPCSEC GSS contexts \ +# for the NFSv4 client. # Source function library. . /etc/rc.d/init.d/functions @@ -24,8 +22,8 @@ else exit 0 fi -if [ -x /sbin/pidof ] && [ "$1" != "stop" ]; then - [ -z "`/sbin/pidof portmap`" ] && nls "Error: portmap isn't running" && exit 0 +if [ "$1" != "stop" ]; then + check_portmapper || { nls "Error: portmap isn't running" && exit 0; } fi # Get service config @@ -39,48 +37,56 @@ is_yes "${SECURE_NFS}" || exit 0 # /usr may be on NFS, fail silently, nfsfs will start it [ -x /usr/sbin/rpc.gssd ] || exit 0 -RETVAL=0 +start() { + # Check if the service is already running? + if [ -f /var/lock/subsys/gssd ]; then + msg_already_running "RPC gssd" + return + fi + + if ! grep -q rpc_pipefs /proc/mounts; then + modprobe sunrpc >/dev/null 2>&1 + run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" \ + mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs + fi + # Load rpcsec modules + for i in ${SECURE_NFS_MODS}; do + _modprobe single die $i + done + msg_starting "RPC gssd" + daemon rpc.gssd $RPCGSSOPTIONS + RETVAL=$? + [ $RETVAL = 0 ] && touch /var/lock/subsys/gssd +} + +stop() { + if [ ! -f /var/lock/subsys/gssd ]; then + msg_not_running "RPC gssd" + return + fi + + msg_stopping "RPC gssd" + killproc rpc.gssd + rm -f /var/lock/subsys/gssd +} # See how we were called. +RETVAL=0 case "$1" in start) - # Check if the service is already running? - if [ ! -f /var/lock/subsys/gssd ]; then - if ! grep -q rpc_pipefs /proc/mounts ; then - modprobe -s sunrpc >/dev/null 2>&1 - run_cmd "Mounting /var/lib/nfs/rpc_pipefs filesystem" \ - mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs - fi - # Load rpcsec modules - for i in ${SECURE_NFS_MODS} ; do - _modprobe single die $i - done - msg_starting "RPC gssd" - daemon rpc.gssd $RPCGSSOPTIONS - RETVAL=$? - [ $RETVAL = 0 ] && touch /var/lock/subsys/gssd - else - msg_already_running "RPC gssd" - fi + start ;; stop) - if [ -f /var/lock/subsys/gssd ]; then - msg_stopping "RPC gssd" - killproc rpc.gssd - rm -f /var/lock/subsys/gssd - else - msg_not_running "RPC gssd" - fi + stop + ;; + restart|reload) + stop + start ;; status) status rpc.gssd RETVAL=$? ;; - restart|reload) - $0 stop - $0 start - RETVAL=$? - ;; *) msg_usage "$0 {start|stop|restart|status}" exit 1