From 312181c3f67fdce2388f1f58cfc220c09b551c59 Mon Sep 17 00:00:00 2001 From: neilbrown Date: Mon, 16 Jun 2003 01:13:01 +0000 Subject: [PATCH] enable 127.0.0.1 before checking for V3 support --- ChangeLog | 6 ++++++ debian/nfs-kernel-server.init | 16 ++++++++++++++++ etc/nodist/nfs-server | 13 +++++++++++++ etc/redhat/nfs.init | 12 ++++++++++++ 4 files changed, 47 insertions(+) diff --git a/ChangeLog b/ChangeLog index 0c3295c..d13952a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-06-16 NeilBrown + + * 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 * support/nfs/xlog.c (xlog): Fix off-by-one buffer overflow bug. diff --git a/debian/nfs-kernel-server.init b/debian/nfs-kernel-server.init index 0fa19bb..43fb381 100755 --- a/debian/nfs-kernel-server.init +++ b/debian/nfs-kernel-server.init @@ -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 "." diff --git a/etc/nodist/nfs-server b/etc/nodist/nfs-server index 4517937..8f1d34b 100755 --- a/etc/nodist/nfs-server +++ b/etc/nodist/nfs-server @@ -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 diff --git a/etc/redhat/nfs.init b/etc/redhat/nfs.init index e152626..ac45937 100755 --- a/etc/redhat/nfs.init +++ b/etc/redhat/nfs.init @@ -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" -- 2.39.2