enable 127.0.0.1 before checking for V3 support
authorneilbrown <neilbrown>
Mon, 16 Jun 2003 01:13:01 +0000 (01:13 +0000)
committerneilbrown <neilbrown>
Mon, 16 Jun 2003 01:13:01 +0000 (01:13 +0000)
ChangeLog
debian/nfs-kernel-server.init
etc/nodist/nfs-server
etc/redhat/nfs.init

index 0c3295c..d13952a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-06-16  NeilBrown  <neilb@cse.unsw.edu.au>
+
+       * debian/nfs-kernel-server.init,etc/nodist/nfs-server,
+       etc/redhat/nfs.init: when checking if V3 is supported, make sure
+       nfs server 'knows' about 127.0.0.1 first.
+       
 2003-06-10  Chip Salzenberg  <chip@pobox.com>
 
        * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug.
index 0fa19bb..43fb381 100755 (executable)
@@ -44,8 +44,24 @@ case "$1" in
                start-stop-daemon --start --quiet \
                    --exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT
                printf " mountd"
+               # make sure 127.0.0.1 is a valid source for requests
+               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=yes
+                 fi
+               fi
+
                $PREFIX/bin/rpcinfo -u localhost nfs 3 >/dev/null 2>&1 ||
                    RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3"
+
+               if [ -n "$ClearAddr" ]; then
+                        echo nfsd 127.0.0.1 1  > /proc/net/rpc/auth.unix.ip/channel
+               fi
+
                start-stop-daemon --start --quiet \
                    --exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS
                echo "."
index 4517937..8f1d34b 100755 (executable)
@@ -54,11 +54,24 @@ start)
     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
+    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
 
index e152626..ac45937 100755 (executable)
@@ -77,10 +77,22 @@ case "$1" in
        case $MOUNTD_NFS_V2 in
        auto|AUTO)
            # Let's see if we support NFS version 2.
+           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=yes
+             fi
+           fi
            /usr/sbin/rpcinfo -u localhost nfs 2 &>/dev/null
            if [ $? -ne 0 ]; then
                MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 2"
            fi
+           if [ -n "$ClearAddr" ]; then
+                  echo nfsd 127.0.0.1 1  > /proc/net/rpc/auth.unix.ip/channel
+           fi
            ;;
        no|NO)
            MOUNTD_OPTIONS="$MOUNTD_OPTIONS --no-nfs-version 2"