]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - etc/nodist/nfs-server
enable 127.0.0.1 before checking for V3 support
[nfs-utils.git] / etc / nodist / nfs-server
index d95eadab78997a1ce51c0517d194a153828664ea..8f1d34b63aad3a6a94db86bbb674a665ef7cb3b8 100755 (executable)
@@ -3,7 +3,7 @@
 #       independent fashion.
 #
 # description:  starts and stops nfs server services
 #       independent fashion.
 #
 # description:  starts and stops nfs server services
-# chkconfig: 2345 99 01
+# chkconfig: 2345 60 20
 #
 # Copyright (c) 2000-2001 Mission Critical Linux, Inc.
 #
 #
 # Copyright (c) 2000-2001 Mission Critical Linux, Inc.
 #
@@ -50,10 +50,30 @@ start)
     $EXPORTFS -r
     echo "done."
 
     $EXPORTFS -r
     echo "done."
 
-    if /usr/sbin/rpcinfo -u localhost nfs 3 &>/dev/null 
+    echo -n "Starting $NFSD: "
+    startdaemon $PREFIX$NFSD $RPCNFSDCOUNT
+
+    # Disable NFSv3 on mountd if we don't have NFSv3
+    ClearAddr=
+    if [ -f /proc/net/rpc/auth.unix.ip/channel ] ; then
+      if   grep -s 127.0.0.1 /proc/net/rpc/auth.unix.ip/content > /dev/null ; then
+            : address already known
+      else
+             echo nfsd 127.0.0.1 2147483647 localhost > /proc/net/rpc/auth.unix.ip/channel
+            ClearAddr=
+      fi
+    fi
+    rpcinfo -u localhost nfs 3 &>/dev/null 
+    if [ "$?" != "0" ]
     then
         RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
     fi
     then
         RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
     fi
+    if [ -n "$ClearAddr" ]; then
+          echo nfsd 127.0.0.1 1  > /proc/net/rpc/auth.unix.ip/channel
+    fi
+
+    echo -n "Starting $MOUNTD: "
+    startdaemon $MOUNTD $RPCMOUNTDOPTS
 
     # Start rquotad if it is set
     if [ -n "$RQUOTAD" ]
 
     # Start rquotad if it is set
     if [ -n "$RQUOTAD" ]
@@ -62,11 +82,6 @@ start)
         startdaemon $RQUOTAD
     fi
 
         startdaemon $RQUOTAD
     fi
 
-    echo -n "Starting $MOUNTD: "
-    startdaemon $MOUNTD $RPCMOUNTDOPTS
-    echo -n "Starting $NFSD: "
-    startdaemon $PREFIX$NFSD $RPCNFSDCOUNT
-
     # if this lock file doesn't exist, init won't even try to run
     # the shutdown script for this service on RedHat systems!
     # on non-RedHat systems, /var/lock/subsys may not exist.
     # if this lock file doesn't exist, init won't even try to run
     # the shutdown script for this service on RedHat systems!
     # on non-RedHat systems, /var/lock/subsys may not exist.